لینوکس


img/daneshnameh_up/1/1a/compics00168a.jpg



 

لینوکس(Linux) یک سیستم عامل رایانه ای مانند یونیکس است.لینوکس یکی از معروف‌ترین مثالهای نرم افزار آزاد و گسترش متن باز(open source) است. اگر بخواهیم دقیق باشیم فقط باید هسته لینوکس را لینوکس بنامیم اما به طور معمول این کلمه به سیستم عامل های یونیکس مانندی (یا گنو/لینوکسی) اطلاق می‌شود که بر مبنای هستهٔ لینوکس و کتاب‌خانه‌ها و ابزارهای پروژه گنو ساخته شده‌اند. به مجموعه‌ای از نرم‌افزارهای بنا شده بر اجزای گفته شده توزیع لینوکس (linux distribution) می‌گویند که به طور معمول شامل ابزارهای توسعه نرم افزار ، پایگاه های داده، سرویس دهنده های وب مثل آپاچی، محیط های رومیزی مثل گنوم و کی دی ای و مجموعه‌های اداری مثل اپن آفیس هستند.
لینوکس برای استفادهٔ ریزپردازنده‌ها با معماری ۸۰۳۸۶ اینتل طراحی شده بود اما امروزه انواع مختلف معماری‌ها را پشتیبانی می‌کند و در انواع و اقسام وسایل از کامپیوترهای شخصی گرفته تا ابررایانه‌ها و تلفن‌های همراه به کار می‌رود. این سیستم عامل که در ابتدا بیشتر توسط افراد مشتاق توسعه پیدا می‌کرد و به کار گرفته می‌شد توانسته‌است پشتیبانی شرکت‌های سرشناسی چون آی بی ام و هیولت-پاکارد را به دست آورد و با بسیاری از نسخه‌های خصوصی یونیکس رقابت کند. طرفداران لینوکس و بسیاری از تحلیل‌گران این موفقیت را ناشی از استقلال از فروشنده، کم هزینه بودن پیاده‌سازی،سرعت بالا, امنیت و قابلیت اطمینان آن می‌دانند.


 


تاریخچه


 

در سال ۱۹۸۴ میلادی ‏ریچارد استالمن که رئیس بنیاد نرم افزار آزاد بود پروژه گنو(GNU) را آغاز کرد. در این پروژه که یک جنبش نرم‌افزاری محسوب می‌شد برنامه‌نویسان با یکدیگر همکاری می‌کردند (این همکاری تا به حال نیز ادامه دارد).
آن زمان بیشتر ابزارهای پروژه گنو که با زبان برنامه نویسی C و اسمبلی نوشته شده بود آماده کار بود اما تنها چیزی که کم بود وجود یک سیستم‌عامل مناسب و رایگان بود. حتی سیستم‌عامل مینیکس نیز (با وجود در دسترس بودن متن کد آن) رایگان نبود و حق نشر مخصوص به خودش را داشت. کار در پروژه گنو به سمت طراحی یک هسته مناسب متمرکز می‌شد اما به نظر می‌رسید که برای ایجاد این هسته حداقل چند سال دیگر زمان احتیاج است.
این تأخیر برای لینوس قابل تحمل نبود. بنابر این خودش دست به کار شد و با الهام از کد مینیکس کار را آغاز کرد. سرانجام در ۲۵ اوت سال ۱۹۹۱ ساعت ۲۰و۵۷ دقیقه شب به وقت گرینویچ پیامی تاریخی به گروه خبری comp.os.minix ارسال شد. ارسال کننده این پیام کسی نبود جز «لینوس بندیک توروالدز». او یک دانشجوی فنلاندی بود که آن زمان در دانشگاه هلسینکی درس می‌خواند.
متن پیام او چنین بود:
«سلام به هر کس آن بیرون از مینیکس استفاده می‌کند.
در حال حاضر روی سیستم عاملی رایگان برای رایانه‌های AT (۴۸۶)۳۸۶ کار میکنم (فقط برای سرگرمی؛ مانند پروژه گنو بزرگ و حرفه‌ای نیست). از ماه آوریل کار را آغاز کرده‌ام و هم‌اکنون این سیستم‌عامل آماده است و کار می‌کند.
من دوست دارم از عقیدهٔ دیگران در مورد سیستم‌عاملم با خبر شوم. چه آنهایی که مینیکس را دوست دارند و چه آنهایی که آن را دوست ندارند. چرا که سیستم من تا حدی شبیه به آن است. در حال حاضر (۱٫۰۸)bash و(۱٫۴۰) gcc را بر روی آن دارم و چیزهای دیگری که به نظر می‌رسد همه درست کار می‌کنند. این بدان معناست که طی چند ماه آینده یک چیز کاربردی فراهم خواهم کرد.
دوست دارم بدانم که مردم به کدام یک از خصوصیات این سیستم بیشتر علاقمند هستند. به هر پیشنهاد و نظری خوش آمد می‌گویم اما قول نمی‌دهم که آن را انجام دهم! لینوس (torvalds@kruuna.helsinki.fi).
پ.ن. - بله آن رایگان است. البته قابل انتقال بر روی انواع دیگر رایانه نیست (چرا که دستورات AT۳۸۶ را به کار می‌برد) و ممکن است غیر از سخت‌دیسک AT چیز دیگری را پشتیبانی نکند. این همه چیزی است که من دارم!»
لینوکس مانند مینیکس (یک سیستم عامل ساده نوشته شده توسط پروفسور آندرو تاننبام که برای آموزش طراحی سیستم‌ عامل به کار می‌رفت) طراحی شده بود. اولین نسخهٔ لینوکس در سپتامبر ۱۹۹۱ بر روی اینترنت منتشر شد. دومین نسخه‌ٔ آن به فاصلهٔ کمی در اکتبر همان سال منتشر شد. از آن پس هزاران برنامه‌نویس (هکر) در سراسر دنیا در این پروژه شرکت کردند. مقالهٔ «کلیسای جامع و بازار» مدل توسعه هسته لینوکس و نرم افزارهای مشابه را تشریح می‌کند.
پنگوئن تاکس نشانه و مایه خوش شانسی لینوکس است. لینُس تُروالدز مالک علامت تجاری لینوکس است که به عنوان « نرم افزار سیستم عامل رایانه برای تسهیل در استفاده و عملیات رایانه » به ثبت رسیده‌است.




 


