حمد و سپاس ایزد منان را که با الطاف بیکران خود این توفیق را به ما ارزانی داشت تا بتوانیم در راه ارتقای دانش عمومی و فرهنگ و به ویژه علوم کامپیوتر و انفورماتیک گامهایی هرچند کوچک برداریم.
امروزه گستردگی علوم و توسعه روزافزون آن شرایطی را به وجود آورده که هر روز شاهد تحولات اساسی و چشمگیر در سطح جهان هستیم. این مطلب را با مقدمه ای در مورد سیستم عامل شدن لینوکس آغاز می کنیم. درباره ی توسعه گذشته و آینده ی لینوکس صحبت خواهیم کرد و نگاهی دقیق به مزایا و معایب آن می پردازیم. در مورد توزیعات مختلف و همچنین سورس آزاد صحبت خواهیم کرد. این نوشته به سؤالاتی از این قبیل پاسخ می دهد:
1 لینوکس چیست؟
2 لینوکس کجا و چگونه آغاز شد؟
3 آیا لینوکس همان سیستم عاملی است که در آن همه چیز در حالت متنی انجام می شود؟
4 آیا لینوکس آینده درخشانی دارد؟
5 مزایای لینوکس چیست؟ معایت آن چیست؟
6 چند نوع لینوکس وجود دارد؟
7 جنبشهای opensource و GNU چیست؟
11 تاریخچه :
111 یونیکس :
برای درک عمومیت و محبوبیت لینوکس، باید حدود 30 سال به عقب برگردیم … تصور کنید که رایانه ها به بزرگی خانه ها یا حتی استادیوم ها هستند. زمانی که اندازه رایانه ها به خودی خود مشکلات فراوانی را پدید می آورد، معضل دیگری وجود داشت که مشکل را حادتر می کرد: هر رایانه سیستم عامل متفاوتی داشت و نرم افزارها تنها برای برآورده کردن یک هدف خاص ایجاد می شدند.
برنامه هایی که به یک رایانه داده می شد، روی سیستم مشکل آفرین بود. رایانه ها بسیار گران بودند و تازه پس از خریدن آن باید تلاش زیادی می شد تا به کاربران نحوه کار کردن با آن آموزش داده شود. در نتیجه هزینه نهایی بسیار بالا بود.
جهان از نظر فناوری آن قدر پیشرفته نبود تا رایانه های کوچکتر بسازد، بنابراین باید برای یک دهه دیگر آن اندازه ها را تحمل می کرد. در سال 1969 یک گروه از برنامه نویسان در آزمایشگاههای بل (Bell Labs) به فکر پیاده کردن راه حلی برای این مشکل افتادند تا بتوانند سازگاری نرم افزارها را سر و سامان بدهند.
آنها سیستم عاملی ایجاد کردند که:
1 ساده و جذاب بود.
2 با زبان برنامه نویسی C نوشته شده بود. (به جای اسمبلی)
3 قادر به بازیابی کُدها بود.
توسعه دهندگان نام این پروژه را unix نهادند.
قابلیت بازیابی کُد بسیار مهم بود. تا آن زمان، تمام رایانه های تجاری موجود با کُدی نوشته شده بود که اختصاصاً برای آن سیستم توسعه داده شده بود.
از این جهت یونیکس تنها به مقدار کمی از این کُدها نیاز داشت که امروزه عموماً به هسته (kernel) معروف است.
برای پایه ریزی یونیکس در هر سیستم، تنها به این مجموعه از کُدها نیاز بود. سیستم عامل و دیگر دستورات با استفاده از زبان سطح بالای C در این هسته ساخته شده بودند. این زبان انحصاراً برای توسعه یونیکس ایجاد شده بود. با استفاده از این تکنیک جدید، توسعه سیستم عاملی که بتواند بر روی سخت افزارهای مختلف اجرا شود، بسیار ساده تر بود. تولیدکنندگان نرم افزار به سرعت یونیکس را پذیرفتند. زیرا می توانستند با زحمت کمتر، ده برابر فروش بیشتر داشته باشند. وضعیت خارق العاده ای به وجود آمده بود. تصور کنید یارانه هایی از شرکت های مختلف در یک شبکه به هم متصل شده بودند یا کاربران بدون نیاز به آموزش اضافی، بر روی سیستم های مختلفی کار می کنند یونیکس نقش بزرگی در سازگار کردن کاربران با سیستم های مختلف ایفا کرد. طی دهه های بعد توسعه یونیکس ادامه یافت. امکان انجام کارهای بیشتر فراهم شد. سازندگان نرم افزار و سخت افزار بیشتری پشتیبانی یونیکس را به محصولات خود افزودند. یونیکس در ابتدا فقط بر روی محیط های بزرگ مانند Main Frame ها و Mini Computer ها پیدا می شد. (توجه داشته باشید که رایانه های شخصی Micro Computer ها هستند.) شما باید در یک دانشگاه و یا یک دولت و سازمان بزرگ اقتصادی کار می کردید تا بتوانید یونیکس را ببینید. اما رایانه های کوچکتر در حال توسعه بودند و تا پایان دهه 80 تعداد زیادی از مردم از رایانه های خانگی استفاده می کردند. در آن زمان نسخه های مختلفی از یونیکس برای کامپیوترهای شخصی به وجود آمده بود، اما هیچ یک واقعاً رایگان نبود.
662 لینوس و لینوکس :
لینوکس توروالدز، مرد جوانی که در رشته علوم رایانه دانشگاه هلسینکی تحصیل می کرد، به این فکر افتاد که ایجاد نسخه ای دانشگاهی و رایگان از یونیکس ایده بسیار خوبی خواهد بود. او خود شروع به کُدنویسی کرد:
(From:tor vabls @ klaava. Helsinki. FI (Linus Bendict torvalds)
Nems groups: Comp. OS. Minix
Subject:GCC – 7.40 and posix – question
< message="" –="" id:="">< 1997="" jul="" 307="" 7000="" 50.="" 9886="" @="">
Data: 3 Jul 97 70: 00: 50 GMT
Helli net landers
Due to a project I’m working on (minix)
I’m instered in the posix standard definition.
Please point mi to a (preferably) machine – readable
format of the latest posix rules? Ftp – sites wouldbenice.
او پرس و جو را در مورد چگونگی بکارگیری یونیکس در رایانه ی شخصی اش آغاز کرد. از ابتدا هدف لینوکس، توسعه یک سیستم عامل کاملاً رایثگان و سازگار با یونیکس اصلی بود. و این دلیل پرسش او در مورد استانداردهای posix است. posix همچنین استاندارد یونیکس است.
در آن زمان هنوز (plug and play ) pnp اختراع نشده بود و بسیاری از مردم علاقه داشتند که نسخه ای از یونیکس را روی رایانه خود داشته باشند و این تنها یک مانع کوچک بود. راه اندازهای جدیدی برای انواع مختلف سخت افزار در دسترس قرار می گرفت، که سخت افزار جدیدی بود.
هر کسی آن را می خرید و برای کردن در لینوکس، ارائه می کرد. کُدهای رایگان بیشتری برای گستره بزرگی از سخت افزارها در اختیار قرار گرفت. کار این برنامه نویسان هرگز متوقف نشد. چون هر سخت افزاری که پیدا می کردند می توانست برای لینوکس مفید باشد. در آن زمان این برنامه نویسان به neard ها و freak ها معروف بودند. اما این مطلب برای آنها اصلاً مهم نبود. (تا وقتی که لیست سخت افزارهای پشتیبانی شده طولانی تر می شد!) امروزه با کمک این افراد، لینوکس فقط برای سخت افزارهای قدیمی و عجیب و غریب است که در صورت عدم وجود لینوکس بلااستفاده می ماند. دو سال بعد از پیام لینوکس 12000 کاربر لینوکس وجود داشت. این پروژه در تمام مدتی که در محدوده استاندارد posix کار می کرد، به طور مداوم رشد می کرد. تمام ویژگی های یونیکس در سالهای بعد اضافه شد و حاصل آن سیستم عامل کنونی و کامل لینوکس است.