Linux kernel چیست و چه کاربردی دارد

Linux kernel چیست و چه کاربردی دارد

علی مرادی

Linux® kernel مؤلفه اصلی سیستم عامل لینوکس (OS) است و رابط اصلی بین سخت افزار کامپیوتر و فرآیندهای آن است. این ارتباط بین این دو ارتباط برقرار می کند و منابع را تا حد امکان مدیریت می کند. kernel به این دلیل نامگذاری شده است – مانند دانه ای درون یک پوسته سخت – در سیستم عامل وجود دارد و کلیه عملکردهای اصلی سخت افزار ، چه تلفن ، لپ تاپ ، سرور یا هر نوع رایانه دیگر را کنترل می کند.

آنچه kernel انجام می دهد:

kernel 4 شغل دارد:

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

kernel اگر به درستی اجرا شود ، برای کاربر نامرئی است و در دنیای کوچک خود که به “kernel space” معروف است ، کار می کند و در آنجا حافظه را تخصیص می دهد و از آنجا همه چیز را ذخیره می کند.

آنچه کاربر مشاهده می کند – مرورگرهای وب ، پرونده ها و غیره – به “فضای کاربر” معروف است. این برنامه ها از طریق رابط تماس سیستم (SCI) با هسته در تعامل هستند.

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

جایی که kernel در سیستم عامل جای می گیرد:

برای قرار دادن kernel ، می توانید به یک دستگاه لینوکس فکر کنید که دارای ۳ لایه است:

سخت افزار:

دستگاه فیزیکی – پایین یا پایه سیستم ، متشکل از حافظه (RAM) و پردازنده یا واحد پردازش مرکزی (CPU) ، و همچنین دستگاه های I / O مانند ذخیره سازی ، شبکه سازی و گرافیک. CPU محاسبات را انجام می دهد و حافظه را می خواند ، و می نویسد.

هسته لینوکس:

هسته اصلی سیستم عامل این نرم افزاری است که در حافظه قرار دارد و به CPU می گوید چه کاری انجام دهد.

فرآیندها (با نام “پردازش کاربر”):

اینها برنامه های در حال اجرا هستند که هسته مدیریت می کند. فرایندها چیزی هستند که به طور جمعی فضای کاربر را تشکیل می دهند و صرف نظر از اینکه کاربر مستقیماً با آنها تعامل داشته باشد یا نه ، به عنوان فرآیندهای کاربر شناخته می شود. به عنوان مثال ، سرورهای وب به عنوان پردازش کاربر کار می کنند. نکته جالب دیگر این است که هسته همچنین به این پروسه ها / سرورها اجازه می دهد تا با یکدیگر ارتباط برقرار کنند (معروف به ارتباط بین فرآیند یا IPC).

کد اجرا شده توسط سیستم بر روی CPU ها در ۱ از ۲ حالت اجرا می شود:

حالت هسته یا حالت کاربر. کد در حال اجرا در حالت هسته دسترسی نامحدودی به سخت افزار دارد ، در حالی که حالت کاربر دسترسی به پردازنده و حافظه رابط های تماس سیستم را محدود می کند. همانطور که قبلاً اشاره شد ، جدایی مشابهی برای حافظه (فضای هسته و فضای کاربر) وجود دارد. این دو جزئیات کوچک پایه و اساس برخی از عملیات پیچیده مانند جداسازی امتیاز برای امنیت برای ساخت ظروف و ماشین های مجازی را تشکیل می دهند.

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

امیدواریم از این مقاله بهره لازم را برده و برای شما مفید بوده باشد. نظرات خود را با ما به اشتراک بگذارید.

ما را در شتابان هاست دنبال کنید.

برچسب ها: kernel آموزش لینوکس