Генод - Genode

Генод
Genode логотипі text.png
2018-09-21-sculpt-vc.png
Генодқа негізделген Sculpt жұмыс үстелінің жүйесі
ӘзірлеушіГенод зертханалары
ЖазылғанC ++
Жұмыс жағдайыАғымдағы
Дереккөз моделіАшық ақпарат көзі
Бастапқы шығарылым2008; 12 жыл бұрын (2008)
Соңғы шығарылым20.08[1] / 2020 жылғы 28 тамыз; 3 ай бұрын (2020-08-28)
Репозиторий Мұны Wikidata-да өңдеңіз
Маркетингтің мақсатыҮстелдік компьютерлер
Кіріктірілген жүйелер
Қол жетімдіАғылшын
ПлатформаларҚОЛ, RISC-V,[2] x86, x86-64[3]
Ядро түріМикро ядролы
UserlandГенод, POSIX
ЛицензияGNU Affero жалпы қоғамдық лицензиясы, 3.0 нұсқасы және коммерциялық
Ресми сайтhttps://genode.org

Генод Бұл ақысыз және бастапқы көзі ашық бағдарламалық жасақтама операциялық жүйе (OS) а-дан тұратын құрылым микро ядро абстракциялық қабат және жиынтығы пайдаланушы кеңістігі компоненттер.[4][5][6] Рамка, мысалы, меншікті ОС-тан алынбаған бірнеше ашық көзді амалдық жүйелердің бірі ретінде ерекше назар аударады Unix. Дизайнға тән философия - бұл аз сенімді есептеу базасы қауіпсіздікке бағытталған ОЖ-да бірінші кезектегі мәселе болып табылады.

Генодты а ретінде негіз ретінде пайдалануға болады жұмыс үстелі[7][8] немесе планшет[9] ОЖ немесе а виртуалды машина мониторы қонақтардың операциялық жүйелеріне арналған. Жақтау қауіпсіз компонент ретінде қолданылған виртуалдандыру екеуіне арналған жүйелер x86[10] және ҚОЛ.[11]

Кішкентай код негізі Genode оны Unix-тен алынған операциялық жүйеге икемді балама етеді. Осы себептен рамка виртуалдандыру,[12] процесаралық байланыс,[13] IP стегі оқшаулау,[14][15] бақылау,[16] және бағдарламалық жасақтама жасау.[17][18]

Тарих

Генод алғаш рет Bastei OS сәулеті ретінде ойластырылған[19] Дрезден техникалық университетіндегі зерттеу есебі (Дрезден ). Есеп берудің негізгі бағыты компоненттерге негізделген ОЖ-ны қолданудың практикалық мүмкіндігін анықтау болды мүмкіндікке негізделген қауіпсіздік. Бұл есеп ішінара зерттеуге түрткі болды L4 микрогипервизорлар[20] сол уақытта жүргізілді. Ертедегі прототиптің жетістігінен кейін есеп авторлары Bastei-ді Genode OS Framework ретінде дамыту үшін Genode Labs компаниясын құрды.

Шығарылымдар

Жоба ашық шартты жоба ретінде ашық түрде әзірленген GNU Affero жалпыға ортақ лицензиясы баламалы лицензиялауды ұсынатын коммерциялық ұйыммен. Жүйеге өзгерістер енгізу үшін шығарылымдар үш айлық аралықпен жоспарланған екілік интерфейс (ABI), қолданбалы бағдарламалау интерфейсі (API) және құжаттаманы шығарыңыз. ОЖ құрылымы бастапқы код түрінде қол жетімді және 18.02 шыққаннан кейін жалпы мақсаттағы туынды аталған Мүсін мақсатты екілік орналастырумен қамтамасыз етілген.

Сәулеттік ерекшеліктері

