Екзоядро
Матеріал з Вікіпедії — вільної енциклопедії.
Екзоядро (англ. Exokernel) — це ядро операційної системи, розроблене групою паралельних і розподілених операційних систем MIT, а також клас подібних операційних систем.
Операційні системи зазвичай надають апаратні ресурси додаткам через абстракції високого рівня, такі як (віртуальні) файлові системи. Ідея екзоядер полягає в тому, щоб нав'язати розробникам додатків якомога менше абстракцій, дозволяючи їм приймати якомога більше рішень щодо апаратних абстракцій. Екзоядра є крихітними, оскільки функціональні можливості обмежені забезпеченням захисту та мультиплексування ресурсів, що значно простіше, ніж реалізація передачі повідомлень у звичайних мікроядрах і реалізація абстракцій високого рівня в монолітних ядрах.
Реалізовані абстракції називають бібліотечними операційними системами; вони можуть запитувати певні адреси пам'яті, дискові блоки тощо. Ядро лише гарантує, що запитуваний ресурс є вільним і програмі дозволено доступ до нього. Цей апаратний доступ низького рівня дозволяє програмісту впроваджувати власні абстракції та пропускати непотрібні, найчастіше для покращення продуктивності програми. Це також дозволяє програмістам вибрати, який рівень абстракції вони хочуть, високий або низький.
Екзоядра можна розглядати як застосування наскрізного принципу до операційних систем, оскільки вони не змушують прикладну програму накладати свої абстракції на інші абстракції, які були розроблені з урахуванням інших вимог. Наприклад, у проєкті MIT Exokernel веб-сервер Cheetah зберігає попередньо відформатовані пакети Інтернет-протоколу на диску, ядро забезпечує безпечний доступ до диска, запобігаючи неавторизованому читанню та запису, але спосіб абстрагування диска залежить від програми або бібліотек, які використовує програма.
Ядро | |
---|---|
Керування процесами | Режими (супервізора • користувача) • Переривання • Кільця захисту • Перемикання контексту • Багатозадачність (витискальна багатозадачність • кооперативна • Процесорний час • мультипрограмування) • Процес • Планувальник ОС • Диспетчер завдань • Багатонитковість |
Керування пам'яттю | Захист пам'яті • Сегментація пам'яті • Сторінкова пам'ять • Менеджер віртуальної пам'яті • Помилка сегментації • Загальна помилка захисту |
Безпека | |
Приклади | |
Інше | Прикладний програмний інтерфейс (API) • Інтерфейс командного рядка (CLI) • Графічний інтерфейс користувача (GUI) • Шар апаратних абстракцій (HAL) • PXE • TUI • VFS • VOI • Virtual tape library • Віртуальна файлова система • Завантажувач ОС • Комп'ютерна мережа • Історія операційних систем |
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.