مجوز


 

هستهٔ لیونکس و اغلب بخش‌های گنو تحت اجازه نامه عمومی همگانی گنو (GPL) منتشر می‌شوند. GPL لازم می‌داند که تغییرات کد منبع و کارهای مشتق شده نیز تحت مجوز GPL منتشر شوند.


 


گنو/لینوکس


 

از آن‌جایی که ابزارهای گنو که بخش عمدهٔ توزیع‌های لینوکس را تشکیل می‌دهند از پروژه سیستم عامل آزاد گنو (که بسیار سابقه‌دارتر از هستهٔ لینوکس است) ریشه گرفته‌اند، ریچارد استالمن و بنیاد نرم افزار آزاد درخواست کرده‌اند که سیستم ترکیب شده (از هستهٔ لینوکس و ابزارهای گنو) بدون توجه به نام توزیع‌اش، گنو/لینوکس خوانده شود.
علیرغم این که بعضی از توزیع‌ها، گنو/لینوکس دبیان به طور خاص، از این نام استفاده می‌کنند بسیاری تنها به گفتن لینوکس اکتفا می‌کنند. تفاوت بین هستهٔ تروالدز و سیستمی که شامل این هسته‌است، همیشه باعث سردرگمی ست و نام‌گذاری همچنان بحث‌انگیز باقی مانده‌است.


 


توزیع‌های لینوکس


 

لینوکس تقریباً همیشه یکی از اجزاء یک توزیع لینوکس (Distro) است. توزیع‌های لینوکس توسط افراد، گروه‌های نه چندان متشکل و سازمانهای حرفه‌ای گوناگون ایجاد می‌شوند. این توزیع‌ها شامل تعدادی نرم افزار سیستم و برنامه‌های کاربردی به همراه روالی مشخص برای نصب آنها بر رایانه هستند. توزیع‌ها معمولاً برای منظورهای مختلفی از جمله محلی سازی، پشتیبانی از یک معماری خاص، کاربردهای بلادرنگ (real-time applications) و سامانه های توکار (embedded systems) به وجود می‌آیند و بعضی از آن‌ها آگاهانه تنها از نرم افزارهای آزاد استفاده می‌کنند.
یک توزیع همه-منظورهٔ معمولی شامل هسته لینوکس، کتاب خانه ها و ابزارهای گنو، پوسته های خط فرمان و انبوه بی شماری از نرم افزارهای کاربردی از مجموعه های اداری و سیستم های پنجره ای اکس گرفته تا مفسرها، ویرایش گرهای متن و ابزارهای علمی است.


 


گستره


 

در بیش از یک میلیارد دلار: برآورد اندازه گنو/لینوکس که مقاله تحقیقی است بر روی توزیع ردهت ۷٫۱، تعداد خطوط کد منبع (source lines of code – SLOC) را ۳۰ میلیون عنوان شده‌است. در این تحقیق با استفاده از روش (Constructive Cost Model – COCOMO) برآورد شده‌است که بر روی این توزیع حدود هشت میلیون نفر-سال کار توسعه انجام گرفته‌است. چنان که این نرم‌افزار توسط روش‌های متعارف خصوصی توسعه می‌یافت، هزینه‌ توسعه‌اش در ایالات متحده با روش‌های توسعه متعارف خصوصی بالغ بر ۱/۰۸ میلیارد دلار (با قیمت دلار سال ۲۰۰۰) می‌شد.
بخش اعظم کد (۷۱٪) توسط زبان برنامه نویسی C نوشته شده‌است اما از بسیاری از زبان‌های دیگر همچون ++C، لیسپ، اسمبلی، پرل، فرترن، پایتون و زبان‌های اسکریپت‌نویسی مختلف استفاده شده‌است. اندکی بیش از نیمی از خطوط کد تحت مجوز عمومی گنو (GPL) هستند. هسته لینوکس ۲٫۴ میلیون خط برنامه‌است و ۸٪ کل کد را تشکیل می‌دهد.
در پژوهشی که پس از آن انجام شد، به نام شمردن سیب زمینی‌ها: اندازه دِبی‌ین۲٫۲ همان تحلیل بر روی لینوکس دِبی‌ین ۲٫۲ انجام گرفت. این توزیع دارای بیش از پنجاه و پنج میلیون خط کد بود که هزینه‌ توسعه‌اش با روش‌های توسعه متعارف خصوصی بالغ بر ۱٫۹ میلیارد دلار (با قیمت دلار سال ۲۰۰۰) می‌شد.


 


کاربردهای سیستم عامل‌های شکل گرفته بر پایه لینوکس


 

