Genode OS Framework: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Bezik (обсуждение | вклад) м -шитые ссылки и категорезаменяющие См. также, rev |
|||
Строка 8: | Строка 8: | ||
}} |
}} |
||
'''Genode OS Framework''' |
'''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 порядка по сравнению с монолитным ядром.
Как показано на рисунке справа, все компоненты защищены друг от друга, используя изоляцию с помощью отдельных адресных пространств. Таким образом, ни один компонент не может получить доступ или повредить другие компоненты без надлежащего разрешения. Связь между компонентами операционной системы может произойти только с помощью механизмов коммуникации, предоставляемых микроядром. Если один из компонентов системы будет поврежден ошибкой, то неисправность окажется локально ограниченной и не распространится на другие компоненты и подсистемы. Кроме того, микроядро обеспечивает время планирования процессора и может предоставить гарантированное время обработки для пользовательских процессов.
Примечания
- ↑ Release 24.11 — 2024.
- ↑ Leemhuis, Thorsten What's new in Linux 3.10 . The H. Heinz Heise (1 июля 2013). Дата обращения: 18 марта 2014. Архивировано из оригинала 20 февраля 2014 года.
Литература
- Norman Feske, GENODE Operating System Framework 15.05. Foundations, 2015
- Norman Feske, GENODE Operating System Framework 19.05. Foundations, 2019
Ссылки
- Англоязычные ресурсы
- Официальный сайт Genode Labs
- Публичный репозиторий с исходными кодами Genode
- Genode To Focus On Making Sculpt OS Relevant & Appealing In 2019
- Русскоязычные ресурсы
- Крестников, Евгений (01 марта 2012). "Немного экзотики: операционные системы MINIX 3.2.0 и Genode 12.02". Компьютерра. Дата обращения: 18 марта 2014.
{{cite news}}
: Проверьте значение даты:|date=
(справка); Шаблон цитирования имеет пустые неизвестные параметры:|coauthors=
(справка) - Ярыженко, Роман Обзор фреймворка для создания ОС Genode . «Хакер» (20 мая 2015). Дата обращения: 24 июля 2019.