سیستم عامل لینوکس – راهنمای جامع
لینوکس یک نسخه محبوب از سیستم عامل یونیکس (UNIX) است. این سیستم عامل به صورت اوپن سورس است و کد منبع آن به رایگان در اختیار همه قرار دارد؛ استفاده از آن نیز رایگان است. لینوکس با در نظر گرفتن سازگاریهای UNIX طراحی شده است و فهرست کارکردهای آن شباهت بسیار زیادی به یونیکس دارد.
اجزای سیستم عامل لینوکس
سیستم عامل لینوکس به طور عمده سه جزء دارد:
کرنل (kernel)
کرنل به بخش مرکزی لینوکس گفته میشود. این بخش مسئول همه فعالیتهای اصلی این سیستم عامل است. کرنل شامل ماژولهای مختلفی است و به طور مستقیم با سختافزار سیستم در ارتباط است. کرنل لایه تجرید مورد نیاز برای پنهانسازی جزییات سطح پایین سختافزاری برای سیستم یا برنامههای کاربردی را ارائه میکند.
کتابخانه سیستم
کتابخانههای سیستم کارکردها یا برنامههایی خاصی هستند که برنامههای کاربردی یا ابزارهای سیستمی با استفاده از آنها از امکانات کرنل بهرهمند میشوند. این کتابخانهها به پیادهسازی اغلب کارکردهای سیستم عامل میپردازند و نیازمند دسترسیهای کد ماژول کرنل نیستند.
ابزار سیستمی
ابزارهای سیستمی در اصل نرمافزارهایی هستند که وظایف خاص و ویژهای در رابطه با عملکرد خود سیستمعامل و امور مربوط به آن را بر عهده دارند.
حالت کرنل در برابر حالت کاربر
کد کامپوننت کرنل در یک حالت با مجوز های خاص، به نام حالت کرنل (kernel mode) با دسترسی کامل به همه منابع رایانه عمل میکند. این کد نشاندهنده یک پردازش منفرد است که یک فضای آدرس منفرد را اجرا کرده و نیازمند هیچ سوئیچ زمینه (context switch) نیست و از این رو بسیار کارآمد و سریع است. کرنل همه پردازشها را اجرا میکند و سرویسهای سیستمی برای پردازشها ارائه کرده و دسترسی حافظت شدهای به سختافزار در اختیار پردازشها قرار میدهد.
کد پشتیبان که لازم نیست در حالت کرنل اجرا شود، در کتابخانه سیستم قرار میگیرد. برنامههای کاربر و دیگر برنامههای سیستمی در حالت کاربر (User Mode) عمل میکنند که هیچ دسترسی به سختافزار سیستمی و حالت کرنل ندارند. برنامهها و ابزارهای کاربردی از کتابخانه سیستم برای دسترسی به امکانات کرنل و اجرای وظایف سطح پایین سیستمی استفاده میکنند.
ویژگیهای پایه
در ادامه برخی از ویژگیهای پایه و بسیار مهم سیستم عامل لینوکس را توضیح دادهایم.
قابل حمل
قابل حمل بودن به این معنی است که نرمافزارها میتوانند روی انواع مختلفی از سختافزارها به روشی یکسان عمل کنند. کرنل لینوکس و برنامههای کاربری را میتوان روی پلتفرمهای سختافزاری مختلف نصب کرد.
اوپن سورس
کد منبع لینوکس به رایگان در اختیار همه است و پروژه ای محسوب می شود که بر اساس توسعه جمعی پیشرفت میکند. تیمهای کاری مختلفی با یکدیگر همکاری میکنند تا قابلیتهای سیستم عامل لینوکس را بهبود بخشیده و به طور مداوم آن را تکامل ببخشند.
چندکاربره
لینوکس یک سیستم چندکاربره است، یعنی چندین کاربر میتوانند به طور همزمان به منابع سیستم مانند حافظه، RAM و برنامههای کاربری دسترسی داشته باشند.
چند برنامگی
لینوکس یک سیستم چند برنامه است و معنی آن چنین است که چندین اپلیکیشن میتوانند به طور همزمان روی آن اجرا شوند.
سیستم فایل سلسله مراتبی
لینوکس یک ساختار فایل استاندارد ارائه میکند که فایلهای سیستم/کاربر در آن تنظیم میشوند.
پوسته
لینوکس یک برنامه مفسر خاص ارائه کرده است که از آن میتوان برای اجرای دستورهای سیستم عامل استفاده کرد. این برنامه برای انواع مختلفی از عملیات، فراخوانی برنامههای کاربردی و غیره استفاده میشود.
امنیت
لینوکس امنیت کاربر را با ویژگیهای احراز هویت مانند حفاظت از طریق رمز عبور، دسترسی کنترلشده به فایلهای خاص و رمزنگاری دادهها تأمین میکند.
معماری
در تصویر زیر معماری سیستم لینوکس را مشاهده میکنید:
معماری سیستم لینوکس شامل لایههای زیر است:
لایه سختافزار
سختافزار شامل دستگاههای جانبی مانند RAM، هارددیسک، سیپییو و غیره است.
کرنل
این بخش اصلی سیستم عامل است که به طور مستقیم با سختافزار تعامل دارد و سرویسهای سطح پایین را در اختیار اجزای لایههای بالاتر قرار میدهد.
پوسته
رابطی برای کرنل است که پیچیدگی کارکردهای کرنل را از دید کاربران پنهان نگاه میدارد. این پوسته دستورهایی را از سوی کاربر دریافت کرده و کارکردهای کرنل را اجرا میکند.
ابزارها
ابزارها برنامههای کاربردی هستند که اغلب، کارکردهای سیستم عامل را در اختیار کاربر قرار میدهند.
اگر این مطلب برایتان مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای لینوکس
- مجموعه آموزشهای دروس مهندسی کامپیوتر
- مجموعه آموزشهای علوم کامپیوتر
- آموزش سیستمهای عامل
- گنجینه آموزش های لینوکس (Linux)
- آموزش سیستم عامل لینوکس (Linux) – مقدماتی
- ترمینال لینوکس و آنچه برای شروع به کار با آن باید بدانید
==