کرنل سیستم عامل لینوکس
این مقاله بخشی از کتاب لینوکس ما بوده و شما برای مطالعه کامل آن میتوانید به بخش محصولات مراجعه فرمایید.
زمان مطالعه: 5 دقیقه
سیستم عامل لینوکس چند کاربره و چند وظیفهای بوده و به چندین کاربر اجازه کار به طور همزمان را روی یک کامپیوتر میدهد و همچنین این سیستم عامل برنامههای کاربران را هم به طور همزمان اجرا میکند. قابل توجه است که لینوکس را نمیتوان معادل یونیکس دانست اما دارای شباهاتهای زیادی به یونیکس است. در سیستم لینوکس بر خلاف یونیکس تمامی منابع (سورس کدها) به طور آزادانه در دسترس هستند.
نکته) لینوکس یک سیستم منبع باز است که کاربران میتوانند سورس کدهای آن را ببینند و در صورت لزوم آن را تغییر و در نهایت آن را با دیگران به اشتراک بگذارند.
لینوکس تنها یک کرنل یا هسته سیستم عامل است. توزیعهای مختلفی مانند ubunto، Fedora، CentOS وجود دارد که اینها همگی یک GNU/Linux هستند. بنابراین سیستم عامل GNU/Linux و هسته آن لینوکس است. لینوکسها عمدتا از دو شاخه مختلف Debian-base یا Redhat-base هستند که در یکسری از دستورات متفاوت هستند.
یک سیستم عامل متشکل از یک کرنل و یکسری ابزارهای مختلف است. بخشهای اصلی لینوکس از سه لایهی تشکیل شده (شکل1) که شامل موارد زیر میباشد:
- لایهی سختافزار
- لایهی کرنل (هسته)
- لایهی کاربر (شامل ابزارهای GNU، محیط دسکتاپ گرافیکی، برنامههای کاربردی مانند سرویس FTP و غیره است)
هر کدام از این لایهها در سیستم لینوکس کار خاصی را انجام میدهند.
4 وظیفه لایهی کرنل سیستم عامل
کرنل، هسته سیستم لینوکس بوده و کلیه سختافزارها و نرمافزارهای سیستم کامپیوتر را کنترل میکند. همچنین در صورت لزوم سختافزاری را برای فرآیندی اختصاص و همچنین نرمافزاری را هم اجرا میکند.
اگر دنیای لینوکس را دنبال کرده باشید بدون شک نام لینوس توروالدز را شنیدهاید. توروالدز در دوران تحصیل در دانشگاه Helsiki اولین نرمافزار کرنل لینوکس را ایجاد کرد. او علاقهمند بود که این پروژه یک کپی از سیستم عامل یونیکس (در آن زمان یک سیستم عامل محبوب و گران قیمت در بسیاری از دانشگاهها بود) باشد.
همچنین او پس از توسعه کرنل لینوکس آن را در اینترنت منتشر کرد و برای بهبود آن پیشنهاداتی را خواستار شد. سپس بعد از مدتی پیشنهادهایی از دانشجویان و همچنین برنامهنویسان حرفهای از سراسر جهان دریافت کرد و او با در نظر گرفتن نظرات مختلف تغییراتی را در کد اصلی ایجاد میکرد تا به نسخه نهایی آن رسید. به طور کلی کرنل چهار وظیفه اصلی دارد که شامل موارد زیر است (شکل1).
![وظایف کرنل سیتستم عامل](https://www.ngsacademy.com/wp-content/uploads/2023/07/cover.jpg)
شکل1- وظایف کرنل لینوکس