در گذشته یک کاربر لینوکس برای پیکربندی و نصب سیستم خود، نیازمند دانش بالایی از رایانه بود. این دلیل به علاوه جذاب بودن دسترسی به درون سیستم ،باعث شده بود که به طور سنتی کاربران لینوکس را (بر خلاف کاربران ویندوز یا مَک‌اواِس) کسانی شکل بدهند که با تکنولوژی بیشتر دمخور هستند. افرادی که معمولاً با القاب «هکر» و «گیک» شناخته می‌شوند. این نگرش در سال‌های اخیر با افزایش راحتی کار در لینوکس و گسترده شدن استفاده از بسیاری از توزیع‌ها، اعتبار خود را از دست داده‌است. لینوکس در بازار سرورها و کاربردهای-ویژه (مانند پردازش تصویر و سرویس‌های وِب) پیشرفت قابل ملاحظه‌ای کرده و در حال ورود به بازار بزرگ رایانه‌های رومیزی است.
لینوکس اساس مجموعه نرم‌افزار سرور موسوم به لامپ (لینوکس), آپاچی, مایسیکوئل (MySQL), پرل/ php /پایتون) را تشکیل می‌دهد که میان توسعه‌دهندگان وب محبوبیت گسترده‌ای کسب کرده‌است.
از لینوکس همچنین اغلب در سیستم‌های کارگذاشته استفاده می‌شود. قیمت اندک آن باعث می‌شود انتخابی ایده‌آل برای ابزارهایی مانند سیمپیوتر (رایانه‌ای که برای جمعیت کم درآمد کشورهای در حال توسعه طراحی شده) باشد.
لینوکس با داشتن محیط‌های رومیزی مانند گنوم و کی دی ای، رابط کاربری همچون اپل مکینتاش و مایکروسافت ویندوز را در کنار دیگر محیط‌های گرافیکی و رابط خط فرمان یونیکس-مانند سنتی‌اش، عرضه می‌کند. هرچند نرم‌افزارهای گرافیکی لینوکس برای بسیاری از مصارف وجود دارند، در بسیاری زمینه‌ها نرم‌افزارهای خصوصی هنوز از گستره و میزان محبوبیت بیشتری برخوردارند.


 


نصب


 

در ابتدا، مشکل بودن نصب سیستم‌های بر پایه لینوکس مانعی برای پذیرش آن بود، اما در سال‌های اخیر نصب لینوکس بسیار آسان شده‌است. بسیاری از توزیع‌ها دارای نصبی آسان و قابل مقایسه با نسخه‌های ویندوز می‌باشند. علاوه بر این، رایانه‌های شخصی که با توزیع‌های لینوکس وارد بازار شده‌اند و به آسانی از بسیاری از فروشنده‌های اصلی، همچون هیولت- پاکارد و وال- مارت قابل تهیه می‌باشد.
بیشتر شیوه‌های عمومی نصب لینوکس، توسط همه توزیع‌های مهم پشتیبانی می‌شود، که شامل اجرا از طریق لوح فشرده، حاوی برنامه‌های نصب و راه‌اندازی نرم افزارها می‌باشد. این لوح فشرده می‌تواند از طریق تصویر استاندارد (ISO image) بارگدازی شده باشد، به تنهایی و به قیمت بسیار پائین خریداری شود، یا می‌تواند در مجموعه نرم افزارهای تجاری اضافی ارائه شود.
بعضی توزیع‌ها، همچون دبیان (Debian)، از طریق دستگاه‌های کوچکی مثل فلاپی دیسک، نیز قابل نصب هستند. پس از نصب ابتدایی بیشتر نرم افزارها از طریق اینترنت و لوح فشرده قابل بار گذاری و نصب می‌باشند.
بعضی توزیع‌ها، همچون کنوپیکس (Knoppix)، می‌توانند به صورت بی درنگ از طریق دیسک‌های زنده بسیار سریع تر از نصب بر روی دیسک سخت اجرا شوند. به این صورت که، یکبار از لوح فشرده راه اندازی می‌شود و می‌توان از لینوکس بدون هیچگونه تغییری در محتویات دیسک سخت استفاده کرد. به همین نحو بعضی توزیع‌های حداقل، همچون تامزروت‌بوت (Tomsrtbt)، بدون نیاز به تغییر محتویات دیسک سخت از طریق فلاپی دیسک، به صورت بی درنگ قابل اجرا می‌باشد.
همچنین بسیاری توزیع‌ها از راه انداری بر روی شبکه پشتیبانی می‌کنند، پس همه مراحل نصب و پیکربندی دستگاه می‌تواند بر روی شبکه انجام شود.




 


پیکربندی


 

بیشتر پیکربندی‌ها در پوشه‌ای با نام etc/ ذخیره شده‌است، در صورتیکه کاربر- مخصوص باشد، فایل‌های پنهان در پوشه خانه کاربر قرار دارد. تعدادی از برنامه‌ها از پایگاه داده پیکربندی به عوض فایل استفاده می‌کنند.
راه‌های بسیاری برای ایجاد تغییرات وجود دارد. آسان‌ترین راه، استفاده از ابزارهای آماده توزیع‌هایی همچون یاست (YaST) در (رایانه) (SuSE) یا مرکز کنترل در مندریک (Mandrake) استفاده کرد. انواع دیگر آن، مانند لینوکس‌کانف (Linuxconf)، ابزارهای سیستم گنوم، و وبمین (Webmin) برای توزیع‌های ویژه نیستند. آن‌ها شامل بسیاری از امکانات پیکربندی توسط خط فرمان می‌باشند.از آنجایی که به طور متداول اکثر تنظیمات در فایل‌های متنی ذخیره شده‌اند، آن‌ها را می‌توان با هر ویرایشگر متنی پیکر بندی نمود.


 