Генод микроконнелдердің жалпы философиясына сүйенеді: код неғұрлым кішірек және қарапайым болған сайын, сенімділік пен дұрыстықты тексеру оңайырақ болады. Генод бұл философияны кішігірім компоненттерден күрделі қосымшалар құру арқылы қолданушы кеңістігіне тарайды. Әр компонент ата-ана мен баланың қарым-қатынасының қатаң иерархиясында болады. Ата-ана ретінде әрекет ететін кез-келген компонент ресурсты қолдана алады және процесаралық байланыс (IPC) өз балаларына қол жеткізу саясаты. Бұл иерархиялық жүйенің орналасуы интуитивті бөлуді және артықшылықты азайтуды береді, өйткені мамандандырылған ішкі жүйелер жалпы ішкі жүйелерде орналасады, оларды азайтады шатастырылған депутаттық мәселе орталықтандырылған немесе супер пайдаланушы жүйелік саясат.

Рамка микро ядроларға орналастырылған, бірақ кез-келген берілген микро ядролардың ерекшеліктері көбіне жалпы жиынтыққа енеді және монолитті ядролар сол мүмкіндіктердің суперсетін енгізу. Осы мүмкіндіктерді рефераттау Genode-ға L4 микро ядроларының әртүрлілігі үшін пайдаланушы кеңістігі ретінде қызмет етуге мүмкіндік береді,[21][22] және Linux.

Сын

C ++

Генод жиі оны енгізу тілін таңдағаны үшін сынға ұшырайды, C ++ (C ++ тілінде енгізілген бірнеше басқа амалдық жүйелер кіреді) BeOS, Фуксия, Аруақ, Хайку, OS қосыңыз, OSv, Palm OS, ReactOS, Буын және барлық негізгі шолғыштар). Әдетте бұл сын C ++ жүйелік кітапханалар мен API-ді енгізу үшін нашар таңдау болып табылады, өйткені C ++ -нің өзіндік күрделілігі және дұрыс мінез-құлық үшін кодты талдау қиын. Genode жүйелік кітапханасында бірнеше мұра мен шаблондарды қолданса, C ++ стандартты кітапханасы сияқты жаһандық жағдайға сүйенетін тілдік ерекшеліктерге жол берілмейді жергілікті жад және ғаламдық бөлгіш тілдің жұмыс уақытынан алынып тасталды.[23] С ++ -ді кешенді статикалық талдау мүмкін емес. Алайда, Genode жобасы эмпирикалық талдауға арналған бірлік тестілерді жариялайды.

XML

Генод компоненттері жүйеленген құрылымдалған деректерді қолдана отырып күйді пайдаланады және жариялайды XML, Unix туындыларының қарапайым мәтіндік моделінен айырмашылығы. Genode шеңбері XML-ді оның барлық компоненттерінде тиімді пайдаланады, өйткені XML оңай талданады және бағдарламалық түрде жасалады, ал қолмен түсіну және өңдеу мүмкіндігі бар.

Жергілікті аттар аралығы

Генодта кез-келген практикалық ғаламдық жетіспейді аттар кеңістігі; ғаламдық жоқ файлдық жүйе немесе тізілімі процестер немесе IPC соңғы нүктелері. Бұл барлық жерде файлдық жүйені ұсынатын және суперпайдаланушы контекстіне жүйенің кез-келген процесін ерікті басқаруға мүмкіндік беретін Unix сияқты жүйелерден айырмашылығы. Рұқсаттар мен компоненттердің маршрутизациясын нақты жариялау Unix-ке қатысты көп еңбекті қажет етеді. Алайда, бөліп-бөлу әкімшілігі ішкі жүйелерді өзара сенімсіз басқаруға мүмкіндік береді жүйелік әкімшілер виртуалдандыруды қолданбай, сол машинада, жалпы оқшаулау әдісі.

Мүсін

