کرنل سیستم عامل چیست؟

در این پست خواهید خواند:
Kernel یک برنامه کامپیوتری است که قلب و هسته اصلی یک سیستم عامل است. از آنجا که سیستم عامل بر سیستم کنترل دارد، کرنل نیز بر همه چیز در سیستم کنترل دارد. کرنل در حقیقت مهمترین بخش یک سیستم عامل است. هر بار که سیستمی شروع به کار می کند یا به اصطلاح روشن می شود، Kernel اولین برنامه ای است که پس از بوت لودر، Load می شود. زیرا کرنل باید بقیه موارد سیستم را برای سیستم عامل مدیریت کند.
Kernel وظایف سطح پایین یا low-level مانند مدیریت دیسک، مدیریت حافظه، مدیریت task ها، و غیره را بر عهده دارد و رابط بین کاربر و اجزای سخت افزاری سیستم را فراهم می کند. وقتی یک پردازش درخواستی را از کرنل می کند، این درخواست System Call است
کرنل دارای یک فضای و منطقه خاص و محافظت شده مخصوص به خود در حافظه سیستم است که این منطقه توسط سایر اپلیکیشن ها قابل دسترسی نمی باشد. نابراین، کد هسته در این فضای محافظت شده کرنل Load می شود. جدای از این، حافظه مورد استفاده سایر برنامه ها را فضای کاربر یا User Space می نامند. از آنجا که این دو فضای مختلف در حافظه هستند، بنابراین ارتباط بین آنها کمی کند است.