پشتیبانی


 

به طور معمول پشتیبانی فنی توسط فروشندگان تجاری و دیگر کاربران لینوکس در اجتماعات آنلاین، گروه‌های خبری و فهرست‌های پستی ارائه می‌شود. انجمن کاربران لینوکس (LUGs) در همه جهان به کاربران بسیاری یاری می‌رساند.
به طور کلی، مدل کسب و کار فروشندگان تجاری وابسته به پرداخت جهت پشتیبانی می‌باشد، مخصوصا برای کاربران تجاری.


 


توزیع‌های لینوکس

توزیع‌های گنو/لینوکس بسیار زیادند. هر توزیعی برای کاربردی خاص ایجاد شده در زیر به برخی از آن‌ها اشاره شده‌است:
• فدورا کُر
• لینوکس تجاری رِِدهَت
• ناپیکس
• دبیان
• اِسلَکوِر
• گِنتو
• لینسپایر (لیندوز قدیم)
• مندریوا (ماندریک قدیم)
• توربو لینوکس
• زوزه
• کانِکتیوا
• لیبرانت
• اوبونتو

لینوکس چیست؟

گنو/ لینوکس چیست؟ 
گنو/لینوکس یا بطور مختصر لینوکس یک سیستم عامل است. شما هم‌اکنون سیستم عاملی روی رایانه خود دارید و می‌دانید که سیستم عامل، مهمترین برنامه‌ی رایانه است که وظیفه‌ی مدیریت سایر برنامه‌ها، مدیریت سخت‌افزار و ارتباط میان نرم‌افزار با سخت‌افزار را بر عهده دارد. سیستم عامل شما ممکن است مایکروسافت ویندوز، نسخه‌ای از داس، اپل مکینتاش، یا نسخه‌ای از یونیکس باشد (سیستم عامل‌های دیگری نیز وجود دارند). گنو/لینوکس یک سیستم عامل شبیه یونیکس است که هسته‌ی آن توسط فردی با نام "لینوس توروالدس" که در اوایل دهه‌ی نود، دانشجوی دانشگاه هلسینکی فنلاند بود نوشته شد؛ و اولین نسخه‌ی آن در سال ۱۹۹۱ انتشار یافت. سپس نرم‌افزارهایی که پروژه‌ی "گنو" تهیه و تولید کرده بود، در کنار این هسته قرار گرفت، و سیستم عامل گنو/لینوکس را تشکیل داد. از آن جایی که بسیاری از نرم‌افزارهای مهم درون این سیستم، از محصولات پرو‌ژه‌ی گنو می‌باشد نام صحیح این سیستم عامل "گنو/لینوکس" است.
گنو/لینوکس مزیت‌های بسیاری نسبت به سایر سیستم عامل‌ها دارد. به طور خلاصه می‌توان نقاط قوت گنو/لینوکس را در امنیت بسیار بالا به دلیل وجود دیواره‌ی آتش در هسته‌ی سیستم عامل و همچنین وجود لایه‌های امنیتی مختلف در آن، تعداد انگشت شمار ویروس‌های رایانه‌ای شناخته شده برای آن، پایداری بسیار بالا به دلیل طراحی درست هسته، بدین صورت که اشکال در یک نرم‌افزار باعث ناپایداری کل سیستم نمی‌گردد، سرعت بالای سیستم عامل، به دلیل در دسترس بودن کد متن برنامه، و در نتیجه امکان کامپایل برنامه برای یک سخت‌افزار خاص، قیمت بسیار پایین آن، از آن‌جایی که خود سیستم عامل و اکثر نرم‌افزار‌های آن به رایگان در دسترس می‌باشند؛ خلاصه کرد. لینوکس همچنین یک هسته‌ی کاملا چند وظیفه‌ای می‌باشد، و از سال‌ها قبل از آنکه ویندوز به وجود آمده باشد و در زمانی که داس یک سیستم عامل تک وظیفه‌ای بود؛ این سیستم توانایی اجرای چند وظیفه به صورت همزمان را داشت. لینوکس سیستمی چند کاربری است، و این مفهوم را به حد اعلای خود رسانده، زیرا چند کاربر، می‌توانند از یک سیستم به طور همزمان و بدون دخالت در وظایف یکدیگر استفاده کنند. نسخه‌ی فعلی هسته‌ی لینوکس که نسخه‌ی ۴/۲ است، توانایی بهره‌وری از ۸ پردازنده را به صورت همزمان دارد، و این قابلیت در نسخه‌ی بعدی آن به ۱۶ پردازنده خواهد رسید.

مهمترین برتری گنو/لینوکس، نسبت به سیستم‌عامل‌های انحصاری آن است که این سیستم نرم‌افزار آزاد است. هیچ شرکت، دولت یا گروهی صاحب گنو/لینوکس نیست. شرکت‌ها و گروه‌های بسیاری اقدام به تولید مجموعه نرم‌افزارهای خود، که "پخش" نام دارد کرده‌اند. تعداد دقیق پخش‌های گنو/لینوکس مشخص نیست، اما آنچه که مسلم است آن است که بیش از ۲۰۰ پخش ثبت شده‌ی گنو/لینوکس وجود دارد. هر شخصی، با کمی دانش فنی و کمی وقت می‌تواند سیستم عامل گنو/لینوکس خودش را درست کند. با این وجود اکثرا افراد ترجیح می‌دهند که از پخش‌های از پیش ساخته شده استفاده کنند. از معروفترین پخش‌های گنو/لینوکس می‌توان به دبیان (Debian) ، رد هت (RedHat) ، مندریک (Mandrake) ، سوزه (SuSE) و جنتو (Gentoo) اشاره کرد.

