Portál AbcLinuxu, 10. května 2025 16:57

Jaderné noviny 171

25. 6. 2002 | Leoš Literák
Články - Jaderné noviny 171  

Stav kbuildu a CML2, Adeos - nanokernel běžící s Linuxem a šetření spotřeby baterií.

Do konference přišlo celkem 1177 emailů, nejvíce psali Thunder from the hill, Keith Owens a Patrick Mochel.

Stav kbuildu a CML2, 25 emailů

Keith Owens oznámil kbuild 3.0 pro nestabilní řadu. Jednou ze změn bylo i odstranění podpory CML2 a Hayden A. James se zeptal na důvod. Keith vysvětlil, že Eric S. Raymond odešel z konference. CML2 a kbuild 2.5 jsou na sobě nezávislé a mít oba ve stejném patchi se stávalo čím dál více obtížnější. Konfigurační pravidla v kbuildu 2.5 jsou čistá [clean], takže podpora jiných variant CML může být dodána kdykoliv.

Souběžně s touto diskusí Keith spustil ještě jednu - o integraci nového kbuildu do jádra. Keith už se cítil být frustrován tím, že jej Linus ignoruje a tak požádal veřejnost, aby za něj orodovala u Linuse. Kbuild 2.5 je podle něj dobře otestovaný a dokumentovaný systém, který je rychlejší a přesnější než předchozí verze, přesto je to Linusovi málo a soudí spíše podle jeho popularity a osobních předsudků než podle technických kvalit.

Nicolas Pitre reagoval s tím, že už před časem mu radil, ať zasílá malé patche, ale Keith to označil za hloupý komentář. Později dodal, že Keith dělá skvělou práci, ale nedokáže spolupracovat s Linusem. Někdo zaslal odkaz na mail, ve kterém Linus před pár týdny požádal Kaie Germaschewskiho o integraci kbuildu a Kai potvrdil, že na tom pracuje. Ale Kai Henningsen podotkl, že není vidět, jak tato integrace pokračuje a navíc si Kai vybírá jen nízko visící ovoce, zatímco ostatní vlastnosti ignoruje. Linus podle něj nechápe, že kbuild nemůže být začleněn po částech. Podle něj současný přístup nemůže fungovat.

Adeos, nanokernel běžící s Linuxem, 59 emailů

Karim Yaghmour oznámil první verzi nanokernelu Adeos. Tisková zpráva je dostupná na adrese http://www.freesoftware.fsf.org/adeos/pr-2002-06-03.en.txta projekt na http://freesoftware.fsf.org/projects/adeos/. Kód je uvolněn pod licencí GPL. Adeos je založen na výzkumu a publikacích z raných devadesátých let. Místo aby nejdříve postavili nanokernel a pak pro něj postavili klientské operační systémy, tak použili funkční OS a vložili před něj nanokernel. Nyní je možné vložit další operační systémy vedle Linuxu.

