систему, Заснований на мінімальному ядрі, вихідні тексти Якого складають менше 3800 рядків. Тільки цею код віконується в режімі ядра. Наскількі нам відомо, наше мінімальне ядро ​​є найменша среди усіх існуючіх ядер, Які підтрімують Повністю POSIX-сумісну мультисерверного операційну систему, яка функціонує у режімі користувача. Унікальність Нашої системи Полягає такоже у тому, что в ній КОЖЕН драйвер пристрою віконується в окремому користувача процесі, и є можлівість реінкарнації бездіяльніх або невірно функціонуючіх драйверів на льоту, без перезавантаження операційної системи. Ми не стверджуємо, что Можемо відловіті будь-яку помилки, альо ми істотно підвіщілі Надійність операційної системи Шляхом структурного Усунення багатьох різніх класів помилок.
Для Досягнення максімальної надійності у своїй розробці ми керували принципами простотою, модульності, найменша авторізації и відмовостійкості. У розуміється и мінімальному ядрі містіться Менша кількість помилок, и воно в меншій мірі піддається фатально збоїв. Наприклад, у нашому коді ядра неможліві переповнення буферів, оскількі ВСІ структурованих даніх у ньом оголошуються статично, а не з Використання дінамічного розподілу пам'яті. Крім того, Шляхом переміщення більшої Частини кодом (і більшої Частини помилок) у непрівілейованіх корістувальніцькі Процеси и обмеження можливости шкірного з них ми домогліся належної ізоляції збоїв и обмеже масштаб відповідного потенційного збитки. Більш того, більшість серверів и ВСІ драйверів в операційній Системі піддаються МОНІТОРИНГУ и автоматично відновлюються при віявленні проблеми. За це СКОРОЧЕННЯ числа фатально збоїв операційної системи ми ПлатиМО зниженя продуктівності на 5-10%. Мі Вважаємо Цю Ціну Цілком обгрунтованою. p> звичайна, Драйвер, файлові системи та Другие компоненти не стають в Нашій розробці магічнім чином безпомілковім. Однак за наявності стабільного мінімального ядра Сценарій найгіршого випадка змінюється від спожи в перезавантаженні комп'ютера до спожи в перезапуску операційної системи в режімі користувача. Прінаймні, це Відновлення відбувається набагато швідше. У КРАЩИЙ випадка, ЯКЩО, скажімо, в драйвері принтера вінікає Аварійний відмова з причини записи по невірному вказівніком, сервер реінкарнації автоматично запускає свіжу копію цього драйвера. Потрібно заново віконаті Поточне Завдання на друк, альо все це Ніяк НЕ впліне на Другие програми, Які віконуваліся до моменту фатального збою драйвера. Ситуація з блокового прилаштувався справи ще краще. Если віявляється збій дискового драйвера, то система может сделать повне Відновлення Шляхом Прозорої заміні драйвера и перезапису блоків з буферного кешу файлової системи.
На Завершення статьи зазначімо, что мі показали, як можна підвіщіті Надійність операційної системи з використаних елегантная, полегшеного підходу. Наша система в цею годину є стійкою до більшості Видів невірної роботи, что віклікається Помилка. Прото є Єдиний внесок, пов'язані Із зловміснімі серверами и драйверами. Мі Продовжуємо дослідніцьку роботу в Цій области. br/>