Немає перевірених версій цієї сторінки; ймовірно, її ще не перевіряли на відповідність правилам проекту.

Екзоядро (англ. Exokernel) — це ядро операційної системи, розроблене групою паралельних і розподілених операційних систем MIT, а також клас подібних операційних систем.

Графічний огляд Exokernel. Екзоядра набагато менші за звичайне ядро (монолітне ядро). Вони надають більш прямий доступ до обладнання, таким чином усуваючи більшість абстракцій

Операційні системи зазвичай надають апаратні ресурси додаткам через абстракції високого рівня, такі як (віртуальні) файлові системи. Ідея екзоядер полягає в тому, щоб нав'язати розробникам додатків якомога менше абстракцій, дозволяючи їм приймати якомога більше рішень щодо апаратних абстракцій. Екзоядра є крихітними, оскільки функціональні можливості обмежені забезпеченням захисту та мультиплексування ресурсів, що значно простіше, ніж реалізація передачі повідомлень у звичайних мікроядрах і реалізація абстракцій високого рівня в монолітних ядрах.

Реалізовані абстракції називають бібліотечними операційними системами; вони можуть запитувати певні адреси пам'яті, дискові блоки тощо. Ядро лише гарантує, що запитуваний ресурс є вільним і програмі дозволено доступ до нього. Цей апаратний доступ низького рівня дозволяє програмісту впроваджувати власні абстракції та пропускати непотрібні, найчастіше для покращення продуктивності програми. Це також дозволяє програмістам вибрати, який рівень абстракції вони хочуть, високий або низький.

Екзоядра можна розглядати як застосування наскрізного принципу до операційних систем, оскільки вони не змушують прикладну програму накладати свої абстракції на інші абстракції, які були розроблені з урахуванням інших вимог. Наприклад, у проєкті MIT Exokernel веб-сервер Cheetah зберігає попередньо відформатовані пакети Інтернет-протоколу на диску, ядро забезпечує безпечний доступ до диска, запобігаючи неавторизованому читанню та запису, але спосіб абстрагування диска залежить від програми або бібліотек, які використовує програма.

Джерела

ред.