موضوع مقاله: خانواده ریزهسته ال۴ | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # خانواده ریزهسته ال۴ | مقدمه: l4مانند میکرو هسته قبلی l3توسط دانشمند کامپیوتر آلمانی یوخن لدیتکه به عنوان پاسخی به عملکرد ضعیف سیستم عامل‌های مبتنی بر میکروکرنل قبلی ایجاد شد. | ## بخش 1: خانواده ریزهسته ال۴ | لیدتکه احساس کرد سیستمی که از ابتدا برای کارایی بالا طراحی شده‌است، نه اهداف دیگر، می‌تواند یک ریز هسته با کاربرد عملی تولید کند. اجرای اصلی وی در کد زبان اسمبلی مختص Intel i386 با رمزگذاری دستی در سال ۱۹۹۳ باعث ایجاد علاقه شدید در صنعت کامپیوتر شد. از زمان معرفی آن، L4 برای استقلال سیستم عامل و همچنین بهبود امنیت، انزوا و استحکام ساخته شده‌است. به همین دلیل، نام L4 تعمیم یافته‌است و دیگر فقط به اجرای اصلی لیدتکه اشاره ندارد. اکنون در کل خانواده میکروکرنل‌ها از جمله رابط هسته L4 و نسخه‌های مختلف آن اعمال می‌شود. اکنون در کل خانواده میکروکرنل‌ها از جمله رابط هسته L4 و نسخه‌های مختلف آن اعمال می‌شود. یک نوع، OKL4 از آزمایشگاه‌های هسته ای باز، با میلیاردها دستگاه تلفن همراه ارسال شده‌است.[1 2] الگوی طراحی لیدتکه با بیان ایده کلی یک ریز هسته، اظهار داشت: یک مفهوم فقط درصورت تحمل آن در داخل میکرو هسته، تحمل می‌شود، یعنی اجازه دادن به پیاده‌سازی‌های رقیب، مانع از اجرای عملکرد مورد نیاز سیستم می‌شود. با این روحیه، میکروکرنل L4 مکانیسم‌های اساسی کمی را فراهم می‌کند که شامل: فضاها را آدرس دهی کنید، رشته‌ها و برنامه‌ریزی، و ارتباط بین فرایند.[3] یک سیستم عامل مبتنی بر میکرو هسته مانند L4 به عنوان سرورهایی در فضای کاربری خدماتی را ارائه می‌دهد که هسته‌های یکپارچه مانند لینوکس یا میکروکرنل‌های نسل قدیمی آن را به صورت داخلی دارند. به عنوان مثال، برای پیاده‌سازی یک سیستم ایمن مانند یونیکس، سرورها باید مدیریت حقوقی را که ماخ درون هسته قرار داده‌است، فراهم کنند. تاریخ عملکرد ضعیف میکرو هسته‌های نسل اول، مانند ماخ، تعدادی از توسعه دهندگان را بر آن داشت تا در اواسط دهه ۱۹۹۰ کل مفهوم ریز هسته را دوباره مورد بررسی قرار دهند. مفهوم ارتباط ناهمگام فرایند بافر در هسته استفاده شده در Mach یکی از دلایل اصلی عملکرد ضعیف آن است. این امر توسعه دهندگان سیستم عامل مبتنی بر Mach را وادار به انتقال برخی از اجزای مهم برای زمان، مانند سیستم‌های پرونده یا درایورها، به داخل هسته کرده. در حالی که این موضوع تا حدی باعث بهبود عملکردها می‌شود، اما به وضوح مفهوم حداقل بودن یک ریز هسته را نقض می‌کند. تجزیه و تحلیل دقیق از گلوگاه ماخ نشان داد که، در میان چیزهای دیگر، مجموعه کار بسیار زیاد است: کد IPC بیانگر مکانیسم ضعیف است؛ یعنی فقط منجر به از دست دادن بیش از حد حافظه نهان شود، زیرا آنها بیشتر در هسته هستند. | ## بخش 2: خانواده ریزهسته ال۴ | [3]این تجربیات و تجزیه و تحلیل این اصل را ایجاد کرد که یک میکروکرنل کارآمد باید به اندازه کافی کوچک باشد، زیرا کد اضافی مهم برای عملکرد در حافظه پنهان (سطح اول) قرار می‌گیرد. L3 یوخن لدیتکه تلاش کرد تا ثابت کند که یک لایه نازک IPC(ارتباط بین فرایند)، با توجه دقیق به عملکرد و طراحی خاص ماشین (در مقایسه با مستقل از سیستم عامل) می‌تواند باعث پیشرفت‌های عظیم در دنیای واقعی شود. به جای سیستم پیچیده IPC (ارتباط بین فرایند) ماخ، میکروکرنل L3 او بدون هیچ گونه سربار اضافی، پیام را منتقل می‌کرد. تعریف و اجرای سیاست‌های امنیتی مورد نیاز از وظایف سرورهای فضای کاربر محسوب می‌شود. نقش هسته فقط تهیه سازوکار لازم برای فعال کردن سرورهای سطح کاربر برای اجرای سیاست‌ها بود. L3، که در سال ۱۹۸۸ تولید شد، خود را یک سیستم عامل ایمن و قوی به اثبات رساند، برای سالها مورداستفاده قرارگرفت به عنوان مثال توسط (انجمن بازرسی فنی)TÜV SÜD L4 پس از چند تجربه استفاده ازl3 لدیتکه به این نتیجه رسید که چندین مفهوم دیگر Mach نیز جای نادرست است.[4] با ساده‌سازی حتی بیشتر مفاهیم میکروکرنل، او اولین هسته L4 را توسعه داد که در درجه اول با عملکرد بالا طراحی شده‌است. چنین افزایش چشمگیر عملکردی یک اتفاق نادر در سیستم عامل‌ها است، و کارهای لدیتکه باعث پیاده‌سازی جدید L4 و کار بر روی سیستم‌های مبتنی بر L4 در تعدادی از دانشگاه‌ها و موسسات تحقیقاتی، از جمله IBM، جایی که لدیتکه در ۱۹۹۶ شروع به کار کرد شد. برخلاف L4Ka :: فندق، که به هیچ وجه اجازه همزمانی در هسته و جانشین آن L4Ka :: پسته را نمی‌دهد، که باعث می‌شود وقفه‌ها در هسته فقط در نقاط خاص پیش خرید انجام شود، L4 / Fiasco کاملاً قابل پیش‌بینی بود (به استثنای موارد فوق‌العاده عملیات اتمی کوتاه) برای دستیابی به تأخیر کم وقفه. با این حال، پیچیدگی‌های یک طراحی کاملاً قابل پیش‌بینی، نسخه‌های بعدی Fiasco را بر آن داشت تا به روش L4 سنتی اجرای هسته با وقفه‌ها غیرفعال شوند، به استثنای تعداد محدودی از نقاط پیش شرط. تغییر بزرگ بعدی در توسعه L4 توسعه یک API مستقل از سیستم عامل بود که با وجود قابلیت حمل و نقل بالاتر، همچنان دارای ویژگی‌های عملکرد بالا بود. اگرچه مفاهیم اساسی هسته یکسان بودند، API جدید تغییرات قابل توجهی را نسبت به نسخه‌های قبلی L4 ایجاد کرد، از جمله پشتیبانی بهتر از سیستم‌های چند پردازنده، روابط آزادتر بین رشته‌ها و فضاهای آدرس، و معرفی بلوک‌های کنترل موضوع در سطح کاربر (UTCB) و رجیسترهای مجازی. پس از انتشار API جدید l4 در اوایل سال ۲۰۰۱، گروه معماری سیستم در دانشگاه کارلسروهه هسته جدیدی را با نام L4Ka :: Pistachio به‌طور کامل از ابتدا پیاده‌سازی کرد، اکنون با تمرکز بر عملکرد بالا و همچنین قابلیت حمل. این امر منجر به استفاده از L4 در گوشی‌های تلفن همراه در فروش از اواخر سال ۲۰۰۶ شد. OKL4 نسخه ۲٫۱، که در آوریل ۲۰۰۸ منتشر شد، اولین نسخه عمومی L4 بود که دارای امنیت مبتنی بر قابلیت بود. | ## بخش 3: خانواده ریزهسته ال۴ | محموله‌های OKL4 در اوایل سال ۲۰۱۲[2] بیشتر از تراشه‌های مودم بی‌سیم کوالکام از مرز ۱٫۵ میلیارد دلار گذشته‌است. سایر استقرارها شامل سیستم‌های سرگرمی و سرگرمی خودرو است.[8] پردازنده‌های سری A اپل که با A7 شروع می‌شوند، شامل یک پردازنده Secure Enclave است که سیستم عامل L4 را[9] بر اساس هسته جاسازی شده L4 در NICTA در سال ۲۰۰۶ توسعه داده‌است.[10] این بدان معناست که L4 اکنون در حال حمل و نقل بر روی همه دستگاه‌های iOS است که کل محموله آن برای سال ۲۰۱۵ ۳۱۰ میلیون تخمین زده شده‌است.[11] اطمینان بالا: seL4 در سال ۲۰۰۶، گروه NICTA با هدف ایجاد مبنایی برای سیستم‌های بسیار ایمن و قابل اعتماد و مناسب برای برآورده ساختن الزامات امنیتی مانند ملاک‌های متداول و فراتر از آن، از ابتدا یک میکروکرنل نسل سوم به نام seL4 را طراحی کردند. برای سهولت در برآوردن نیازهای گاه تعارض عملکرد و تأیید، تیم از یک فرایند نرم‌افزاری متوسط استفاده می‌کند که از مشخصات اجرایی نوشته شده درهسکل شروع می‌شود. seL4 از کنترل دسترسی مبتنی بر قابلیت استفاده می‌کند تا بتواند استدلال رسمی در مورد قابلیت دسترسی به اشیا را فراهم کند. اثبات این امر تضمین می‌کند که اجرای هسته در برابر مشخصات آن صحیح است و به این معنی است که از اشکال پیاده‌سازی مانند بن‌بست، جابجایی مایع، سرریز بافر، استثنائات حساب یا استفاده از متغیرهای غیرسازمانی عاری است. منبع هسته و اثبات آن تحت GPLv2 است و بیشتر کتابخانه‌ها و ابزارها تحت مجوز ۲ بند BSD هستند. در آوریل ۲۰۲۰ اعلام شد که بنیاد seL4 زیر چتر بنیاد لینوکس ایجاد شده‌است تا توسعه و استقرار seL4 را تسریع کند. محققان اظهار داشتند که هزینه تأیید نرم‌افزار رسمی با وجود ارائه نتایج بسیار قابل اطمینان تر، کمتر از هزینه مهندسی نرم‌افزار سنتی «با اطمینان بالا» است. به‌طور خاص، هزینه یک خط کد در طول توسعه seL4 در حدود ۴۰۰ دلار آمریکا برآورد شد، در مقایسه با ۱۰۰۰ دلار برای سیستم‌های سنتی با اطمینان بالا. DARPA همچنین چندین قرارداد مربوط به تحقیقات نوآورانه تجارت کوچک (SBIR) مربوط به seL4 را تحت برنامه ای که توسط دکتر جان لانچبری آغاز شده بود، تأمین کرد. تحقیقات و توسعه دیگر Osker، یک سیستم عامل نوشته شده در هسکل، مشخصات L4 را هدف قرار داد. اگرچه این پروژه بر استفاده از یک زبان برنامه‌نویسی کاربردی برای توسعه سیستم عامل متمرکز شده‌است، و نه تحقیقات میکرو هسته به خودی خود. CodeZero یک میکرو هسته L4 است که سیستم‌های جاسازی شده را هدف قرار می‌دهد و تمرکز آن بر مجازی سازی و پیاده‌سازی سرویس‌های بومی سیستم عامل است. NOVA متشکل از یک ریز هایپروایزر، یک مانیتور ماشین مجازی در سطح کاربر و یک محیط کاربری چند سرور کامپوننت غیرمعمول است که در بالای آن به نام NUL اجرا می‌شود. | ## جمع‌بندی | این برنامه پیاده‌سازی‌های خاصی از هسته، کتابخانه‌های استاندارد و پشته شبکه را دارد که از معماری SPARC , ARM، x86 و x86_64 پشتیبانی می‌کند.