گنو/لینوکس هم همانند مایکروسافت ویندوز، و در حقیقت همانند تمام سیستم‌عامل‌های دیگر بر روی دیسک سخت نصب می‌شود. در حقیقت، گنو/لینوکس تقریبا روی هر نوع سازه‌ی رایانه‌ای قابل نصب است. از سازه‌ی IA32 که اکثر ما از آن استفاده می‌کنیم، و شامل پردازنده‌های Intel و AMD می‌شود، تا سازه‌ی PowerPC (پردازنده‌های IBM و Motorola)، سازه‌ی Sparc (پردازنده‌های Sun)، سازه‌ی Alpha (پردازنده‌های HP)، و سازه‌های دیگری که ذکر آن‌ها در اینجا ضرورتی ندارد. گنو/لینوکس همچنین می‌تواند به آسانی در کنار سایر سیستم‌عامل‌‌ها از جمله مایکروسافت ویندوز، بر روی یک رایانه قرار گیرد. در این حالت شما یک رایانه‌ی به اصطلاح Multi Boot خواهید داشت، و هنگام روشن نمودن رایانه، سیستم‌عامل مورد نظرتان را انتخاب کرده و وارد آن می‌شوید.

آغاز داستان
در سال 1991 در حالی که جنگ سرد رو به پایان میرفت و صلح در افقها هویدا میشد، در دنیای کامپیوتر، آینده بسیار روشنی دیده میشد. با وجود قدرت سخت افزارهای جدید، محدودیت های کامپیوترها رو به پایان میرفت. ولی هنوز چیزی کم بود...

و این چیزی نبود جز فقدانی عمیق در حیطه سیستم های عامل.

داس، امپراطوری کامپیوترهای شخصی را در دست داشت. سیستم عامل بی استخوانی که با قیمت 50000 دلار از یک هکر سیاتلی توسط بیل گیتز (Bill Gates) خریداری شده بود و با یک استراتژی تجاری هوشمند، به تمام گوشه های جهان رخنه کرده بود. کاربران PC انتخاب دیگری نداشتند. کامپیوترهای اپل مکینتاش بهتر بودند. ولی قیمتهای نجومی، آنها را از دسترس اکثر افراد خارج می ساخت.


خیمه گاه دیگر دنیای کامپیوترها، دنیای یونیکس بود. ولی یونیکس به خودی خود بسیار گرانقیمت بود. آنقدر گرانقیمت که کاربران کامپیوترهای شخصی جرات نزدیک شدن به آنرا نداشتند. کد منبع یونیکس که توسط آزمایشگاههای بل بین دانشگاهها توزیع شده بود، محتاطانه محافظت میشد تا برای عموم فاش نشود. برای حل شدن این مسئله، هیچیک از تولید کنندگان نرم افزار راه حلی ارائه ندادند.

بنظر میرسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تاننباوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.

بعنوان یک سیستم عامل، MINIX خیلی خوب نبود. ولی مزیت اصلی آن، در دسترس بودن کد منبع آن بود. هرکس که کتاب سیستم عامل تاننباوم را تهیه میکرد، به 12000 خط کد نوشته شده به زبان C و اسمبلی نیز دسترسی پیدا میکرد. برای نخستین بار، یک برنامه نویس یا هکر مشتاق میتوانست کد منبع سیستم عامل را مطالعه کند. چیزی که سازندگان نرم افزارها آنرا محدود کرده بودند. یک نویسنده بسیار خوب، یعنی تاننباوم، باعث فعالیت مغزهای متفکر علوم کامپیوتری در زمینه بحث و گفتگو برای ایجاد سیستم عامل شد. دانشجویان کامپیوتر در سرتاسر دنیا با خواندن کتاب و کدهای منبع، سیستمی را که در کامپیوترشان در حال اجرا بود، درک کردند.

و یکی از آنها لینوس توروالدز (Linus Torvalds) نام داشت.

کودک جدید در افق
در سال 1991، لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله، عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار میدادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای بکار گیری در امور جدی.

در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروزه ایجاد حرکتی برای فراهم نمودن نرم افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه 70 آغاز نمود. تا اوایل دهه 80، بیشتر برنامه نویسان نخبه آزمایشگاههای هوش مصنوعی MIT جذب شرکتهای نرم افزاری تجاری شده بودند و با آنها قرارداد های حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت برخلاف سایر تولیدات، نرم افزار باید از محدودیت های کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم افزارهای بهتر و کارآمد تری تولید نمود.

با اعلامیه معروف خود در سال 1983، پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود. ابزاری مبهوت کننده برای برنامه نویسان مستقل. وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.

تا سال 1991 پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.

این زمان برای توروالدز بیش از حد طولانی بود...

در 25 آگوست 1991، این نامه تاریخی به گروه خبری MINIX از طرف توروالدز ارسال شد:

از : لینوس بندیکت توروالدز
به: گروه خبری MINIX
موضوع: بیشتر چه چیزی را میخواهید در MINIX ببینید؟
خلاصه: نظرخواهی کوچک در مورد سیستم عامل جدید من