Adeos umožňuje existovat více doménám vedle sebe, přičemž žádná doména nevidí jinou doménu, ale všechny vidí Adeos. Doména je obvykle kompletní operační systém, ale neděláme v tomto ohledu žádné předpoklady, co přesně doména je. Aby bylo možné sdílet hardware mezi různými operačními systémy, Adeos implementuje rouru přerušení [interrupt pipeline] - ipipe. Každá doména má vstup do ipipe. Každé přerušení je vloženo do ipipe a tak je propagováno ke všem doménám. Místo povolení/zakázání přerušení domény manipulují s rourou. Pokud je prvek v rouře uzamčen [ipipe stage is stalled], pak doména neobdrží žádné přerušení. Každý prvek může samozřejmě dělat s přerušením spoustu věcí, mezi nimiž je rozhodnutí nepropagovat přerušení dále. Nezávisle na operacích provedených v rouře, Adeos sám o sobě si nehraje s maskou přerušení. Jedinou vyjímkou je přidávání / odebírání domény z ipipe. To také znamená, že žádný OS nesmí používat skutečné hradwarové CLI/STI (stejnou funkčnost nabízí funkce odemykání/zamykání [stall/unstall].

Jejich práce je postavena na těchto výzkumech:

  1. D. Probert, J. Bruno, and M. Karzaorman. "Space: a new approach to operating system abstraction." In: International Workshop on Object Orientation in Operating Systems, pages 133-137, October 1991.
  2. D. Probert, J. Bruno. "Building fundamentally extensible application- specific operating systems in Space", March 1995.
  3. D. Cheriton, K. Duda. "A caching model of operating system kernel functionality". In: Proc. Symp. on Operating Systems Design and Implementation, pages 179-194, Monterey CA (USA), 1994.
  4. D. Engler, M. Kaashoek, and J. O'Toole Jr. "Exokernel: an operating system architecture for application-specific resource management", December 1995.

Některé možné příklady použití:

  1. Podobně jako User-Mode Linux, je možné spustit dva linuxové kernely na jednom hardwaru. Narozdíl od UML, kde jeden kernel běží na druhém, pod Adeosem budou běžet skutečně vedle sebe. Tak by bylo možné říci, aby jeden kernel používal spodní půlku RAM a druhý horní během bootu. Zjistili jsme ale, že by bylo třeba provést hodně změn, například aby jen jeden inicializoval hardware. Nicméně tato možnost by měla být lépe prostudována.
  2. Podobně by mohly běžet vedle Linuxu další kernely a BSD je první kandidát. Bylo by hezké sledovat virtuální stroje jako je VMWare a Plex86.
  3. Začleněním Adeose do hlavního stromu jádra by se vyřešil hlavní problém s kernelovými debuggery: skákání do přerušení v jádře. Debugger by pak mohl mít podobu modulu a nevyžadoval by žádné speciální patche.
  4. Ovladače, které požadují absolutní prioritu a nemají rády, jak ostatní části kernelu zacházejí s CLI/STI, si mohou vytvořit vlastní doménu a umístit se v ipipe před Linux. Tento přístup poskytuje mechanismus pro poskytování garantovaných realtime odpovědí [responses].

Šetření spotřeby baterií, 31 emailů

Andrew Morton zaslal patch, jehož cílem je ušetřit energii baterek na laptopech. Patch najdete na této adrese. Myšlenka je jednoduchá: nastavením hodnoty proměnné laptop_mode na 1 v /proc/sys/vm/ se jádro přepne do módu určeného pro notebooky a laptopy. Tento mod se snaží minimalizovat frekvenci buzení disku. Data na zapsání [dirty data] zůstávají v paměti delší dobu než normálně. Pokud je disk z nějakého důvodu (například čtení) vzbuzen, pak se toho využije a veškerá dirty data jsou zapsána. Pokud se kernel rozhodne zapsat nějaká data na disk, tak zapíše všechna data. Perioda zápisu dat je nastavitelná přes proměnnou laptop_writeback_centisecs a předvolená hodnota činí pět minut.

Rozběhla se diskuse jak nad dalšími vlastnostmi, tak nad technickými detaily. Andreas Dilger podotkl, že pětiminutový interval není vhodný, neboť koliduje s nastavením šetřícího modu v BIOSech. Proto doporučil nejméně 15-20 minut. Andrew tuto námitku přijal a nastavil proměnnou na dvacet minut.

Tento článek vychází ze seriálu Kernel Traffic (http://kt.zork.net) a je zveřejněn pod licenci GPL verze 2.

Další články z této rubriky

Jaderné noviny – přehled za březen 2025
Jaderné noviny – přehled za únor 2025
Jaderné noviny – přehled za leden 2025
Jaderné noviny – přehled za prosinec 2024
Jaderné noviny – přehled za listopad 2024

Diskuse k tomuto článku

CIJOML avatar 25.6.2002 20:23 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Patch neeeeniiii
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak ten patch tam neni...bohuzel :( a ja bych ho zrovna potreboval :(
26.6.2002 07:55 Stefan
Rozbalit Rozbalit vše Patch neeeeniiii
jak snadné milý Watsone http://www.uwsg.indiana.edu/hypermail/linux/kernel/0206.0/0857.html patch je tam jako příloha
1.7.2002 14:40 pa3k
Rozbalit Rozbalit vše Patch neeeeniiii
to bude tym, ze ani jadro 2.4.20 neni :) autor sa asi preklepol lebo spravne je ten patch pre 2.4.20 a je na: http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.20/pdflush-sysctl.patch

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.