Genode жобасы жұмыс үстелінің операциялық жүйесін шығарады Мүсін бұл қазіргі заманғы тұтынушыға бағытталған ноутбуктер.[24] Мүсін - бұл құрылғының автоматты түрде анықталуы мен конфигурациясы, кейбір GUI басқару интерфейстері және Genode бумасының менеджерінің фронттары бар шағын базалық жүйе. Жүйе жұмыс үстелінің толық ортасын қамтымайды, бірақ қолданушылардан орналастыруды талап етеді виртуалды машиналар толық жұмыс үстеліне арналған дәстүрлі ОЖ-ны орналастыру. Мүсін Genode операциялық жүйесінің шеңберінен ерекшеленеді, өйткені ол статикалық саясаттары бар мамандандырылған жүйелерден айырмашылығы артықшылықты басқару компоненттерін қолдана отырып динамикалық қайта конфигурациялауға негізделген.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ «Genode OS Framework соңғы шығарылымы».
  2. ^ «Genode OS RISC-V қолдауын қосады».
  3. ^ Ларабел, Майкл. «Генод Intel Graphics аппараттық құралы үшін GPU мультиплексорын дамытады». Phoronix.
  4. ^ «Genode OS Framework-ті енгізу». archive.fosdem.org/2012.
  5. ^ «L4 негізделген операциялық жүйелер». L4hq.org. Архивтелген түпнұсқа 2018-06-14. Алынған 2018-06-01.
  6. ^ Ларабел, Майкл. «Redox OS, MINIX, Hurd & Genode уақыттарын FOSDEM-де өткізді». Phoronix.
  7. ^ Баадер, Ханс-Йоахим. «Genode 2018.2 mit Sculpt OS». pro-linux.de.
  8. ^ Ларабел, Майкл. «Мүсін генодтың үстінде салынған жалпы мақсаттағы ОЖ болуға бағытталған».
  9. ^ Тарасиков, Александр (2013-05-11). «Генодты коммерциялық жабдыққа тасымалдау». Мен бағдарламалық жасақтаманы жек көремін. Блогер.
  10. ^ «Muen: Жоғары сенімділік үшін x86 / 64 бөлу ядросы».
  11. ^ Уильямс, Джон. «Сенімді орындау ортасының қауіпсіздігі туралы деректерді тексеру» (PDF).
  12. ^ «Елшіліктер: Интернетті түбегейлі қайта құру» (PDF). USENIX.
  13. ^ Вегнер, Мартин; Холтузен, Сёнке (2014-12-11). «Келісімшарттың сипаттамасы және тілі». ccc-project.org.
  14. ^ Хамад, Мұхаммед (2016-01-06). «CCC-нің қауіпсіз байланыс модулі». ccc-project.org.
  15. ^ Хамад, Мұхаммед. «Микро ядроларға негізделген жүйелердегі қол жетімділікті басқарудың байланыс жүйесі» (PDF).
  16. ^ Прутивирадж, Б .; Мадхусутун, Г.С .; Виджаясаратия, С .; Чакрапани, К. «Генодтық фреймворкті қолданатын микро ядролы қауіпсіз операциялық жүйе» (PDF). ЖАТИТ.
  17. ^ Хайне, Людвиг. «SCON мен GNU эмпирикалық салыстыруы» (PDF).
  18. ^ Милло-Санчес, Рейнье; Паз Родригес, Вальдо; Фахардо-Моя, Алексис. «Genode OS Framework, жүйенің эмбебидтері үшін жүйені құру». ResearchGate.
  19. ^ «TU Dresden TUD-FI06-07 техникалық есебі» (PDF).
  20. ^ «NOVA микрогипервайзері».
  21. ^ «L4 негізделген операциялық жүйелер». L4hq.org. Архивтелген түпнұсқа 2018-06-14. Алынған 2018-06-01.
  22. ^ «SeL4 қауымдастық жобалары». жүйелер4.
  23. ^ «Генодтың C ++ диалектісі». genodians.org. Алынған 2019-11-29.
  24. ^ «18.02 хабарламасы».

Сыртқы сілтемелер

Ресми сайттар

Ресми сайт

Ғылыми жобалар