Genode - Genode

Genode
Text loga Genode.png
2018-09-21-sculp-vc.png
Desktopový systém Sculpt založený na Genode
VývojářGenode Labs
NapsánoC ++
Pracovní stavAktuální
Zdrojový modelOtevřený zdroj
První vydání2008; Před 12 lety (2008)
Poslední vydání20.08[1] / 28. srpna 2020; před 3 měsíci (2020-08-28)
Úložiště Upravte to na Wikidata
Marketingový cílStolní počítače
Vestavěné systémy
K dispozici vAngličtina
PlatformyPAŽE, RISC-V,[2] x86, x86-64[3]
Jádro typMicrokernel
UserlandGenode, POSIX
LicenceGNU Affero General Public License, verze 3.0 a komerční
Oficiální webové stránkyhttps://genode.org

Genode je bezplatný open source software operační systém (OS) framework skládající se z a mikrokernel abstrakční vrstva a sada uživatelský prostor komponenty.[4][5][6] Rámec je pozoruhodný jako jeden z mála otevřených operačních systémů, které nejsou odvozeny od proprietárního OS, jako je Unix. Charakteristická filozofie designu je malá důvěryhodná výpočetní základna je v bezpečnostně orientovaném OS primárním zájmem.

Genode lze použít jako základ pro a stolní počítač[7][8] nebo tablet[9] OS nebo jako monitor virtuálního stroje pro hostující operační systémy. Rámec byl použit jako důvěryhodná součást zabezpečení virtualizace systémy pro oba x86[10] a PAŽE.[11]

Malý kódová základna Genode je flexibilní alternativou ke komplexnějším operačním systémům odvozeným od Unixu. Z tohoto důvodu byl rámec používán jako základní systém pro výzkum v takových oblastech, jako je virtualizace,[12] meziprocesová komunikace,[13] IP stack izolace,[14][15] monitorování,[16] a vývoj softwaru.[17][18]

Dějiny

Genode byl poprvé koncipován jako architektura Bastei OS[19] výzkumná zpráva na Technické univerzitě v Drážďanech (TU Drážďany ). Zpráva se zaměřila na zjištění praktičnosti použití OS založeného na komponentách zabezpečení založené na schopnostech. Tato zpráva byla částečně motivována výzkumem L4 mikrohypervisory[20] provedeno ve stejnou dobu. Po úspěchu raného prototypu založili autoři zprávy společnost Genode Labs, která vyvinula Bastei jako Genode OS Framework.

Zprávy

Projekt je vyvíjen veřejně jako open source projekt vydaný za podmínek GNU Affero General Public License s komerčním subjektem nabízejícím alternativní licence. Vydání jsou naplánována v tříměsíčních intervalech, aby bylo možné provést změny v systému binární rozhraní aplikace (ABI), aplikační programovací rozhraní (API) a vydat dokumentaci. Rámec OS je k dispozici ve formě zdrojového kódu a po vydání verze 18.02 je pojmenován derivát pro obecné účely Sochařství je poskytováno s binárním nasazením v cíli.

Architektonické prvky

Genode staví na obecné filozofii mikrokernelů: čím menší a jednodušší je kód, tím snazší je ověřit důvěryhodnost a správnost. Genode rozšiřuje tuto filozofii na uživatelský prostor skládáním složitých aplikací z malých komponent. Každá složka existuje v přísné hierarchii vztahů rodič-dítě. Jakákoli součást jednající jako nadřazený může použít zdroj a meziprocesová komunikace (IPC) zásady přístupu k jeho dětem. Toto hierarchické rozložení systému přináší intuitivní rozdělení oddílů a deeskalaci oprávnění, protože specializované subsystémy jsou vnořeny do obecnějších subsystémů, což zmírňuje zmatený problém zástupce endemický až centralizovaný nebo superuživatel systémová politika.

Rámec je navržen tak, aby byl hostován mikrokernely, ale vlastnosti kteréhokoli daného mikrokernelu spadají většinou do společné sady a monolitická jádra implementovat nadmnožinu těchto funkcí. Abstrahování těchto funkcí umožňuje společnosti Genode fungovat jako uživatelský prostor pro různé mikrojádra L4,[21][22] a Linux.

Kritika

C ++

Genode je často kritizována volba jeho implementačního jazyka, C ++ (několik dalších operačních systémů implementovaných v C ++ zahrnuje BeOS, Fuchsie, Duch, Haiku, ZahrnoutOS, OSv, Palm OS, ReactOS, Slabika a všechny hlavní vyhledávače). Tato kritika obvykle tvrdí, že C ++ je špatná volba pro implementaci systémových knihoven a API kvůli inherentní složitosti C ++ a obtížnosti při analýze kódu na správné chování. Zatímco Genode ve své systémové knihovně využívá více dědičností a šablon, použití C ++ standardní knihovna není povoleno a jazykové funkce, které se spoléhají na implicitní globální stav, jako např místní úložiště vláken a globální alokátor, byly odstraněny z modulu runtime jazyka.[23] Komplexní statická analýza C ++ není možná. Projekt Genode však publikuje jednotkové testy pro empirickou analýzu.

