کرنل (Kernel) چیست؟ | بررسی اهمیت آن در سیستم عامل لینوکس
کرنل چیست؟ - پوستر

کرنل (Kernel) چیست؟ بررسی اهمیت آن در سیستم عامل لینوکس

فهرست مطالب

کرنل یا هسته لینوکس جزء اصلی سیستم عامل لینوکس است و رابط اصلی بین سخت افزار کامپیوتر و فرآیندهای آن است. بین این 2 ارتباط برقرار می کند و منابع را تا حد امکان به صورت بهینه و کارآمد مدیریت می کند.

هسته سیستم عامل یا کرنل (Kernel) به این دلیل نامگذاری شده است که – مانند دانه ای در یک پوسته سخت – در سیستم عامل است و تمام عملکردهای اصلی سخت افزار را کنترل می کند، چه موبایل هوشمند، لپ تاپ، سرور یا هر نوع رایانه دیگری باشد.

کرنل جزء اصلی یک سیستم عامل است و به عنوان رابط اصلی بین سخت افزار فیزیکی کامپیوتر و فرآیندهای در حال اجرا بر روی آن عمل می کند. کرنل برنامه ها را قادر می سازد تا منابع سخت افزاری را با دسترسی به CPU، حافظه، ورودی/خروجی دیسک و شبکه به اشتراک بگذارند.

تصور کنید یک کامپیوتر شامل یک سری لایه است که درونی‌ترین لایه آن سخت‌افزار و بیرونی‌ترین لایه آن برنامه‌های نرم‌افزاری هستند که روی کامپیوتر اجرا می‌شوند. در این مقایسه، هسته بین سخت‌افزار و برنامه‌ها قرار می‌گیرد، زیرا نه تنها مسئول مدیریت منابع سخت‌افزار و اجرای برنامه‌های نرم‌افزاری است، بلکه وظیفه نظارت بر تعاملات بین این لایه‌ها را نیز بر عهده دارد.

 

کرنل چه کاری انجام می‌دهد؟

هسته یا کرنل 4 کار انجام می‌دهد:

مدیریت حافظه: میزان حافظه مصرف شده برای ذخیره فایل ها را مدیریت میکند
مدیریت فرآیند: تعیین می‌کند که کدام فرآیندها می توانند از واحد پردازش مرکزی (CPU) در چه زمانی و چه مدت استفاده کنند
درایورهای دستگاه: به عنوان واسطه بین سخت افزار و فرآیندها عمل می کنند
تماس های سیستمی و امنیت: درخواست (Request) های سرویس را از فرآیندها دریافت می‌کند

اگر کرنل به درستی پیاده‌سازی شود، برای کاربران نامرئی و غیر قابل مشاهده است، در واقع آنچه کاربر مشاهده می‌کند (مانند مرورگرهای وب و فایل ها) به عنوان فضای کاربر شناخته می شود.

 

اهداف کرنل چیست؟

  1. ایجاد ارتباط بین برنامه کاربردی سطح کاربر و سخت افزار
  2. تصمیم گیری در مورد وضعیت فرآیندهای ورودی
  3. کنترل مدیریت دیسک
  4. کنترل مدیریت حافظه
  5. کنترل مدیریت تسک ها

 

انواع کرنل

1-کرنل یکپارچه (Monolithic Kernel)

این یکی از انواع هسته است که در آن تمام سرویس های سیستم عامل در فضای کرنل کار می کنند و یک وابستگی بین اجزای سیستم دارد. این نوع از کرنل دارای خطوط عظیمی از کد های پیچیده میباشد. مزایای این نوع از کرنل شامل موارد زیر است:

1. کارایی: کرنل های یکپارچه معمولاً سریع‌تر از انواع دیگر کرنل ها هستند، زیرا نیازی به جابجایی بین حالت کاربر و هسته برای هر تماس سیستم ندارند زیرا انی جابجایی می‌تواند باعث مصرف بیش از حد منابع شود.

2. یکپارچه سازی دقیق: از آنجایی که همه سرویس های سیستم عامل در فضای کرنل اجرا می شوند، می توانند به طور موثرتری با یکدیگر ارتباط برقرار کنند و اجرای عملکردها و بهینه سازی های پیچیده را آسان تر کنند.

3. سادگی: طراحی، پیاده سازی و اشکال زدایی کرنل های یکپارچه نسبت به انواع دیگر Kernel ها ساده تر است، زیرا ساختار یکپارچه ای دارند که مدیریت کد را آسان تر می کند.

