мінімальне ядро, звання Neutrino, з приводу Система опубліковано мало статей, и точні деталі нам Невідомі. Прото на Основі останніх проспектів ми Робимо Висновок, что Neutrino є гібріднім ядром, оскількі менеджер процесів працює в адресному просторі ядра.
На качану 1990 рр. покійній Йохан Лідтке (Jochen Liedtke) написав мінімальне ядро L4 мовою асемблера для архітектури x86. Швидко стало зрозуміло, что воно НЕ є стерпнім, и его Важко підтрімуваті, и того ВІН переписавши ядро ​​на мові C [20]. После цього воно продовжувало розвіватіся. У Данії годину є Дві основні Гілки: L4/Fiasco, підтрімуване в технічному універсітеті Дрездена, и L4Ka: Pistachio, підтрімуване в університеті Карлсруе та універсітеті New South Wales. Смороду напісані на C + +.
ключовими ідеямі в L4 є адресні простору, нитки и IPC между нитками в різніх адресних просторах. Менеджер ресурсів, что віконується в режімі користувача та запускається при завантаженні системи, управляє системними ресурсами и розподіляє їх между корістувацькімі процесами. L4 - це Одне з небагатьох Дійсно мінімальніх ядер з драйверами прістроїв, что Працюють у режімі користувача. Прото відсутня реалізація, в якій КОЖЕН драйвер віконувався б в окремому адресного просторі, и API L4 зовсім відрізняється від нашого API, тому ми НЕ Можемо запустіті на ньом будь-які тести.
Однак виявило неважко запустіті скрипт підрахунку числа рядків над потокової версією ядра L4Ka: Pistachio. Результати показані на рис. 10, и їх можна порівняті з Даними на рядку В«KernalВ». Розмір початкових кодом почти у два рази перевіщує розмір нашого ядра, а бінарній код у Шість разів больше, протікання функціональні возможности L4Ka: Pistachio є зовсім іншімі, так что Важко сказати що-небудь ще, крім того, то багато ядро ​​однозначно больше за розміром.
Односерверні операційні системи
Одним Зі способів Використання мінімальніх ядер є забезпечення платформи, поверх Якої, як єдиний сервер, запускається вся операційна система, Можливо, в режімі користувача. Для Отримання системних сервісів для користувача програми запітують їх у процеса операційної системи. Властивості Такої архітектури аналогічні властівостям монолітніх систем, что обговорювалося в розд. 2.1. Помилка в драйвері як и раніше может зламаті всю операційну систему, а в результаті и Прикладні програми. Тому, з точки зору ізоляції збоїв, Виконання всієї операційної системи в одному користувача процесі нітрохі НЕ краще ее Виконання в режімі ядра. Єдиним Реальних ПЕРЕВАГА є ті, что перезавантаження после фатального збою сервера операційної системи, віконується в режімі користувача, и всех Додатків відбувається швидше, чем перезавантаження комп'ютера.
Одним Із прікладів цієї технології є ОС Berkeley UNIX поверх Mach (перейменована в Darwin компанією Apple), яка є основою системи Apple Mac OS X [28]. Однак у Цій Системі UNIX віконується в ядрі, что Робить его просто інакше структурованім монолітнім ядром. Другий приклад - ОС MkLinux, в якій Linux віконується в єдиному користувача процесі поверх Mach. Третій приклад - L4-Linux, в якій повний вариант Linux віконується поверх L4 [15]. У Останній з перерахованого систем корістувальніцькі Процеси отримуються Сервіси операційної системи Шляхом виклику віддаленіх процедур у сервері Linux з використаних механізму IPC L4. Вімірювання показують Падіння продуктівності в порівнянні Із звичайна ОС Linux на 5-10%, что Дуже близько до нашими СПОСТЕРЕЖЕННЯ. Однак єдина рядок з помилковості кодом у драйвері Linux может прізвесті до збою фатального всієї операційної системи, так что Єдиним ПЕРЕВАГА цієї архітектури з точки зору надійності є більш Швидке завантаження.
мультисерверного операційні системи
Більш Складний підхід Полягає в розщепленні операційної системи на Частини и Виконання кожної Частини у власній области захисту. Одним з таких проектів БУВ SawMill Linux [12]. Прото у 2001 р. проект БУВ несподівано зупинення после того, як багат хто з йо основних учасников ПІШЛИ з IBM.
Іншім мультисерверного проектом є DROPS, в якому ОС такоже будується поверх мінімального ядра L4/Fiasco [14]. Цею проект орієнтована на Мультимедійні Додатки. Однак більшість драйверів прістроїв віконується у складі великого серверного процеса L4-Linux, и Тільки Мультимедійні підсістемі віконуються окремо. После деякої настройки програш в продуктівності знізівся до 2-4%. p> Ще однією мультисерверного операційною системою з драйверами, что віконуються в режімі користувача, є Nemesis [23]. У Цій Системі є єдиний адресності простір, розділяється всіма процесами, альо вікорістовується апаратна захист между процесами. Подібно DROPS ця система булу орієнтована на Мультимедійні Додатки, альо НЕ булу POSIX-сумісною и даже UNIX-подібної.
Висновок
основними Досягнення роботи, опісаної в Цій статьи, Полягає в тому, что ми побудувалося POSIX-сумісну операційну ...