XML

Genode komponenty spotřebovávají a publikují stav pomocí strukturovaných dat serializovaných v XML, na rozdíl od prostého textu modelu unixových derivátů. Rámec Genode využívá XML efektivně ve všech svých komponentách, protože XML je snadno analyzován a generován programově, přičemž je stále možné jej pochopit a upravit ručně.

Místní jmenné mezery

Genode chybí žádný praktický globál jmenný prostor; neexistuje žádný globální souborový systém nebo registr procesy nebo IPC koncové body. To je na rozdíl od systémů, jako je Unix, které se vyznačují všudypřítomným souborovým systémem a umožňují kontextu superuživatele libovolně spravovat jakýkoli proces v systému. Výslovné deklarace oprávnění a směrování komponent může být ve srovnání s Unixem vnímáno jako pracovně náročné. Správa s rozčleněním však umožňuje, aby byly podsystémy spravovány vzájemně nedůvěryhodnými správci systému na stejném stroji, aniž by se uchýlil k virtualizaci, což je běžná metoda izolace.

Sochařství

Projekt Genode publikuje desktopový operační systém s názvem Sochařství který se zaměřuje na současného spotřebitele notebooky.[24] Sculpt je malý základní systém s automatickou detekcí a konfigurací zařízení, některými ovládacími rozhraními GUI a rozhraními pro správce balíčků Genode. Systém neobsahuje úplné desktopové prostředí, ale vyžaduje nasazení uživatelů virtuální stroje hostování tradičních operačních systémů pro plně vybavený desktop. Sculpt se odlišuje od rámce operačního systému Genode v tom, že se silně spoléhá na dynamickou rekonfiguraci pomocí privilegovaných ovládacích komponent na rozdíl od specializovaných systémů se statickými zásadami.

Viz také

Reference

  1. ^ „Poslední vydání Genode OS Framework“.
  2. ^ „Genode OS přidává podporu RISC-V“.
  3. ^ Larabel, Michael. „Genode vyvíjí multiplexor GPU pro grafický hardware Intel“. Phoronix.
  4. ^ „Představení rámce Genode OS“. archive.fosdem.org/2012.
  5. ^ „Operační systémy založené na L4“. L4hq.org. Archivovány od originál dne 2018-06-14. Citováno 2018-06-01.
  6. ^ Larabel, Michael. „Redox OS, MINIX, Hurd & Genode měl svůj čas také na FOSDEM“. Phoronix.
  7. ^ Baader, Hans-Joachim. „Genode 2018.2 mit Sculpt OS“. pro-linux.de.
  8. ^ Larabel, Michael. „Sculpt chce být univerzálním operačním systémem postaveným na genode“.
  9. ^ Tarasikov, Alexander (11. 5. 2013). „Přenos Genode na komerční hardware“. Nesnáším software. Blogger.
  10. ^ „Muen: x86 / 64 Separation Kernel for High Assurance“.
  11. ^ Williams, John. „Kontrola dat z bezpečí vašeho důvěryhodného prostředí pro provádění“ (PDF).
  12. ^ „Ambasády: Radikální refaktorování webu“ (PDF). USENIX.
  13. ^ Wegner, Martin; Holthusen, Sönke (11. 12. 2014). „Specifikace smlouvy a jazyk“. ccc-project.org.
  14. ^ Hamad, Mohammad (06.01.2016). „Zabezpečený komunikační modul CCC“. ccc-project.org.
  15. ^ Hamad, Mohammad. „Komunikační rámec pro řízení distribuovaného přístupu v systémech založených na mikrokernelech“ (PDF).
  16. ^ Pruthiviraj, B .; Madhusuthun, GS; Vijayasarathy, S .; Chakrapani, K. „Zabezpečený operační systém založený na mikrokernelu využívající Genode Framework“ (PDF). JATIT.
  17. ^ Hähne, Ludwig. "Empirické srovnání SCons a GNU Make" (PDF).
  18. ^ Millo-Sánchez, Reinier; Paz Rodríguez, Waldo; Fajardo-Moya, Alexis. „Genode OS Framework, un framework para el desarrollo de sistemas embebidos“. ResearchGate.
  19. ^ „Technická zpráva TU Dresden TUD-FI06-07“ (PDF).
  20. ^ „Mikrohypervisor NOVA“.
  21. ^ „Operační systémy založené na L4“. L4hq.org. Archivovány od originál dne 2018-06-14. Citováno 2018-06-01.
  22. ^ „Komunitní projekty SeL4“. sel4.systémy.
  23. ^ „Genode's Conscious C ++ dialect“. genodians.org. Citováno 2019-11-29.
  24. ^ „Poznámky k verzi 18.02“.

externí odkazy

Oficiální webové stránky

Oficiální webové stránky

Výzkumné projekty