هسته پیوندی

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو

هسته ترکیبی (به انگلیسی: Hybrid kernel) یک معماری هسته سیستم عامل است که در تلاش است تا جنبه ها و مزایای معماری ریز هسته و هسته یکپارچه را که در سیستم عامل های رایانه مورد استفاده قرار می گیرد ترکیب کند .

برسی اجمالی[ویرایش]

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

مثال ها[ویرایش]

هسته NT[ویرایش]

The Windows NT operating system family's architecture consists of two layers (user mode and kernel mode), with many different modules within both of these layers.

یکی از نمونه های برجسته هسته ترکیبی ، هسته Windows NT مایکروسافت است که تمام سیستم عامل ها را در خانواده ویندوز NT اعم از ویندوز 10 و ویندوز سرور 2019 و از ویندوزفون 8 ، ویندوز فون 8.1 و ایکس باکس وان پشتیبانی می کند . ویندوز مبتنی بر NT به جای یک هسته یکپارچه به عنوان یک هسته ترکیبی طبقه بندی می شود (یا یک ماکرو هسته) زیرا زیر سیستم های شبیه سازی در فرایندهای سرور در حالت کاربر اجرا می شوند ، نه در حالت هسته مانند یک هسته یکپارچه و بیشتر به دلیل تعداد زیادی از اهداف طراحی که شبیه اهداف طراحی ماک است (به ویژه جدایی شخصیت های سیستم عامل از طراحی هسته عمومی). در مقابل ، دلیل اینکه NT سیستم ریز هسته نیست ، زیرا بیشتر اجزای سیستم در فضای آدرس مشابه هسته کار می کنند ، همانطور که در مورد طراحی یکپارچه وجود دارد (در یک طراحی یکپارچه سنتی ، یک میکروکرنل وجود ندارد. به عنوان مثال ، اما هسته عملکرد تقریباً مشابهی را با زیر سیستم های میکروکرنل و حالت هسته NT پیاده سازی می کند).

شرح[ویرایش]

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

شخصیت اصلی سیستم عامل در ویندوز API ویندوز است که همیشه وجود دارد. سیستم فرعی شبیه سازی که شخصیت Windows را پیاده سازی می کند ، Client / Server Runtime Subsystem نام دارد (csrss.exe). در نسخه های NT قبل از 4.0 ، این فرایند زیر سیستم همچنین شامل مدیر پنجره ، رابط دستگاه گرافیکی و درایور دستگاه های گرافیکی است. با این وجود ، به دلایل عملکرد ، در نسخه 4.0 و بعد ، این ماژول ها (که اغلب در سیستم کاربر حتی در سیستم های یکپارچه بویژه آنهایی که بدون پشتیبانی گرافیکی داخلی طراحی شده اند) به عنوان یک سیستم فرعی هسته اجرا می شوند.

برنامه هایی که بر روی NT اجرا می شوند برای یکی از شخصیت های سیستم عامل (معمولاً ویندوز API) نوشته می شوند ، و نه به API بومی NT که اسناد برای آن در دسترس عموم نیست (به استثنای روال هایی که در توسعه درایور دستگاه استفاده می شود). شخصیت سیستم عامل از طریق مجموعه ای از DLL های حالت کاربر (به کتابخانه پیوند پویا مراجعه کنید) ، که مطابق نیاز ، در همراه با فرایند سرور زیرسیستم شبیه سازی (همانطور که قبلاً توضیح داده شده است) در فضاهای آدرس فرایندهای برنامه نقشه برداری می شوند. برنامه های کاربردی به خدمات سیستم دسترسی دارند و با استفاده از DLL های شخصیتی سیستم عامل در فضاهای آدرس خود نقشه برداری می کنند ، که به نوبه خود به کتابخانه NT run-time (ntdll.dll) فراخوانی می شوند ، همچنین در فضای آدرس فرایند نقشه برداری می شوند. کتابخانه NT زمان اجرا NT این درخواست ها را با به دام انداختن در حالت هسته یا با تماس های روزمره در حالت هسته یا برقراری تماس محلی (LPC) به فرایندهای سرور زیر سیستم مناسب در حالت کاربر ، انجام می دهد ، که به نوبه خود از APT NT برای ارتباط با فرایندهای برنامه ، زیر سیستم های هسته هسته و یکدیگر.

The XNU Kernel

هسته XNU[ویرایش]

XNU هسته ای است که شرکت اپل برای استفاده در سیستم عامل های macOS ، iOS ، watchOS و tvOS به دست آورد و توسعه داد و به عنوان نرم‌افزار رایگان و منبع باز به عنوان بخشی از سیستم عامل داروین عرضه کرد. XNU مخفف اختصاری X is Unix نیست.

در اصل توسط NeXT برای سیستم عامل NeXTSTEP توسعه یافته ، XNU یک هسته ترکیبی بود که ترکیبی از نسخه 2.5 هسته ماش است که در دانشگاه کارنگی ملون با مؤلفه های 4.3BSD و یک API شی گرا برای نوشتن درایورها به نام Driver Kit ساخته شده است.

بعد از اینکه اپل NeXT را به دست آورد ، مؤلفه Mach به OSFMK 7.3 ، که یک ریزگرد است ، ارتقا یافت. اپل از OSFMK 7.3 به شدت اصلاح شده به عنوان هسته ترکیبی استفاده می کند که بخش هایی از FreeBSD را شامل می شود. (OSFMK 7.3 شامل کد قابل اجرا از دانشگاه Utah Mach 4 هسته و کد قابل استفاده از بسیاری از انواع Mach 3.0 است که از هسته اصلی کارنگی در ملون دانشگاه Mach 3.0 جوانه زده است.) اجزای BSD با کدی از پروژه FreeBSD و درایور کیت برای نوشتن درایورهایی با نام I / O Kit با یک API C ++ جایگزین شد.

شرح[ویرایش]

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

XNU بر روی ARM به عنوان بخشی از پردازنده های مبتنی بر iOS]] ، IA-32]] و x86-64 اجرا می شود.

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

مشارکت‌کنندگان ویکی‌پدیا. «Hybrid kernel». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۳۱ می ۲۰۲۰.