لینوکس مفاهیم هسته و پوسته
لینوکس هم همانند بیشتر سیستم عامل ها دارای دو بخش مهم هسته (Kernel) و پوسته (Shell) میباشد .
در ادامه به توضیح این دو بخش اساسی و عمده میپردازم .
هسته
هر سیستم عامل یک نرم افزار بسیار بزرگ هست که وظیفه اصلی اون فراهم کردن امکان استفاده از سخت افزاره .
یعنی سیستم عامل بستری هست که ما میتونیم با استفاده از اون از سخت افزار استفاده کنیم و کارهایی از قبیل محاسبات و بازی و کارهای گرافیکی و ارایه خدمات و … انجام دهیم .
از اونجایی که هر نرم افزار فقط و فقط برنامه نویسی مطلق هست پس مقدار زیادی کد در قالب برنامه های کوچکتر و ماژول ها باید داشته باشه که به مجموعه تمامی این کدهای برنامه نویسی شده که در یک جا متمرکز میشن میگن هسته یا کرنل سیستم عامل . پس کرنل یا هسته سیستم عامل به مجموعه کدهای برنامه نویسی شده پایه ای سیستم عامل میگن .
هسته سیستم عامل لینوکس یکی از بهترین هسته ها بین سیستم عامل های موجود دنیاست . دلیل این برتری به خاطر عوامل متعددی هست که به برخی از اونها میتوان به سرعت و امنیت و مدیریت منابع و طریقه ارتباط با سخت افزار و … اشاره کرد .
به برنامه های پایه ای سیستم عامل برنامه های سیستم کال (system call) نیز گفته میشود .
پوسته
حال که هسته سیستم عامل وجود دارد و بستر ارتباطی با سخت افزار فراهم هست پس باید ما ابزاری داشته باشیم که بتوانیم این برنامه های پایه ای system call رو صدا بزنیم .
این ابزار که همان پوسته است که باید سطح بالاتر باشد تا آسانی در استفاده برای کاربر فراهم باشد . یعنی چی؟ یعنی اینکه من کاربر برای کار با سیستم عامل نیازی نباشه که خودم رو درگیر زبان های پایه ای مثل اسمبلی و C کنم و بتونم از ابزار ها و امکاناتی که هسته سیستم عامل بهم میده به راحتی استفاده کنم .
انواع پوسته
در سیستم عامل لینوکس هم دو نوع پوسته وجود دارد
- پوسته متنی یا Comand Line Interface
این نوع پوسته که به اختصار CLI میشه یک نوع پوسته ای است که ابزارها و امکانات سیستم عامل رو به صورت متنی در دسترس شما قرار میده و برای کار کردن با این پوسته حتما باید به صورت دستوری کار کنید . در این نوع پوسته هیچ نوع جلوه های گرافیکی وجود نداره و فقط صفحه کلید وجود داره . - پوسته گرافیکی یا Graphical User Interface
مختصر این نوع پوسته GUI هست که به صورت گرافیکی ابزار رو در اختیارتون قرار میده. اینکه شما بتونید دسکتاپ داشته باشید و با موس کار کنید و فیلم پخش کنید و به صورت گرافیکی بدون نیاز به دستور با سیستم عامل کار کنید در این نوع پوسته فراهم است .
نکته اینکه هر پوسته امکانات خاص خودش رو داره و به منظورهای جداگانه استفاده میشه و هیچ یک دلیل بر برتری بر اونیکی نیست . ولی در اغلب لینوکس هایی که به منظور کار در سرور استفاده میشه فقط CLI نصب میکنن چون سبک تر و امن تر و مناسب تر است .
توی لینوکس هم انواع پوسته هم گرافیکی هم متنی داریم برای مثال
- انواع پوسته متنی
bash , csh , zsh , ksh , … - انواع پوسته گرافیکی
gnome , kde , cinnamon , …
و اما بهترین ها از نظر من در بین پوسته های متنی bash و بین پوسته های گرافیکی gnome هست .