Portál AbcLinuxu, 30. dubna 2025 16:49
U příležitosti oslav 30. výročí založení projektu GNU byl vydán GNU Hurd 0.5 spolu s GNU Mach 1.4 a GNU MIG 1.4. Cílem projektu GNU Hurd je nahrazení unixového jádra sadou serverů běžících nad mikrojádrem GNU Mach. GNU MIG je nástroj potřebný pro překlad GNU Hurd a GNU Mach. Mikrojádro GNU Mach spolu s GNU Hurd je obsaženo například v distribucích Debian GNU/Hurd nebo Arch Hurd.
Tiskni
Sdílej:
nejsem přesvědčen, že tento koncept dokáže - hlavně co do výkonu - konkurovat dobře odladěnému monolitu.
Je jen otázkou času, kdy SMP umře na neškálovatelnosti. Tak jako SMP nahradilo jednoprocesorové systémy. Domnívám se, že budoucnost je ve věcech jako big.LITTLE, Tile, Power/Cell. Tady jsou monolitické systémy hodně nemotorné.
Další přednosti jako že uživatel může mít vlastní ovladače (třeba pro filesystém), které nemohou ohrozit stabilitu systému jako celku, jsou v dnešní době pasé.
Fuse, GIO, D-bus. To je opravdu pasé. Právě s rozvojem vícevláknových systémů, kdy máte dedikovaný (softwarový) server na každou kravinu, dostává mikrojádro nový směr. Když virtualizace je už všude (jmenné prostory), pak je celkem jedno, jestli server běží v uživatelském nebo jaderném prostoru. Přepínání kontextu nemá smysl řešit, když si můžete (a často kvůli topologii musíte) vyhradit procesory na určité služby.
To bych tak úplně za známku mikrokernelovatění nepovažoval. Navíc IMHO většina kernel threadů stejně jen obsluhuje buď softirq nebo nějakou workqueue pro něco, co není praktické dávat do defaultní (a samozřejmě dost narostl počet instancí samotného worker
).
Jako známku přibližování bych viděl spíš věci jako FUSE, ale i tam je pořád docela zásadní rozdíl v tom, že v Linuxu se používá jen PL 0 (kernel) a 3 (userspace), takže jakýkoli kód je z hlediska oprávnění buď plně kernel space (s absolutními právy) nebo plně userspace.
To je jen implementační detail na zajištění bezpečnosti.
IMHO velmi podstatný detail - kvůli tomu se to koneckonců dělá.
A protože jednotlivé procesy si nevidí do paměti, tak nezbývá než se spolehnout na IPC a řešit všechny ošklivosti spojené s asynchronní podstatou protokolu.
Což v případě linuxových kernel threads neplatí ani v hodně vzdálené aproximaci.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.