حمد و سپاس ایزد منان را که با الطاف بیکران خود این توفیق را به ما ارزانی داشت تا بتوانیم در راه ارتقای دانش عمومی و فرهنگ و به ویژه علوم کامپیوتر و انفورماتیک گامهایی هرچند کوچک برداریم.
امروزه گستردگی علوم و توسعه روزافزون آن شرایطی را به وجود آورده که هر روز شاهد تحولات اساسی و چشمگیر در سطح جهان هستیم.
این مطلب را با مقدمه ای در مورد سیستم عامل شدن لینوکس آغاز می کنیم.
درباره ی توسعه گذشته و آینده ی لینوکس صحبت خواهیم کرد و نگاهی دقیق به مزایا و معایب آن می پردازیم.
در مورد توزیعات مختلف و همچنین سورس آزاد صحبت خواهیم کرد.
این نوشته به سؤالاتی از این قبیل پاسخ می دهد:
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 کار می کرد، به طور مداوم رشد می کرد.
تمام ویژگی های یونیکس در سالهای بعد اضافه شد و حاصل آن سیستم عامل کنونی و کامل لینوکس است.
هر کسی آن را می خرید و برای کردن در لینوکس، ارائه می کرد.
تمام ویژگی های یونیکس در سالهای بعد اضافه شد و حاصل آن سیستم عامل کنونی و کامل لینوکس است.
امروزه تمام نقش آفرینان بزرگ در زمینه بازار سخت افزار و نرم افزار را، تیم توسعه گران لینوکس دارند.
شما در محله خود می توانید سیستم هایی از لینوکس از پیش نصب شده با پشتیبانی رسمی بخرید.
1ـ1ـ3ـ کاربرد کنونی سیستم های لینوکس : امروزه لینوکس به بازار رایانه های رومیزی پیوسته است.
توسعه گران لینوکس در ابتدا بر روی شبکه ها و سرویس ها متمرکز شدند برنامه های اداری آخرین موانعی بودند که باید از سر راه برداشته می شدند.
ما نمی خواهیم تأکید کنیم که مایکروسافت بر این بازار حکومت می کند.
اما گروههای مختلف از رابط کاربری آسان و سوییت اداری (office suit) سازگار با مایکروسافت مانند واژه پردازها (word processor) و صفحه گسترده ها (spreed shet) و … تلاش خود راآغاز نموده اند.
در زمینه سرور، لینوکس به عنوان یک سکوی پایدار و قابل اعتماد شناخته شده است که بانک های اطلاعاتی و سرویس های تجاری را برای شرکت هایی مانند آمازون (کتاب خانه ی آنلاین معروف) اداره پست آمریکا و ارتش آلمان پشتیبانی می کند.
مخصوصاً استفاده سرویس دهنده های اینترنت از لینوکس به عنوان دیوار آتش و پراکسی سرور (proxy server) افزایش یافته است.
شما یک نسخه از لینوکس را نزد هر مدیر شبکه یونیکس که به مدیریت آسان علاقه دارد، خواهید یافت.
گروهی از ماشینها با سیستم عامل لینوکس در تولید فیلمهایی مانند تایتانیک و شِرِ ک استفاده شده اند.
در ادارات پست مراکز حساسی وجود دارند که نامه ها را به مسیر خاصی هدایت می کنند.
این موارد تنها چند نمونه از وظایف سنگینی است که لینوکس روزانه در سرتاسر جهان انجام می دهد.
همچنین شایان ذکر است که لینوکس مدرن تنها بر روی ایستگاههای کاری و سرورهای mid and high اجرا نمی شود، بلکه بر روی PDA ها، موبایل ها و تعداد زیادی از سیستم های جاسازی شده و حتی ساعتهای مچی اجرا می شود.
این امر باعث شده که لینوکس تنها سیستم عاملی باشد که از این گستره عظیم سخت افزاری پشتیبانی کند.
لینوکس همچنین به روزرسانی آسان سیستم ها را شامل می شود.
1ـ2ـ رابطه کاربری : 1ـ2ـ1ـ آیا کار با لینوکس مشکل است؟
پاسخ این سؤال بستگی به فردی دارد که از او سؤال می پرسید.
کاربران باتجربه یونیکس به شما جواب منفی می دهند.
زیرا لینوکس سیستم عاملی ایده آل برای کاربران قدرتمند و برنامه نویسان است چون این سیستم توسط همین افراد توسعه داده شده است.
هر چیزی که یک برنامه نویس آرزو داشته باشد، موجود است.
مانند: کامپایلرها، کتابخانه ها و ابزارهای توسعه و اشکال زدایی، این برنامه ها در هر توزیع استاندارد لینوکس وجود دارند.
کامپایلر رایگان سی موجود است و تمام مستندات و راهنماها در دسترس هستند.
اغلب، مثالهایی هم موجود است تا شما بتوانید به سرعت برنامه نویسی را آغاز کنید.
لینوکس بسیار شبیه یونیکس است و حرکت از یونیکس به سمت لینوکس و بالعکس امری بسیار عادی است.
در ابتدا، برای آغاز کار سیستم، حرفه ای بودن مورد نیاز بود.
کسانی که در لینوکس حرفه ای شده بودند نسبت به افرادی که هنوز آن را ندیده بودند، وضعیت بسیار بهتری داشتند.
معمولاً به کاربران توصیه می شد که راهنماها را بخوانند با وجود این که راهنماها روی همه سیستم ها موجود بودند، یافتن آنها بسیار مشکل بود و اگر کسی هم آن را پیدا می کرد، توضیحات، آنچنان با لغات تکنیکی آمیخته بودند که کاربر جدید به زودی ناامید می شد.
انجمن کاربران لینوکس دریافت که اگر لینوکس بخواهد نقش مهمی را در بازار سیستم عاملها بازی کند، باید تغییرات جدی در دسترسی این سیستم ایجاد شود.
1ـ2ـ2ـ لینوکس برای کاربران بی تجربه : شرکتهایی مانند suse (زوزه تلفظ می شود) ، Mandrake و Redhat تأسیس شدند.
این شرکتها توزیعات مختلفی از لینوکس را به صورت بسته بندی ارائه کردند که برای استفاده های عمومی مناسب بود.
آنها تعداد زیادی از رابط های کاربری گرافیکی (مانند KDE) را که توسط انجمن لینوکس، توسعه داده شده بود، برای ساده کردن هدایت برنامه ها و سرویس ها، سازمان دهی کردند.
امروزه شما به عنوان یک کاربر لینوکس همه چیز را برای فهمیدن ریزه کاریهای سیستم در اختیار دارید و دیگر نیازی به آگاه بودن از چگونگی سازگار کردن سیستم با نیازهای خود ندارید.
امروزه شما می توانید به صورت گرافیکی وارد سیستم شوید و تمام برنامه های موزد نیاز خود را بدون تایپ حتی یک کاراکتر اجرا کنید، در حالی که توانایی دسترسی به هسته را نیز دارید.
به دلیل ساختار خاص، لینوکس به یک کاربر اجازه پیشرفت در سیستم را می دهد و به صورت مساوی نیازهای کاربران مبتدی و باتجربه را فراهم می آورد.
کاربران مبتدی مجبور نیستند که کارهای مشکل انجام دهند، در حالی که کاربران حرفه ای مجبور نیستند به همان روشی که در آغاز یادگیری لینوکس یاد گرفته بودند، عمل کنند.
زمانی که توسعه در حیطه سرویس دهی ادامه می یابد، کارهای بزرگی برای کاربران سیستم های رومیزی انجام می شود.
این کاربران، عموماً به عنوان گروهی تلقی می شوند که حداقل می خواهند بدانند که سیستم چگونه کار می کند.
توسعه گران نرم افزارهای رومیزی، تلاش های بسیار زیادی را صورت می دهند تا زیباترین میزکارهایی را که تا به حال دیده اید، بسازند.
یا حداقل کاری کنند تا ماشین لینوکس شما، همانند یک ایستگاه کاری ویندوز و یا مکینناش به نظر برسد.
آخرین توسعه ها، پشتیبانی شتابنده های سه بعدی و ابزارهای USB و همچنین به روزرسانی آسان سیستم ها را شامل می شود.
لینوکس این چیزها را داراست و سعی می کند، که تمام سرویس های موجود را در یک فرم منطقی ارائه دهد تا مردم عادی بتوانند آن را درک کنند.
در زیر لیست کوتاهی حاوی چند مثال عالی وجود دارد.
این سایتها تصاویر زیادی دارند که به شما نگاه تازه ای در مورد میزکارهای لینوکس می دهد.
http:// ximian.
Com / products / desktop http:// kde.org / screen shots http:// www.
Code weavers.
Com / products / office اندیشه ای که در سورس آزاد وجود دارد، بسیار ساده است.
زمانی که برنامه نویسان بتوانند کُدها را بخوانند، تغییر بدهند و توزیع کنند، کُدها به تکامل خواهند رسید.
مردم می توانند آن را دریافت کنند تغییر بدهند، اشکال زدایی کنند و این افراد این کارها را با چنان سرعتی انجام می دهند که بازدهی توسعه گران