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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
м Исправление псевдозаголовков (см. Википедия:Доступность#Заголовки)
 
(не показана 21 промежуточная версия 13 участников)
Строка 1: Строка 1:
{{Карточка ОС
{{Карточка ОС
|name = Genode
| name = Genode
|developer = [http://www.genode-labs.com/ Genode Labs] и многочисленные разработчики по всему миру
| developer = [http://www.genode-labs.com/ Genode Labs] и многочисленные разработчики по всему миру
|source_model = [[открытое программное обеспечение|открытый]]
| source_model = [[открытое программное обеспечение|открытый]]
|kernel_type = [[микроядро]]
| kernel_type = [[микроядро]]
| working_state = актуальное
|license = [[GNU GPL]]

|working_state = актуальное
|latest_release_version = 14.11
|latest_release_date = [[28 ноября]][[2014]]<ref>[http://genode.org/news/genode-os-framework-release-14.11 Genode OS Framework release 14.11]</ref>
}}
}}


Genode OS Framework — открытая [[Микроядро|микроядерная]] [[Операционная_система|операционная система]], которая предоставляет унифицированное окружение для создания приложений, работающих как поверх ядра [[Linux|Linux]], так и поверх микроядер [http://os.inf.tu-dresden.de/fiasco/ Fiasco.OC], [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 поддерживает [[Qt4|Qt4]], [[WebKit|WebKit]], а также различные компоненты Linux и [[BSD|BSD]].
'''Genode OS Framework''' — открытая [[Микроядро|микроядерная]] [[операционная система]], которая предоставляет унифицированное окружение для создания приложений, работающих как поверх ядра [[Linux]], так и поверх микроядер Fiasco.OC, OKL4, L4ka::Pistachio и некоторых других. [[Паравиртуализация|Паравиртуализованное]] ядро L4Linux, работающее поверх ядра Fiasco.OC, позволяет запускать в Genode [[Прикладное программное обеспечение|прикладные программы]] для Linux. При этом ядро L4Linux не имеет непосредственного доступа к аппаратному обеспечению, а использует сервисы Genode через набор драйверов. В настоящее время Genode поддерживает [[Qt|Qt5]], [[WebKit]], а также различные компоненты Linux и [[BSD]].


== Общее описание ==
== Общее описание ==
[[Файл:Genode_intro.png|справа|upright|Пояснительная подпись]]
[[Файл:Genode intro.png|справа|upright|Пояснительная подпись]]
Большинство современных ядер операционных систем, таких как ядро ​​Linux, представляют собой весьма сложное программное обеспечение, которое содержит всё необходимое для управления ресурсами, например, управление памятью, доступ к оборудованию, хранение информации о файловой системе, обработка сетевых пакетов и многое другое. Поэтому такие ядра требует привилегии для управления всем аппаратным обеспечением.
Большинство современных ядер операционных систем, таких как ядро Linux, представляют собой весьма сложное программное обеспечение, которое содержит всё необходимое для управления ресурсами, например, управление памятью, доступ к оборудованию, хранение информации в файловой системе, обработка сетевых пакетов и многое другое. Поэтому такие ядра требует привилегии для управления всем аппаратным обеспечением.


Высокие функциональные требования и широкий спектр существующих аппаратных платформ вызывают быстрый рост кодовой базы таких ядер. Так версия Linux 3.10, выпущенная в 2013 году, содержала порядка 16 миллионов строк кода<ref>{{cite web |url=http://www.h-online.com/open/features/What-s-new-in-Linux-3-10-1902270.html |title=What's new in Linux 3.10 |last=Leemhuis |first=Thorsten |date=1 July 2013 |work=The H |publisher=[[Heinz Heise]] |accessdate=18 March 2014}}{{dead link|date=January 2015}}</ref>. В системах такого масштаба невозможно полностью избежать ошибок и утечек безопасности. Ошибка в одной из подсистем может привести выходу из строя всего ядра операционной системы.
Высокие функциональные требования и широкий спектр существующих аппаратных платформ вызывают быстрый рост кодовой базы таких ядер. Так версия Linux 3.10, выпущенная в 2013 году, содержала порядка 16 миллионов строк кода<ref>{{cite web |url=http://www.h-online.com/open/features/What-s-new-in-Linux-3-10-1902270.html |title=What's new in Linux 3.10 |last=Leemhuis |first=Thorsten |date=2013-07-01 |work=The H |publisher=[[Heinz Heise]] |accessdate=2014-03-18 |deadurl=yes |archiveurl=https://web.archive.org/web/20140220194606/http://www.h-online.com/open/features/What-s-new-in-Linux-3-10-1902270.html |archivedate=2014-02-20 }}</ref>. В системах такого масштаба невозможно полностью избежать ошибок и утечек безопасности. Ошибка в одной из подсистем может привести выходу из строя всего ядра операционной системы.


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


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


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


== См. также ==
== Примечания ==
{{примечания}}
; Микроядра

* [[Mach]]
== Литература ==
* [[L4 (микроядро)|L4]]
* Norman Feske, [https://genode.org/documentation/genode-foundations-15-05.pdf GENODE Operating System Framework 15.05. Foundations], 2015
* [[QNX]]
* Norman Feske, [https://genode.org/documentation/genode-foundations-19-05.pdf GENODE Operating System Framework 19.05. Foundations], 2019
; Операционные системы на основе микроядер
* [[AIX]]
* [[osFree]]
* [[Mac OS X]]
* [[AmigaOS]]
* [[OpenVMS]]
* [[Integrity (операционная система)|Integrity]]
* [[Amoeba (операционная система)|Amoeba]]
* [[Minix]]


== Ссылки ==
== Ссылки ==
; Англоязычные ресурсы
'''Англоязычные ресурсы'''
* [http://www.genode-labs.com/ Официальный сайт Genode Labs]
* [http://www.genode-labs.com/ Официальный сайт Genode Labs]
* [https://github.com/genodelabs/genode Публичный репозиторий с исходными кодами Genode]
* [https://github.com/genodelabs/genode Публичный репозиторий с исходными кодами Genode]
* [https://www.phoronix.com/scan.php?page=news_item&px=Genode-2019-Roadmap-Sculpt-OS Genode To Focus On Making Sculpt OS Relevant & Appealing In 2019]
; Русскоязычные ресурсы
'''Русскоязычные ресурсы'''
* {{cite news |first=Евгений |last=Крестников |authorlink= |coauthors= |title=Немного экзотики: операционные системы MINIX 3.2.0 и Genode 12.02 |url=http://www.computerra.ru/25784/nemnogo-ekzotiki-minix-3-2-0-i-genode-12-02/ |work= |publisher= [[Компьютерра]] |date=01 марта 2012 |accessdate=2014-03-18 }}
* {{cite news |first=Евгений |last=Крестников |authorlink= |title=Немного экзотики: операционные системы MINIX 3.2.0 и Genode 12.02 |url=http://www.computerra.ru/25784/nemnogo-ekzotiki-minix-3-2-0-i-genode-12-02/ |work= |publisher= [[Компьютерра]] |date=2012-03-01 |accessdate=2014-03-18 }}

* {{cite web|author=Роман Ярыженко|last=Ярыженко|first=Роман|title=Обзор фреймворка для создания ОС Genode|url=https://xakep.ru/2015/05/20/genode-os-build-review/|website=«Хакер»|date=2015-05-20|accessdate=2019-07-24}}
== Примечания ==
{{примечания}}

{{Операционные системы}}
{{Операционные системы}}
{{изолированная статья}}


[[Категория:Свободные операционные системы]]
[[Категория:Свободные операционные системы]]
[[Категория:Встраиваемые операционные системы]]
[[Категория:Встраиваемые операционные системы]]
[[Категория:Операционные системы на основе микроядер]]

Текущая версия от 04:37, 12 октября 2024

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 года.

Литература

[править | править код]

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

Русскоязычные ресурсы

  • Крестников, Евгений (2012-03-01). "Немного экзотики: операционные системы MINIX 3.2.0 и Genode 12.02". Компьютерра. Дата обращения: 18 марта 2014.
  • Ярыженко, Роман Обзор фреймворка для создания ОС Genode. «Хакер» (20 мая 2015). Дата обращения: 24 июля 2019.