با سلام به تمام استفاده کنندگان از MINIX
من در حال تهیه یک سیستم عامل رایگان فقط به عنوان سرگرمی و نه به بزرگی و حرفه ای GNU برای دستگاههای 386 و 486 هستم. این کار از آوریل شروع شده و درحال آماده شدن است. من مایلم تا نظرات کاربران را در مورد چیزهایی که در MINIX دوست دارند یا ندارند، جمع آوری کنم. زیرا سیستم عامل من حدودا شبیه آن است. مانند ساختار سیستم فایل مشابه و چیزهای دیگر... من اکنون bash نسخه 1.08 و GCC نسخه 1.40 را به آن منتقل کرده ام و به نظر میرسد که کار میکند. من در عرض چند ماه چیزی آزمایشی درست کرده ام و مایلم بدانم که کاربران بیشتر به چه قابلیتهایی نیاز دارند؟ من از هر پیشنهادی استقبال میکنم. ولی قول نمی دهم همه آنها را اجرا کنم. لینوس

همانطور که در این نامه پیداست، خود توروالدز هم باور نمی کرد که مخلوقش آنقدر بزرگ شود که چنین تحولی در دنیا ایجاد کند. لینوکس نسخه 0.01 در اواسط سپتامبر 1991 منتشر شد و روی اینترنت قرار گرفت. شور و اشتیاقی فراوان حول مخلوق توروالدز شکل گرفت. کدها دانلود شده، آزمایش شدند و پس از بهینه سازی به توروالدز بازگردانده شدند. لینوکس نسخه 0.02 در پنجم اکتبر به همراه اعلامیه معروف توروالدز آماده شد:

از : لینوس بندیکت توروالدز
به: گروه خبری MINIX
موضوع: کدهای منبع رایگان هسته مشابه MINIX

آیا شما از روزهای زیبای MINIX 1.1 محروم شده اید؟ هنگامی که مردها مرد بودند و راه اندازهای دستگاه خود را خودشان مینوشتند؟ آیا شما فاقد یک پروزه زیبا هستید و می میرید تا سیستم عاملی داشته باشید تا بتوانید آنرا مطابق با نیازهای خود در آورید؟ اگر اینگونه است، این نامه برای شما نوشته شده است.
همانطور که ماه پیش گفتم من در حال کار بر بروی یک سیستم عامل رایگان مشابه MINIX برای کامپیوترهای 386 هستم. این سیستم عامل اکنون بجایی رسیده است که قابل استفاده است و مایل هستم که کدهای منبع را در سطح گسترده تر پخش نمایم. این نسخه 0.02 است ولی من موفق شده ام که نرم افزارهای Bash، GCC، GNU-Make، GNU-sed، Compress و غیره را تحت آن اجرا کنم. کدهای منبع این پروژه را میتوانید از آدرس nic.funet.fi با آدرس 128.214.6.100 در دایرکتوری pub/OS/Linux پیدا کنید. این دایرکتوری همچنین دارای چند فایل README و تعدادی باینری قابل اجرا تحت لینوکس است. تمام کدهای منبع ارائه شده است زیرا هیچ یک از کدهای MINIX در آن استفاده نشده است. سیستم را میتوانید همانطور که هست کامپایل و استفاده کنید. کدهای منبع باینری ها را هم میتوانید در مسیر pub/GNU پیدا کنید.

لینوکس نسخه 0.03 پس از چند هفته آماده شد و تا دسامبر، لینوکس به نسخه 0.10 رسید. هنوز لینوکس فقط چیزی کمی بیشتر از یک فرم اسکلت بود. این سیستم عامل فقط دیسکهای سخت AT را پشتیبانی میکرد و ورود به سیستم نداشت و مستقیما به خط فرمان بوت میشد. نسخه 0.11 خیلی بهتر شد. این نسخه از صفحه کلیدهای چند زبانه پشتیبانی میکرد، دیسکهای فلاپی و کارتهای گرافیکی VGA، EGA، هرکولس و... نیز پشتیبانی میشدند. شماره نسخه ها از 0.12 به 0.95 و 0.96 افزایش پیدا کرد و ادامه یافت. بزودی کد آن بوسیله سرویس دهنده های FTP در فنلاند و مناطق دیگر، در سرتاسر جهان منتشر شد.

مقایسه و توسعه
بزودی توروالدز با مقایسه هایی از طرف اندرو تاننباوم، معلم بزرگی که MINIX را نوشته بود، مواجه شد. تاننباوم برای توروالدز مینویسد:

“من بر این نکته تاکید دارم که ایجاد یک هسته یکپارچه در سال 1991 یک اشتباه پایه ای بود. خدا را شکر که شما شاگرد من نیستید، واگر نه برای چنین طرحی نمره بالایی نمی گرفتید.”

توروالدز بعدا پذیرفت که این بدترین نکته در توسعه لینوکس بوده است. تاننباوم یک استاد مشهور بود و هرچه که می گفت واقعیت داشت. ولی وی در مورد لینوکس اشتباه میکرد. توروالدز کسی نبود که به این سادگی ها پذیرای شکست باشد.

تاننباوم همچنین گفته بود : “لینوکس منسوخ شده است”.

اکنون نوبت حرکت نسل جدید لینوکس بود. با پشتیبانی قوی از طرف اجتماع لینوکس، توروالدز یک پاسخ مناسب برای تاننباوم فرستاد :

“شغل شما استاد دانشگاه و محقق بودن است و این بهانه خوبی برای برخی مغز خرابکنی های MINIX است.”

