هسته (رایانش)

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از هسته سیستم‌عامل)
پرش به: ناوبری، جستجو
«کرنل» به اینجا تغییرمسیر دارد. برای دیگر کاربردها، کرنل (ابهام‌زدایی) را ببینید.
نقش هسته در سیستم‌عامل. واسطه‌ای میان برنامه‌های کاربری و سخت‌افزار است.

در علوم رایانه، هسته[۱] (که کرنل نیز خوانده می شود) یک برنامه رایانه است که هسته مرکزی یک سیستم عامل رایانه را تشکیل می دهد و کنترل تمام چیزهایی را که در سیستم اتفاق می افتد را در دست دارد ؛[۲] به همین علت اولین برنامه ای است که در آغاز به کار سیستم ، در حافظه بار می شود و بعد از آن بقیه شروع به کار سیستم را مدیریت می کند ، همچنین کنترل درخواستهای ورودی و خروجی توسط نرم افزار ها و ترجمه آنها به ساختارهای قابل پردازش برای واحد پردازش مرکزی را به عهده دارد. علاوه بر آن مدیریت حافظه و ارتباط با دستگاههای جانبی (مثل چاپگر ها ) هم بر عهده این برنامه است. هسته قسمت اساسی سیستم عاملهای مدرن امروزی است.[۳]

هسته به مولفه‌هایی تقسیم شده‌است که هر کدام، وظیفه خاصی بر عهده دارد.

کارکردهای هسته[ویرایش]

کارکرد‌های اصلی هسته را می‌توان به قسمت‌هایی برای مدیریت منابع سیستم تقسیم کرد، از جمله:

کنترل واحد پردازشگر مرکزی[ویرایش]

واحد پردازشگر مرکزی مسوولیت اجرای تمام برنامه ها را به عهده دارد. این هسته است که تصمیم میگیرد در هر زمانی کدامیک از برنامه ها باید توسط این واحد یا واحدها ( هر واحد فقط قادر به اجرای یک برنامه در هز زمان است) اجرا شود .

مدیریت حافظه تصادفی[ویرایش]

حافظه تصادفی برای ذخیره موقت ساختارهای برنامه و همچنین اطلاعات به کار می رود.

مدیریت ورودی و خروجی[ویرایش]

دستگاه هاي ورودي/خروجي شامل لوازم جانبي به عنوان موس، صفحه کلید، دیسک سخت، چاپگر، اداپتورهاي شبكه و دستگاه هاي صفحه نمايش مي باشد. هسته درخواست برنامه هاي كاربردي به يك دستگاه مناسب و اختصاص يك I/O مناسب را مي كند.

جنبه هاي كليدي لازم در مديريت منابع ، تعريف دامنه (فضاي ادرس ) و مكانيسم هاي حفاظت به واسطه ي دسترسي به منابع در يك دامنه استفاده مي شود . هسته نيز معمولا روش هایی براي هماهنگ سازي و ارتباط بين فرايندها به نام (IPC) را فراهم مي كند.

مدیریت حافظه[ویرایش]

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

مدیریت دستگاه‌ها[ویرایش]

براي انجام توابع مفيد ، فرايند هاي نياز به دسترسي به لوازم جانبي متصل به كامپيوتر كه به وسيله ي كرنل از طريق درايور ها ي دستگاه كنترل مي شود دارد . درايور دستگاه يك برنامه كامپيوتري است كه باعث ارتباط برقرار كردن سيستم عامل با يك دستگاه سخت افزاري مي شود . درايور يك قطعه مهم و حياتي يك برنامه است .

فراخوان سیستمی[ویرایش]

مقاله اصلی : فراخوان سیستمی

فراخوان سیستمی یک برنامه درخواستي از سيستم عامل در مد ویژه است .

یک فراخوان سیستمی رابط بين فرايند و سيستم عامل است . فراخوان سیستمی يك مكانيسم است كه توسط برنامه نرم‌افزار به درخواست يك سرويس از سيستم عامل استفاده مي شود . به طور كلي سيستم عامل يك كتابخانه است كه بين سيستم عامل و برنامه هاي عادي مي باشد. براي فراخواني‌های سیستمی چند راه وجود دارد :

  1. با استفاده از يك وقفه ي نرم افزاري
  2. با استفاده از يك دروازه ي پاسخ
  3. با استفاده از يك دستتورالعمل سيستم پاسخ خاص
  4. با استفاده از يك صف مبتني بر حافظه

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. هسته برابرنهاد «واژه‌نامه مرجع برای ترجمه محیط لینوکس» برای واژهٔ کرنل (به انگلیسی: Kernel) است.
  2. "Kernel". Linfo. Bellevue Linux Users Group. Retrieved 15 September 2016. 
  3. Wulf 1974 pp.337–345