اگزوکرنل
From Wikipedia, the free encyclopedia
اگزوکرنل (به انگلیسی: Exokernel) یک هسته سیستم عامل است که توسط گروه سیستم عاملهای موازی و توزیع شده MIT ساخته شدهاست، و همچنین یک کلاس از سیستم عاملهای مشابه است.
سیستمهای عامل معمولاً منابع سختافزاری را از طریق انتزاعات سطح بالا مانند سیستم فایل (مجازی) در اختیار برنامهها قرار میدهند. ایده خارج از اگزوکرنل این است که به زور ممکن است کمترین انتزاع را بر روی توسعه دهندگان برنامهها داشته باشید و به آنها این امکان را بدهید که تصمیم بگیرند تا حد امکان در مورد تجرید سختافزاری تصمیمگیری کنند. اگزوکرنل ها کوچک هستند، از آنجا که کارکردها محدود به تضمین حفاظت و تعدیل منابع است، که بهطور قابل توجهی سادهتر از اجرای معمول ریزگردها از ارسال پیام و اجرای هستههای یکپارچه از انتزاعات سطح بالا است.
برنامههای اجرا شده سیستم عاملهای کتابخانه نامیده میشوند. آنها ممکن است آدرسهای حافظه خاص، بلوکهای دیسک و غیره را درخواست کنند. هسته هسته فقط تضمین میکند که منبع درخواستی رایگان باشد و به برنامه اجازه دسترسی به آن را دارد. این دسترسی سختافزاری سطح پایین به برنامهنویس اجازه میدهد تا انتزاعات سفارشی را پیادهسازی کند و موارد غیر ضروری را که معمولاً برای بهبود عملکرد یک برنامه است، حذف کند. همچنین به برنامه نویسان این امکان را میدهد تا انتخاب کنند که سطح انتزاع مورد نظر، زیاد یا پایین چیست.
Exokernels را میتوان به عنوان کاربردی از انتهای پایان تا پایان در سیستم عاملها مشاهده کرد، به این دلیل که آنها یک برنامه کاربردی را مجبور به لایه بندی انتزاعات خود در بالای انتزاعهای دیگر که با نیازهای مختلف در ذهن طراحی شدهاند، نمیکنند. به عنوان مثال، در پروژه MIT Exokernel، وب سرور Cheetah بستههای پروتکل اینترنتی پیش فرض شده را روی دیسک ذخیره میکند، هسته با جلوگیری از خواندن و نوشتن غیرمجاز دسترسی ایمن به دیسک را فراهم میکند، اما نحوه انتزاع دیسک بستگی به برنامه یا موارد دیگر دارد کتابخانههایی که برنامه استفاده میکند.