4. تأخیر کمتر: هسته های یکپارچه نسبت به انواع دیگر هسته ها تأخیر کمتری دارند زیرا فراخوانی ها و وقفه های سیستم را می توان مستقیماً توسط کرنل مدیریت کرد.

 

2-Micro Kernel

این نوع از کرنل رویکرد مینیمالیستی دارد و دارای یک حافظه مجازی و زمانبندی شده  است. از مزایای این نوع کرنل می‌توان به موارد زیر اشاره کرد:

1. قابلیت اطمینان: معماری میکروکرنل به گونه ای طراحی شده است که قابل اعتمادتر از کرنل های یکپارچه باشد. از آنجایی که بیشتر سرویس های سیستم عامل خارج از فضای کرنل اجرا می شوند، هر گونه اشکال یا آسیب پذیری امنیتی در یک سرویس، کل سیستم را تحت تاثیر قرار نمی دهد.

2. انعطاف پذیری: معماری میکروکرنل نسبت به کرنل یکپارچه انعطاف پذیرتر است زیرا اجازه می دهد تا سرویس های مختلف سیستم عامل بدون تأثیر بر کل سیستم اضافه یا حذف شوند.

3. Modularity: معماری میکروکرنل ماژولارتر از کرنل یکپارچه است زیرا هر سرویس سیستم عامل مستقل از سایر سرویس ها اجرا می شود. این امر نگهداری و رفع اشکال سیستم را آسان تر می کند.

4. قابلیت حمل: معماری میکرو کرنل قابل حمل تر از کرنل های یکپارچه است زیرا اکثر سرویس های سیستم عامل خارج از فضای Kernel اجرا می شوند. این امر پورت کردن سیستم عامل به معماری های سخت افزاری مختلف را آسان تر می کند.

 

3-Hybrid Kernel

این نوع کرنل ترکیبی از هر دو کرنل یکپارچه و میکرو است و هم دارای سرعت و طراحی کرنل یکپارچه است و هم دارای پایداری Micro Kernel است. مزایای Hybrid Kernel شامل موارد زیر است:

1. عملکرد: کرنل های ترکیبی (Hybrid Kernel) می توانند عملکرد بهتری نسبت به میکروکرنل ها ارائه دهند زیرا تعداد سوئیچ های متنی مورد نیاز بین فضای کاربر و فضای کرنل را کاهش می دهند.

2. قابلیت اطمینان: کرنل های ترکیبی می توانند قابلیت اطمینان بهتری نسبت به کرنل های یکپارچه ارائه دهند زیرا درایورها و سایر اجزای هسته را در حوزه های حفاظتی جداگانه ایزوله می کنند.

3. انعطاف‌پذیری: Hybrid Kernel ها می‌توانند انعطاف‌پذیری بهتری نسبت به کرنل های یکپارچه ارائه دهند، زیرا اجازه می‌دهند سرویس‌های مختلف سیستم عامل بدون تأثیر بر کل سیستم اضافه یا حذف شوند.

4. سازگاری: Hybrid Kernel ها می توانند سازگارتر از میکروکرنل ها باشند زیرا می توانند طیف وسیع تری از درایورهای دستگاه را پشتیبانی کنند.

انوع کرنل های در لینوکس - کرنل چیست؟

 

جمع بندی

کرنل لینوکس هسته سیستم عامل لینوکس است که منابع و فرآیندهای سخت افزاری را مدیریت می کند. به عنوان رابط بین سخت افزار و نرم افزار کامپیوتر عمل می کند و امکان استفاده کارآمد از منابع را فراهم می کند.

Kernel عملکردهای اصلی سخت افزار را کنترل می کند و به عنوان پل بین برنامه های سخت افزاری و نرم افزاری عمل می کند و چندین برنامه را قادر می سازد تا به CPU، حافظه، ورودی/خروجی دیسک و منابع شبکه دسترسی داشته باشند.

کرنل بر تعامل بین لایه های سخت افزار و نرم افزار، مدیریت منابع و اجرای برنامه های نرم افزاری نظارت می کند و ارتباط و هماهنگی کارآمد بین این لایه ها را تضمین می کند.

کرنل مدیریت حافظه، مدیریت فرآیند، مدیریت دستگاه و فراخوانی سیستم برای سخت افزار را انجام می دهد.

شما میتوانید برای یادگیری رایگان مهارت دواپس سایر مقالات ما را مطالعه کنید >

 

0 0 رای ها
امتیازدهی به مقاله
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
× پشتیبانی واتساپ