و کار ادامه یافت. بزودی صدها نفر به اردوگاه لینوکس پیوستند. سپس هزاران نفر و سپس صدها هزار نفر. لینوکس دیگر اسباب بازی هکرها نبود. با پشتیبانی نرم افزارهای پروزه GNU، لینوکس آماده یک نمایش واقعی بود. لینوکس تحت مجوز GPL قرار داده شد. با این مجوز همه میتوانستند کدهای منبع لینوکس را به رایگان داشته باشند، بر روی آنها مطالعه کرده و آنها را تغییر دهند. دانشجویان و برنامه نویسان آنرا قاپیدند.

و خیلی زود تولید کنندگان تجاری وارد شدند. لینوکس به خودی خود رایگان بود و هست. کاری که این تولیدکنندگان انجام دادند، کامپایل کردن بخش ها و نرم افزارهای مختلف و ارائه آن بصورت یک فرمت قابل توزیع همانند سایر سیستم عاملها بود، تا مردم عادی نیز بتوانند از آن استفاده کنند. اکنون توزیع هایی مانند ردهت، دبیان و زوزه دارای بیشترین سهم کاربران در سرتاسر جهان هستند. با رابطهای گرافیکی کاربر جدید مانند KDE و GNOME، توزیع های لینوکس در بین مردم بسیار گسترش یافتند.

همچنین اتفاقات جالبی با لینوکس رخ میدهد. در کنار PC، لینوکس به روی اکثر پلاتفورمها منتقل شده است. لینوکس تغییر داده شد تا کامپیوتر دستی شرکت 3Com یعنی PalmPilot را اجرا نماید. تکنولوژی کلاستر کردن این امکان را بوجود آورد تا بتوان تعداد زیادی از ماشینهای لینوکس را به یک مجموعه واحد پردازشی تبدیل نمود. یک کامپیوتر موازی. در آوریل 1996 محققین آزمایشگاههای ملی لوس آلاموس از 68 کامپیوتر مبتنی بر لینوکس برای پردازش موازی و شبیه سازی موج انفجار اتمی استفاده کردند. ولی بر خلاف ابر کامپیوترهای دیگر، هزینه آنها بسیار ارزان تمام شد. ابرکامپیوتر خود ساخته آنها با تمام تجهیزات و سخت افزارها 152000 دلار هزینه در بر داشت و این یک دهم هزینه یک ابرکامپیوتر تجاری است. این ابرکامپیوتر به سرعت 16 بیلیون محاسبه در ثانیه دست یافت و به رتبه 315 ام این ابرکامپیوتر جهان دست پیدا کرد و صد البته یکی از پایدارترین آنها بود. پس از سه ماه از آغاز فعالیت، هنوز بوت نشده بود.

بهترین موردی که امروزه برای لینوکس وجود دارد، طرفداران متعصب آن هستند. هنگامی که یک قطعه سخت افزاری جدید ارائه میشود، هسته لینوکس برای استفاده از آن تغییر داده میشود. برای مثال هنگام ارائه پردازنده 64 بیتی شرکت AMD هسته به سرعت چند هفته برای کار با آن آماده شد. اکنون لینوکس بر روی تمام انواع خانواده های سخت افزاری موجود اعم از PC، MAC، Alpha و انواع سخت افزارهای درونه ای قابل اجراست که آنرا برای استفاده در ماشین آلات صنعتی و آلات و ادواتی که نیاز به پردازش کامپیوتری دارند، بسیار مناسب نموده است. لینوکس با همان فلسفه و هدفی که در سال 1991 ایجاد شد، وارد هزاره جدید شده است.

توروالدز، هنوز یک انسان ساده است. بر خلاف بیل گیتر او یک میلیاردر نیست. پس از اتمام مطالعاتش وی به آمریکا رفت تا با شرکت Transmeta همکاری نماید. پس از انجام یک پروژه فوق سری که توروالدز یکی از اعضای فعال آن بود، ترانسمتا پردازنده Cruose را با بازار ارائه کرد. توروالدز هنوز پرطرفدار ترین و مشهورترین برنامه نویس جهان است. در حال حاضر توروالدز ترانسمتا را ترک نموده و با حمایت شرکتهای بزرگ به طور تمام وقت بر روی لینوکس کار میکند.

پس از یک دهه : لینوکس امروز
امروزه لینوکس بیش از یک دهه توسعه را پشت سر گذاشته است و یکی از سریع التوسعه ترین سیستم های عامل به شما میرود. از چند کاربر انگشت شمار در سالهای 1991 و 1992، امروزه میلیونها کاربر از لینوکس استفاده میکنند. IBM که زمانی بزرگترین دشمن جماعت Open Source به شمار می رفت، اکنون سرمایه گذاری عظیمی در زمینه توسعه راه حل های Open Source تحت لینوکس نموده است. در حال حاضر تعداد توسعه دهندگانی که برای افزایش قابلیتهای لینوکس تلاش میکنند، روز به روز افزایش می یابد.

امروزه تعداد زیادی از شرکتها و موسسات حرفه ای تجاری، پشتیبانی از محصولات مبتنی بر لینوکس را بر عهده گرفته اند. اکنون دیگر استفاده از لینوکس در محیطها اداری، پذیرفتن ریسک نیست. از نظر قابلیت اطمینان و پایداری و همچنین حفاظت در برابر انواع ویروسها چیزی بهتر از لینوکس وجود ندارد. با تلاش شرکتهای بزرگی مانند ردهت استفاده از لینوکس در محیطهای تجاری توسعه فراوان یافته و اکنون تعداد زیادی از شرکتهای کوچک و بزرگ در حال استفاده از سرویس دهنده ها و ایستگاههای کاری مبتنی بر لینوکس هستند.

