پایان نامه سال 1387
لینوکس، یك سیستم عامل قدرتمند، پایدار و رایگان است و هم اکنون توسط شرکت ها و سازمان های متعددی از سراسر جهان پشتیبانی و حمایت می شود. این سیستم عامل به صورت متن باز ارائه می شود و بدین ترتیب برنامه نویسان و دانشجویان به راحتی ميتوانند كدهاي آن را تغيير دهند. لينوكس يك سيستم عامل رايگان، سريع، پايدار،قابل اطمينان و انعطاف پذير است كه بر روي طيف وسيعي از كامپيوترها همانند كامپيوترهاي شخصي، ايستگاههاي كاري، سرويس دهنده ها و مسيرياب ها استفاده مي شود. در ابتدا لينوكس براي پردازنده هاي x86 شركت اينتل طراحي شده بود ولي امروزه لينوكس پردانده هاي اينتل،مك،اسپارك،آلفا و ساير سكوهاي سخت افزاري بكار مي رود. بطور كلي لينوكس يك سيستم عامل چند كاربره و چند منظوره است و بدليل چند كاربره بودن، كاربران متعددي مي توانند به طور همزمان به آن متصل شوند. با خاصيت چند برنامه اي نيز امكان اجراي همزمان برنامه هاي متعدد فراهم مي شود. بطور معمول انواع مختلف لينوكس، سرويس دهنده هاي متنوعي براي سرويس وب، پست الكتروني، سرويس نام دامنه و ... ارائه مي دهند كه از قدرت، كارايي سرعت و پايداري مناسبي برخوردارند.لینوکس ردهت یکی از معروفترین انواع لینوکس بشمار می رود و قدرت و انعطاف پذیری کاربردی استگاههای کاری یونیکس را به کامپیوترهای شخصی آورده و مجموعه کاملی از برنامه های کاربردی و محیط های گرافیکی کارآمد را ارئه می دهد. محیط های گرافیکی مورد استفاده در ردهت دو محیط قدرتمند GNOME و KDE هستند که هر یک از آنها براحتی قابل تنظیم و پیکربندی بوده و برای مدیریت سیستم, برنامه ها. فایلها .شبکه و غیره بکار می روند.
شروع داستان لينوكس
در سال 1991 در حالي كه جنگ سرد رو به پايان ميرفت و صلح در افق ها هويدا ميشد، در دنياي كامپيوتر، آينده بسيار روشني ديده ميشد. با وجود قدرت سختافزارهاي جديد، محدوديت هاي كامپيوترها رو به پايان ميرفت. ولي هنوز چيزي كم بود ... و اين چيزي نبود جز فقداني عميق در حيطه سيستم هاي عامل.
DOS، امپراطوري كامپيوترهاي شخصي را در دست داشت. سيستم عامل بياستخواني كه با قيمت 50000 دلار از يك هكر سياتلي توسط بيل گيتز (Gates Bill) خريداري شده بود و با يك استراتژي تجاري هوشمند، به تمام گوشههاي جهان رخنه كرده بود. كاربران PC انتخاب ديگري نداشتند. كامپيوترهاي اپل مكينتاش بهتر بودند. ولي قيمت هاي نجومي، آن ها را از دسترس اكثر افراد خارج ميساخت.
خيمهگاه ديگر دنياي كامپيوترها، دنياي يونيكس به خودي خود بسيار گرانقيمت بود. آنقدر گرانقيمت كه كاربران كامپيوترهاي شخصي جرات نزديك شدن به آن را نداشتند. كد منبع يونيكس كه توسط آزمايشگاه هاي بل بين دانشگاه ها توزيع شده بود، محتاطانه محافظت ميشد تا براي عموم فاش نشود. براي حل شدن اين مسئله، هيچيك از توليدكنندگان نرمافزار راه حلي ارائه ندادند.
بنظر ميرسيد اين راه حل به صورت سيستم عامل MINIX ارائه شد. اين سيستم عامل، كه از ابتدا توسط اندرو اس. تانناوم (Andrew S. Tanenbaum) پروفسور هلندي، نوشته شده بود به منظور تدريس عمليات داخلي يك سيستم عامل واقعي بود. اين سيستم عامل براي اجرا روي پردازندههاي 8086 اينتل طراحي شده بود و بزودي بازار را اشباع كرد.
بعنوان يك سيستم عامل، MINIX خيلي خوب نبود. ولي مزيت اصلي آن، در دسترس بودن كد منبع آن بود. هر كس كه كتاب سيستم عامل تاننباوم را تهيه ميكرد، به 12000 خط كد نوشته شده به زبان C و اسمبلي نيز دسترسي پيدا ميكرد. براي نخستين بار، يك برنامهنويس يا هكر مشتاق ميتوانست كد منبع سيستم عامل را مطالعه كند. چيزي كه سازندگان نرمافزارها آن را محدود كرده بودند. يك نويسنده بسيار خوب، يعني تاننباوم، باعث فعاليت مغزهاي متفكر علوم كامپيوتري در زمينه بحث گفتگو براي ايجاد سيستم عامل شد. دانشجويان كامپيوتر در سرتاسر دنيا با خواندن كتاب و كدهاي منبع، سيستمي را كه در كامپيوترشان در حال اجرا بود، درك كردند و يكي از آن ها بينوس توروالدز نام داشت.
تاریخچه لینوکس
تولد سيستم عامل جديد
در سال 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 را به آن منتقل كردهام و به نظر ميرسد كه كار ميكند. من در عرض چند ماه چيزي آزمايشي درست كردهام و مايلم بدانم كه كاربران بيشتر به چه قابليتهايي نياز دارند؟ من از هر پيشنهادي استقبال ميكنم. ولي قول نميدهم همه آنها را اجرا كنم.
لينوس
همانطور كه در اين نامه پيداست، خود توروالدز هم باور نميكرد كه مخلوقش آنقدر بزرگ شود كه چنين تحولي در دنيا ايجاد كند. لينوكس نسخه 1.0 در اواسط سپتامبر 1991 منتشر شد و روي اينترنت قرار گرفت. شور و اشتياقي فراوان حول مخلوق توروالدز شكل گرفت. كدها دانلود شده، آزمايش شدند و پس از بهينهسازي به توروالدز بازگردانده شدند. لينوكس نسخه 2.0 در پنجم اكتبر به همراه اعلاميه معروف توروالدز
آماده شد:
از: لينوس بنديكت توروالدز
به: گروه خبري MINIX
آيا شما از روزهاي زيباي MINIX 1.1 محروم شدهايد؟ هنگامي كه مردها مرد بودند و راهاندازهاي دستگاه خود را خودشان مينوشتند؟ آيا شما فاقد يك پروژه زيبا هستيد و ميميريد تا سيستم عاملي داشته باشيد تا بتوانيد آنرا مطابق با نيازهاي خود درآوريد؟ اگر اينگونه است، اين نامه براي شما نوشته شده است.
همانطور كه ماه پيش گفتم من در حال كار بر روي يك سيستم عامل رايگان مشابه MINIX براي كامپيوترهاي 386 هستم. اين سيستم عامل اكنون بجايي رسيده است كه قابل استفاده است و مايل هستم كه كدهاي منبع را در سطح گستردهتر پخش نمايم. اين نسخه 2.0 است ولي من موفق شدهام كه نرمافزارهاي compress , GUN-sed , GNU – Make, GCC, Bash و غيره را تحت آن اجرا كنم. كدهاي منبع اين پروژه را ميتوانيد از آدرس nic.funet. fi با آدرس 128.214.6.100 در دايركتوري pub OS/linux پيدا كنيد. اين دايركتوري همچنين داراي چند فايل README و تعدادي باينري قابل اجرا تحت لينوكس است. تمام كدهاي منبع ارائه شده است زيرا هيچ يك از كدهاي MINIX در آن استفاده نشده است. سيستم را ميتوانيد همانطور كه هست كامپايل و استفاده كنيد. كدهاي منبع باينريها را هم ميتوانيد در مسير pub GNU پيدا كنيد.
لينوكس نسخه 3.0 پس از چند هفته آماده شد و تا دسامبر، لينوكس به نسخه 10.0 رسيد. هنوز لينوكس فقط چيزي كمي بيشتر از يك فرم اسكلت بود. اين سيستم عامل فقط ديسكهاي سخت AT را پشتيباني ميكرد و ورود به سيستم نداشت و مستقيماً به خط فرمان بوت ميشد. نسخه 11.0 خيلي بهتر شد. اين نسخه از صفحه كليدهاي چند زبانه پشتيباني ميكرد، ديسكهاي فلاپي و كارتهاي گرافيكي EGA, VGA هركولس و ... نيز پشتيباني ميشدند. شماره نسخهها از 12.0 به 95.0 و 0.96 افزايش پيدا كرد و ادامه يافت. بزودي كد آن بوسيله سرويسدهندهاي FTP در فنلاند و مناطق ديگر، در سرتاسر جهان منتشر شد.
مقايسه و توسعه
بزودي توروالدز با مقايسههايي از طرف اندروتاننباوم، معلم بزرگي كه MINIX را نوشته بود، مواجه شد. تاننباوم براي توروالدز مينويسد:
"من برين نكته تاكيد دارم كه ايجاد يك هسته يكپارچه در سال 1991 يك اشتباه پايهاي بود. خدا را شكر كه شما شاگرد من نيستيد، و اگر نه چنين طرحي نمره بالايي نميگرفتيد."
توروالدز بعداً پذيرفت كه اين بدترين نكته در توسعه لينوكس بوده است. تاننباوم يك استاد مشهور بود و هر چه كه ميگفت واقعيت داشت. ولي وي در مورد لينوكس اشتباه ميكرد. توروالدز كسي نبود كه به اين سادگيها پذيراي شكست باشد.
تاننباوم همچنين گفته بود: "لينوكس منسوخ شده است".
اكنون نوبت حركت نسل جديد لينوكس بود. با پشتيباني قوي از طرف اجتماع لينوكس، توروالدز يك پاسخ مناسب براي تاننباوم فرستاد:
"شغل شما استاد دانشگاه و محقق بودن است و اين بهانه خوبي براي برخي مغز خرابكنيهاي MINIX است".
منابع:
هسته لينوكس
Kernel.org
كدها و بستههاي نرمافزاري لينوكس
www.sourceforge.net
www.rpmfind.net
www.linux.org
پخشهاي لينوكس:
www.redhat.com
پروژه سيستم عامل ملي:
www.farsilinux.org
لينوكس براي ايرانيان
www.technotux.com