Genode OS Framework: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
См. также: оформление
Строка 22: Строка 22:
* [[QNX]]
* [[QNX]]
; Операционные системы на основе микроядер
; Операционные системы на основе микроядер
{{col-begin}}
{{col-4}}
* [[AIX]]
* [[AIX]]
* [[osFree]]
* [[osFree]]
{{col-4}}
* [[Mac OS X]]
* [[Mac OS X]]
* [[AmigaOS]]
* [[AmigaOS]]
{{col-4}}
* [[OpenVMS]]
* [[OpenVMS]]
* [[Integrity (операционная система)|Integrity]]
* [[Integrity (операционная система)|Integrity]]
{{col-4}}
* [[Amoeba (операционная система)|Amoeba]]
* [[Amoeba (операционная система)|Amoeba]]
* [[Minix]]
* [[Minix]]
{{col-end}}


== Ссылки ==
== Ссылки ==

Версия от 09:20, 18 марта 2014

Genode
Изображение логотипа
Разработчик Genode Labs и многочисленные разработчики по всему миру
Последняя версия
Тип ядра микроядро
Лицензия GNU GPL
Состояние актуальное
Репозиторий исходного кода github.com/genodelabs/ge…
Веб-сайт genode.org (англ.)

Genode OS Framework — открытая микроядерная операционная система, которая предоставляет унифицированное окружение для создания приложений, работающих как поверх ядра Linux, так и поверх микроядер Fiasco.OC, OKL4, L4ka::Pistachio и некоторых других. Паравиртуализованное ядро L4Linux, работающее поверх ядра Fiasco.OC, позволяет запускать в Genode прикладные программы для GNU/Linux. При этом ядро L4Linux не имеет непосредственный доступ к аппаратному обеспечению, а использует сервисы Genode через набор драйверов.

Общее описание

Большинство современных ядер операционных систем, таких как ядро ​​Linux, представляют собой весьма сложное программное обеспечение, которое содержит всё необходимое для управления ресурсами, например, управление памятью, доступ к оборудованию, хранение информации о файловой системе, обработка сетевых пакетов и многое другое. Поэтому такие ядра требует привилегии для управления всем аппаратным обеспечением.

Высокие функциональные требования и широкий спектр существующих аппаратных платформ вызывают быстрый рост кодовой базы таких ядер. Так версия Linux 3.10, выпущенная в 2013 году, содержала порядка 16 миллионов строк кода[2]. В системах такого масштаба невозможно полностью избежать ошибок и утечек безопасности. Ошибка в одной из подсистем может привести выходу из строя всего ядра операционной системы.

Современные операционные системы и аппаратные платформы обеспечивают механизмы изоляции запущенных приложений пользователя: каждое приложение запускается в выделенном адресном пространстве и взаимодействует с другими приложениями только через механизмы, предусмотренные ядром. Таким образом, ядро ​​эффективно защищает пользовательские приложения друг от друга.

Системы с микроядром используют эти методы не только для пользовательских приложений, но и для драйверов устройств, файловых систем и других типичных подсистем на уровне ядра. Таким образом, эффект ошибки в одном из компонентов локально ограничен. Микроядро отзывает все необязательные привилегии от каждого компонента и тем самым сокращает общую сложность кода, работающего в привилегированном режиме, на порядок по сравнению с монолитным ядром. Связь между компонентами операционной системы может произойти только с помощью механизмов коммуникации, предоставляемых микроядром. Кроме того, микроядро обеспечивает время планирования процессора и может предоставить гарантированное время обработки для пользовательских процессов.

См. также

Микроядра
Операционные системы на основе микроядер

Ссылки

Англоязычные ресурсы

Примечания

  1. Release 24.11 — 2024.
  2. Leemhuis, Thorsten What's new in Linux 3.10. The H. Heinz Heise (1 июля 2013). Дата обращения: 18 марта 2014. (недоступная ссылка)