لینوکس یک سیستم عامل چند کاربره و چند وظیفه ای است که روی سخت افزارهای مختلف اجرا می شود.
نسخه اول لینوکس توسط یک دانشجوی فنلاندی به نام لینوکس توروالدز ارایه شد. توروالدز این نسخه را در وب برای سایر برنامه نویسان ارسال کرد تا از آن استفاده کنند و آن را بهبود بخشند. توروالدز خود این سیستم عامل را بر اساس یک سیستم دانشگاهی به نام MINIX توسعه داد. این سیستم عامل توسط آقای تنن بام به عنوان یک سیستم عامل آموزشی ایجاد شده بود.
نسخه تجاری
در حال حاضر، شرکت های زیادی روی سیستم عامل لینوکس کار می کنند. برای مثال شرکت RED HAT یکی از شرکت های مهم توزیع کننده لینوکس به شمار می رود. لازم به ذکر است که RED HAT LINUX 7 آخرین گونه ارایه شده توسط این شرکت می باشد. از ویژگی های این گونه می توان به نصب آسان و نیز امکانات مدیریتی سیستم اشاره نمود. در حال حاضر، شرکت های دیگری نیز گونه های تجاری لینوکس را توزیع می کنند که اسامی تعدادی از این شرکت های عبارت است از:
caldera, corel, slackware, debian, mandark, turbolinux, easylinux
افزون بر این، بسیاری از شرکت های سخت افزاری، مانند: ibm, compac محصولات و خدمات مرتبط با لینوکس را ارایه می دهند. شرکت ibm اعلام کرده است که تمامی محصولاتش را با لینوکس سازگار می کند. همچنین شرکت intel نیز اعلام کرده است که سرورهای اینترنتی مبتنی بر سخت افزار intel را با سیستم عامل لینوکس عرضه می کند. در حال حاضر بسیاری از شرکت های کامپیوتری دست به فروش کامپیوترهایی زده اند که لینکس را به عنوان سیستم عامل اولیه خود دارند. از جمله پیشتازان جدید سیستم عامل لینوکس می توان به شرکت های بزرگی چون sun, oracle اشاره کرد. شرکت borland نیز در تلاش برای ارایه محصول کاربردی interbase روی سیستم عامل لینوکس است.
میزان افزایش استفاده از سیستم عامل لینوکس
مطالعه idc نشان داده است که در فاصله سال های 1997 تا 1999 میزان استفاده از لینوکس افزایش چشمگیری داشته است. موارد بسیاری باعث محبوبیت لینوکس گردیده است. از جمله: پشتیبانی از پروتکل smb و فایل سیستم cifs (که باعث راحتی کار با ماشین های وینوزی می شود)، وجود برنامه هایی نطیر x-win32 که امکان اجرای برنامه ها را روی ماشین لینوکس و نیز مشاهده آنها روی ماشین ویندوزی را می دهد. همچنین، امکاناتی نطیر پشتیبانی از فایل سیستم های dos, ntfs, vfat باعث شده است که میزان استفاده از لینوکس بیشتر شود.
شرکت corel نیز این امکان را فرهم آورده است تا برنامه های کاربردی ویندوز به طور کامل از یک اصال روی لینوکس اجرا شوند. idc پیش بینی می کند تا سال 2002 نسخه های لینوکس خدود 25% افزایش فروش را نشان دهند.
دلایل استفاده از سیستم عامل لینوکس
کنترل: کاربران، کنترل کاملی بر وطیعه مندی سیستم دارند و می توانند مشخصشه ها و قابلیت های مورد علاقه و نیاز خود را اضافه کنند، اشکالات را بیابند و بدون نیاز به نرم افزارهای ارتقاء دهنده ارتقاء خود را انجام دهند.
انعطاف پذیری: سیستم عامل لینوکس، با پشتیبانی طیف وسیعی از پروتکل های شبکه های lan, wan و فایل سیستم های مختلف، امکان ارتباط لینکس با سایر سیستم های عامل را فراهم کرده است. همچنین، با استفاده از برنامه های ماشین مجازی، لینوکس قادر می باشد تا سیستم های عامل مختکفی را شبیه سازی کند.
همچنین سیستم عامل لینوکس روی طیف وسیعی از سخت افزارها موجود است از جمله سخت افزارهایی مانند: x86, mips, alpha, motorla, vax .
پایداری: شرکت های بسیاری سالیانه ملیون ها دلار به خاطر بروز اشالاتی در سرورهایشان ضرر می کنند. ولی در مقابل ماشین های لینوکس بسیار پایدار هستند و اغلب برای ماه ها یا سال ها به کارشان ادامه می دهند،بدون آن که برایشان مشکلی پیش بیاید.
امنیت: به طور کلی ویروس به آن مفهومی که در سیستم های عامل ویندوزی متداول است، در محیط های یونکسی و لینوکسی وجود ندارد. علت این امر، امنیت بالای فایل سیستم لینوکس و یونیکس است. ابزارهای متعددی برای پیدا کردن اشکالات احتمالی لینوکس وجود دارد. این ابزارها یافتن و برطرف کردن اشکالات احتمالی را آسان می کنند.
هزینه پایین: اغلب نرم افزارهای لینوکس مجانی هستند و خود سیستم عامل هم قیمتی ندارد. نرم افزارهای مجانی شامی نرم افزارهای اداری، ابزارهای گرافیکی، ویرایشگرها و مرورگرهای وب هستند. در ضمن، ارتقاء لینوکس نیز هزینه های در پی نخواهد داشت.
قدرت سیستم عامل پانزده ابرکامپیوتر از 100 ابرکامپیوتر موجود، از نوع لینوکس است. لینوکس از منابع سخت افزاری به طور کارایی بهره می برد و این امر سبب می شود تا سرعت و توانایی آن بالا برود.
مصارف رومیزی: مهمترین نقطه ضعف سیستم های عامل مبتنی بر یونیکس عدم وجود یک واسط گرافیک زیبا و راحت برای استفاده کاربران است. در حال حاضر، با سرمایه گذاری شرکت های مختلف و با ارائه windows manager های بسیار زیبا برای محیط x سیستم عامل لینوکس این مشکل تقریباً برطرف گردیده است. وجود ابزار start office ، که به طور کامل تمام امکانات ms-office را روی محیط لینوکس و به همان راحتی که در محیط ویندوز وجود دارد را فراهم می کند، باعث گردیده است تا سیستم عامل لینوکیس برای مصارف شخصی نیز مناسب گردد.
امکانات سیستم عامل linux :
سیستم عامل لینوکس تمام امکانات لازم به عنوان یک سیستم عامل client (سرویس گیرنده)، همچنین یک سیستم عامل server (سرویس دهنده) را دارا می باشد.
سیستم عامل چیست؟
سیستم عامل برنامه ای است که به عنوان رابط بین کاربر و سخت افزار عمل می کند. همچنین به عنوان یک تخصیص دهنده منابع از قبیل: زمان پردازش، فضای حفظه، فضای ذخیره سازی، دستگاه های ورودی-خروجی به شمار می رود. اهداف سیستم عامل:
سیستم عامل دو هدف عمده زیر را بر عهده دارد:
resource manager:
سیستم عامل مدیریت منابع را بر عهده دارد و هنچ کاری بدون همهنگی و نظارت سیستم عامل صورت نمی گیرد. برای مثال، اگر کاربر بخاهد کاری را در مورد سخت افزار انجام دهد،این کار باید از طریق سیستم عامل صورت گیرد.
extended machine:
سیستم عامل به عنوان یک دستگاه توسعه یافته عمل می کند. به عبارت دیگر سیستم عامل کارهای کوچک و جزئی و با پیچیدگی بالا و همچنین کارهایی را که کابر علاقه مند به انجام آن ها نمی باشد را انجام می دهد.
تاریخچه سیستم عامل
کامپیوترهای نسل اول:
کامپیوترهای نسل اول از لامپ خلأ استفاده می کردند و برای نوشتن برنامه ها همه کارها باید بوسط کاربر انجام می گرفت. در واقع ، روی این کامپیوترها سیستم عامل وجود نداشت، زیرا سیستم عامل خود نیز به عنوان یک برنامه باید نخست در حافظه بار می شد و سپس برنامه های کاربردی مورد اجرا و بررسی قرار می گرفت.
کامپیوترهای نسل دوم:
در کامپیوترهای نسل دوم استفاده از ترانزیستور متداول گردید. در این کامپیوترها تنها یک برنامه وارد حافظه شده و اجرا می گردید. لذا در هنگام اجرای برنامه، کامپیوتر نمی توانست توسط برنامه دیگری مورد استفاده قرار گیرد. یعنی برای انجام هر کاری بقیه برنامه ها باید در سیستم باقی می ماندند.
کامپیوترهای نسل سوم:
سخت افزار این نسل از کامپیوترها به icها مجهز گردیدند و به کامپیوترها امکان multiprograming افزوده شد. یعنی این کامپیوترها می توانستند به صورت همزمان چند برنامه را در پردازشگر اجرا کنند. همچنین، در این نسل از کامپیوترها مفهوم time sharing به وجود آمد و مورد بهره برداری قرار گرفت.
کامپیوترهای نسل چهارم:
در این نسل از کامپیوترها قابلیت توانایی کار با چندین پردازنده افزوده گردید. بدین معنی که می توان برنامه های مختلف را روی پردازنده های متفاوت در سیستم اجرا نمود و چون در این نسل امکان multi programing نیز وجود داشت، در بعضی موارد قابلیت پردازش موازی امکان پذیر بود.
یعنی یک برنامه را به چند قسمت تقسیم کرده و هر قسمت آن توسط یک پردازشگر مورد پردازش قرار گیرد.
چند تعریف :
Shell :
Shell یکی از لایه های سیستمهای عامل مبتنی بر یونیکس است. در واقع ، Shell در این سیستم عاملها مفسر فرمان به شمار می رود.
در اینجا شل های معروفی را که سیستم عامل Red Hat Linux در اختیار کاربران قرار می دهد را در جدول زیر فهرست شده است.
Kernel :
Kernell قسمتی است که به منابع سخت افزاری دسترسی دارد. درخواست کاربر ابتدا وارد Sell می شود. Sell برنامه ای است که Buffer صفحه کلید را جهت داده های مختلفی که کاربر وارد کرده است جستجو می کند و پس از جستجوی این Buffer توسط Sell محتوای آن برای سیستم عامل تفسیر می شود و در صورت معتبر بودن درخواست مورد نظر، به Kernel فرمان می دهد تا رویه مورد نظر اجرا گردد و بدین ترتیب سرویس لازم در اختیار کاربر قرار گیرد و در صورت عدم اعتبار درخواست کاربر توسط Sell ، پیغام خطایی جهت اطلاع به کاربر روی صفحه نمایشگر ظاهر می گردد.
از مزایای سیستمهای عامل مبتنی بر یونیکس این است که به یک مفسر فرمان وابسته نیستند. اینگونه سیستم عاملها Sell های مختلفی را پشتیبانی می کنند.
Schedulder :
Schedulder یکی از بخشهای مهم سیستم عامل چند کاربره (Multi User ) می باشد . در واقع Schedulder برنامهای است که امکان استفاده تعداد زیادی کاربر را بصورت همزمان از سیستم فراهم میسازد. در اینگونه سیستمها، کاربران تصور میکنند که همگی بصورت همزمان و در یک لحظه از کامپیوتر استفاده می کنند، امّا در واقع در هر لحظه فقط یک کاربر از سیستم استفاده می کند.
چند تعریف:
فایل سیستم:
هر دیسک فیزیکی متصل به سیستم در سیستم عامل لینوکس باید فایل سیستم مربوط به خود را داشته باشد. به عنوان مثال در هنگام نصب سیستم عامل لینوکس حداقل دو فایل سیستم یکی با نام Linux swap و دیگری Linux Native روی سیستم ایجاد می گردند. در سیستم عامل لینوکس اطلاعات مربوط به هر فایل سیستم از قبیل لیست بلوکهای دیسک، جدول آدرس محل استقرار فایلها و اطلاعات دیگر مربوط به آن دیسک بطور مجزای ذخیره و نگهداری می شوند.
Boot Block :
این Block بخشی از فایل سیستم می باشد که برای ذخیره سازی برنامه مربوط به راه اندازی سیستم مورد استفاده قرار می گیرند.
Data Block :
این بخش شامل اطلاعات بلوک های آزاد سیستم میباشد که میتوانند اطلاعات و داده های سیستم عامل لینوکس را در بر گیرند.
جدول I-node :
جدول I- naode اطلاعاتی در ارتباط با فایلهایی که در فایل سیستم لینوکس ایجاد می گردند را شامل می شود. این اطلاعات از قبیل :
useri-d و group-id مربوط به کاربران سیستم عامل.
زمان ایجاد یک فایل، آخرین زمان استفاده از یک فایل و اعمال تغییرات روی آن.
تعداد الحاقات (Link) یک فایل.
تعیین نوع فایل معمولی، دایرکتوری و فایل های ویژه.
تعداد بایتهای فایل.
حفاظت از حقوق دسترسی (خواندن، نوشتن و اجرا کردن).
سیستم عامل Red hat linux در مقایسه با سیستم عامل های مبتنی بر یونیکس و سایر شرکتهای توزیع کننده این سیستم عامل، فایلها را بصورت مناسبی روی سیستم سازماندهی می کند که این امر بدلیل آنستکه سیستم عامل Red hat linux از فایل سیستم استانداردی موسوم به FSSTND استفاده می کند.
Super Block :
این Block شامل اطلاعاتی است که بر کل فایل سیستم دیسک نظارت میکند. این Block شامل اطلاعات زیر می باشد:
اندازه فضایی که فایل سیستم روی دیسک اشغال کرده است.
نوع فایل سیستم.
تعداد block های خالی روی data block.
شماره بلوک های آزاد روی دیسک.
اندازه بخش i-node:
آخرین زمان اعمل تغییرات روی super block.
فهرست راهنمای /bin:
تمامی فایل های موجود در این فهرست قابل اجرا می باشند، همچنین فایل ها درون این فهرست، دستورات اصلی سیستم عامل را تشکیل می دهند.
فهرست راهنمای /sbin:
در این فهرست راهنما اغلب برنامه های مربوط به سیستم، همچنین برنامه های اساسی و بنیادی برای نگهداری سیستم عامل قرار می گیرند.
برخی از این برنامه ها عبارتند از:
fsck – fdisk – mkfs – shut down – lilo – init
فهرست راهنمای /etc:
اغلب دستورات جهت مدیریت سیستم در این فهرست راهنما قرار می گیرند.
بعضی از فایل ها و برنامه های مهم دراین فهرست عبارتند از:
passwd – shadow – fstab – hosts – inittab – motd – prsfile – shells – services – lilo.conf – rc.d.
نصب قدم به قدم
نسخه های متعددی از سیستم هامل لینوکس در بازار موجود می باشد که این امر به علت open source code بودن و رایگان بودن سیستم عامل لینوکس می باشد. به همین دلیل شرکت های بسیاری اقدام به فروش و عرضه این سیستم عامل به بازار انفورماتیک جهان کرده اند که از جمله این شرکت ها می توان به شرکت های زیر اشاره نمود:
red hat, caldera, corel, debian, mandarke, infomagic.
سیستم عامل red hat linux یکی از معروفترین گونه های این سیستم عامل می باشد.