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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
м -шитые ссылки и категорезаменяющие См. также, rev
Строка 8: Строка 8:
}}
}}


'''Genode OS Framework''' — открытая [[Микроядро|микроядерная]] [[операционная система]], которая предоставляет унифицированное окружение для создания приложений, работающих как поверх ядра [[Linux]], так и поверх микроядер [http://os.inf.tu-dresden.de/fiasco/ Fiasco.OC], [https://web.archive.org/web/20140313081519/http://www.ok-labs.com/products/okl4-microvisor OKL4], [http://www.l4ka.org/65.php L4ka::Pistachio] и некоторых других. [[Паравиртуализация|Паравиртуализованное]] ядро L4Linux, работающее поверх ядра Fiasco.OC, позволяет запускать в Genode [[Прикладное программное обеспечение|прикладные программы]] для GNU/Linux. При этом ядро L4Linux не имеет непосредственного доступа к аппаратному обеспечению, а использует сервисы Genode через набор драйверов. В настоящее время Genode поддерживает [[Qt|Qt5]], [[WebKit]], а также различные компоненты Linux и [[BSD]].
'''Genode OS Framework''' — открытая [[Микроядро|микроядерная]] [[операционная система]], которая предоставляет унифицированное окружение для создания приложений, работающих как поверх ядра [[Linux]], так и поверх микроядер Fiasco.OC, OKL4, L4ka::Pistachio и некоторых других. [[Паравиртуализация|Паравиртуализованное]] ядро L4Linux, работающее поверх ядра Fiasco.OC, позволяет запускать в Genode [[Прикладное программное обеспечение|прикладные программы]] для Linux. При этом ядро L4Linux не имеет непосредственного доступа к аппаратному обеспечению, а использует сервисы Genode через набор драйверов. В настоящее время Genode поддерживает [[Qt|Qt5]], [[WebKit]], а также различные компоненты Linux и [[BSD]].


== Общее описание ==
== Общее описание ==
Строка 21: Строка 21:


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

== См. также ==
; Микроядра
* [[Fuchsia OS|Fuchsia]]
* [[Mach]]
* [[L4 (микроядро)|L4]]
* [[QNX]]
; Операционные системы на основе микроядер
* [[AIX]]
* [[Mac OS X]]
* [[AmigaOS]]
* [[OpenVMS]]
* [[Integrity (операционная система)|Integrity]]
* [[Amoeba (операционная система)|Amoeba]]
* [[Minix]]


== Примечания ==
== Примечания ==
{{примечания}}
{{примечания}}

== Литература ==
== Литература ==
* Norman Feske, [https://genode.org/documentation/genode-foundations-15-05.pdf GENODE Operating System Framework 15.05. Foundations], 2015
* Norman Feske, [https://genode.org/documentation/genode-foundations-15-05.pdf GENODE Operating System Framework 15.05. Foundations], 2015

Версия от 15:56, 24 января 2022

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

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

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

Пояснительная подпись
Пояснительная подпись

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

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

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

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

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

Примечания

  1. Release 24.11 — 2024.
  2. Leemhuis, Thorsten What's new in Linux 3.10. The H. Heinz Heise (1 июля 2013). Дата обращения: 18 марта 2014. Архивировано из оригинала 20 февраля 2014 года.

Литература

Ссылки

Англоязычные ресурсы
Русскоязычные ресурсы
  • Крестников, Евгений (01 марта 2012). "Немного экзотики: операционные системы MINIX 3.2.0 и Genode 12.02". Компьютерра. Дата обращения: 18 марта 2014. {{cite news}}: Проверьте значение даты: |date= (справка); Шаблон цитирования имеет пустые неизвестные параметры: |coauthors= (справка)
  • Ярыженко, Роман Обзор фреймворка для создания ОС Genode. «Хакер» (20 мая 2015). Дата обращения: 24 июля 2019.