هسته سیستم عامل - بخش سوم

ریزهسته (Microkernel

ریزهسته‌ها، برای پیاده‌سازی عملیات کمینه‌ای (minimal) از قبیل مدیریت رشته های اجرایی (thread management) و فضای نشانی‌دهی و ارتباطات پردازش متقابل (interprocess communication)، انتزاع کمی بر روی سخت‌افزار انجام می‌دهند و مجموعه‌ای از عملیات ابتدایی و فراخوانی‌های عملیات سیستمی را فراهم می‌کنند.

اصلی‌ترین هدف، جداسازی سرویس‌های بنیادی، از اعمال سیستمی سطح بالاتر می‌باشد (سیاست های عملکرد سیستم.) برای مثال، قفل کردن پردازش‌های ورودی و خروجی (I/O) که توسط سرویس‌دهنده کاربر بر روی ریزهسته در حال اجرا می‌باشد. سرویس‌دهنده‌های کاربران، شامل قسمت‌های سطح بالای سیستم می‌باشد و کاملا منفک از یکدیگر عمل می‌نمایند و در نتیجه ساختار و طراحی هسته‌ها را ساده می‌نمایند. در صورت از کار افتادن یک سرویس‌دهنده  عملکرد کل سیستم مختل نخواهد شد. می‌توان این قسمت‌ها را به تنهایی و بدون توجه به دیگر قسمت‌ها مجددا راه‌اندازی (Restart) نمود. سیستم‌هایی عاملی که از ریزهسته استفاده می‌کنند، عبارتند از AIX، BeOS، Mach (که در GNU Hurd و MacOS X استفاده شده است)، Minix، MorphOS، QNX، RadiOS، VSTa و خانواده L4 Microkernel.

هسته‌های یکپارچه در مقابل ریزهسته‌ها

هسته‌های یکپارچه غالبا، به علت پیچیدگی کمتر در برخورد با تمامی عناصر سیستم در یک "فضای آدرس"(Address Space)، بر ریزهسته‌ها ترجیح داده می‌‌شوند. برای مثال هسته‌های XNU، MacOsX بر روی Mach 3.0 + BSD  در یک فضای آدرس برای کم کردن تاخیری که در طراحی‌های سنتی هسته‌ها رخ می‌داده است، بنا شده اند.

 در اوایل دهه 1990، هسته‌های یکپارچه بشدت در مرکز توجه بودند. طراحی لینوکس با هسته یکپارچه به جای ریزهسته جنگ لفظی داغی را بین Linus Torvalds و Andrew Tanenbaum به راه انداخت [2]. در این تقابل هر دو طرف اظهارات درستی مطرح نمودند و به پیروزی‌های مقطعی دست یافتند.

طراحی هسته‌های یکپارچه آسان‌تر و امکان ساخت‌شان سریع‌تر از ریزهسته‌هاست. ریزهسته‌ها غالبا در سیستم‌های ربا تیک مجتمع یا سیستم‌های پزشکی (Medical) بکار برده می‌شوند. علت این امر را می‌توان در اجرای اجزای (component) سیستم عامل در "فضای آدرس مخفی مختص به خود" دانست. این عمل در هسته‌های یکپارچه  میسر نمی‌باشد. حتی در نمونه‌های جدید و پیشرفته که از بارگذاری بخش‌بخش (Module-Loading) استفاده می‌نمایند.

هرچند که Mach [3] بهترین نمونه پیاده‌سازی شده ریزهسته‌ها می‌باشد، اما ریزهسته‌های دیگری نیز هستند که با هدف مشخصی ساخته شده‌اند. L3 تولید شد تا نشان دهد که ریزهسته‌ها الزاما کند نیستند. L4، نسخه جدیدتر L3 بود و پیاده‌سازی محبوب آن، به نام Fiasco، امکان اجرای Linux را در کنار دیگران، در فضای آدرس جداگانه داشت. در سایت Freshmeat.net تصاویری خواهید یافت که این موضوع را نشان می‌دهند. نسخه جدید‌تر آن Pistachio نیز این توانایی را دارد.

QNX سیستم عاملی است که از اوایل دهه 1980 وجود دارد نمونه بسیار جمع‌وجورتری است از ریزهسته‌ها. این سیستم بسیار بهتر از Mach  به اهداف طراحی ریزهسته‌ها دست یافت و در هنگام استفاده خرابی و از دست رفتن نرم‌افزار‌ها معنی پیدا نمی‌کند!. مانند بازوهای ربات در شاتل‌های فضایی (مانند بازوهایی که وظیفه تمیز کردن شیشه‌های شاتل را برعهده دارند) که یک اشتباه کوچک ممکن باعث میلیون‌ها دلار خسارت شود.

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

  


[2] ویراستار : آقای Linus Torvalds خالق لینوکس و شاگرد آقای Andrew Tanenbaum می‌باشند. تنها کتاب معتبر در زمینه سیستم عامل در ایران متعلق به آقای Andrew Tanenbaum می‌باشد. ایشان به عنوان معتبرترین فرد در زمینه سیستم عامل در دنیای کامپیوتر شناخته می‌شوند.

[3] ویراستار: Mach، که مخفف Macintosh است، سیستم عاملی می‌باشد که در ایران چندان شناخته شده نیست.