طلوع لینوکس روی میزی (Desktop Linux)
بزرگترین ایرادی که از لینوکس گرفته میشد چه بود؟ قبلا محیط تمام متنی لینوکس، بسیاری از کاربران را از استفاده کردن از آن بر حذر میداشت. با اینکه در استفاده از محیط متنی کنترل کامل سیستم در اختیار شماست، ولی این محیط اصلا برای کاربران عادی سیستمهای کامپیوتری مناسب نیست. محیط های گرافیکی که بر پایه X-Window وجود داشتند نیز پاسخ گوی امکاناتی که سیستم عاملهای گرافیکی مانند ویندوز برای کاربران خود ارائه میکردند، نبودند. ولی از چند سال گذشته این وضعیت در حال تغییر بوده است. اکنون محیطهای گرافیکی حرفه ای مانند KDE و GNOME تصویر لینوکس را کامل کرده اند. این محیطهای گرافیکی اکنون بسیار کاربر پسند و قدرتمند شده اند و وجود این سیستمهاست که امروزه کاربران عادی نیز میتوانند از لینوکس استفاده کنند.

لینوکس در جهان سوم
ورود لینوکس به کشورهای جهان سوم تحولی ایجاد نموده است. قبل از وجود لینوکس کشورهای جهان سومی در زمینه کامپیوتر در سطح بسیار پایین تری قرار داشتند. هزینه سخت افزارها بسیار پایین آمده بود ولی هزینه نرم افزار برای این گونه کشورها همچنان کمر شکن بود. این امر باعث شد تا در بسیاری از این کشورها کپی غیر مجاز نرم افزارها گسترش پیدا کند که باعث میلیاردها دلار خسارت سالیانه میشود. یکی از عمده ترین دلایل این کار پایین بودن درآمد سرانه در این کشورهاست. هنگامی که مجموع درآمد سرانه سالیانه بیش از 200 تا 300 دلار نیست، هیچگاه امکان خرید یک سیستم عامل 100 دلاری وجود نخواهد داشت.

طلوع لینوکس و سایر تولیدات باز متن، این وضعیت را تغییر داده است. این امکان وجود دارد تا بتوان لینوکس را در کامپیوترهای قدیمی 486 و پنتیوم که اکنون در کشورهای توسعه یافته به تاریخ پیوسته اند ولی هنوز در کشورهای درحال توسعه از آنها استفاده میشود، اجرا نمود. همچنین استفاده از نرم افزارهای رایگان بازمتن گسترش یافته تا جلوی هزینه های سرسام آور نرم افزاری این کشورها را بگیرد. امروزه در کشورهای آسیایی، آفریقایی و آمریکای لاتین استفاده از لینوکس و نرم افزارهای بازمتن گسترش فراوانی یافته و با استفاده از خصلت ذاتی تغییر پذیری لینوکس، برای استفاده از زبانهای ملی این کشورها سفارشی شده است. امروزه مستندات لینوکس به اکثر زبانهای زنده جهان ترجمه شده اند.

از میزکار تا ابرکامپیوترها
هنگامی که توروالدز لینوکس را ایجاد نمود، این مخلوق جدید، فقط یک اسباب بازی تازه برای هکرها بود. ولی از زمان دستگاههای 386 که نخستین هسته لینوکس بر روی آنها اجرا میشد، لینوکس راه درازی را طی نموده است. یکی از مهمترین استفاده های امروزی لینوکس استفاده از آن در پردازشهای سنگین موازی در ابرکامپیوترهاست. امروزه اکثر ابرکامپیوترهایی که در جهان ساخته میشوند، از لینوکس به عنوان سیستم عامل خود استفاده میکنند.

داستان ادامه دارد
حرکت لینوکس از یک پروزه هکری تا جهانی شدن یک انقلاب شگفت انگیز است. پروزه GNU که در اوایل دهه 1980 توسط ریچارد استالمن شروع شد، توسعه نرم افزارهای بازمتن را رهبری نمود. پروفسور اندرو تاننباوم و سیستم عامل MINIX او مطالعه سیستم عامل ها را از حالت تئوری به عملی تبدیل نمود و در نهایت همت و تلاش توروالدز منجر به تولد لینوکس شد. امروزه لینوکس دیگر یک پروزه هکری به شما نمی رود بلکه یک حرکت جهانی است که توسط میلیونها نفر برنامه نویس بازمتن و شرکتهای بزرگی مانند IBM حمایت میشود. لینوکس در تاریخ کامپیوتر به عنوان یکی از شگفت انگیز ترین محصولات تلاش بشری باقی خواهد ماند.

توکس پنگوئن : نشان عزیز لینوکس
نشان لینوکس یک پنگوئن است. برخلاف سایر سیستم عاملهای تجاری، این نشان زیاد جدی نیست! توکس نشانگر وضعیت بدون نگرانی حرکت لینوکس است. این نشان تاریخچه بسیار جالبی دارد. لینوکس در ابتدا فاقد هر گونه نشانی بود. هنگامی که توروالدز برای تعطیلات به استرالیا رفته بود، در دیداری که از یک باغ وحش داشت، هنگامی که می خواست با یک پنگوئن بازی کند، پنگوئن دست وی را گاز گرفت و همین ایده ای شد تا از پنگوئن به عنوان نشان لینوکس استفاده شود.