Báječný svět jádra v. 2.2
=-=-=-=-=-=-=-=-=-=-=-=-=-=
přeložil Nathan L. Cutler, 14. srpna 1998
Jak vám zajisté řekne jakýkoliv vývojář jádra, blíží se
zveřejnění Linuxu 2.2.
Zatímco Linux 2.1 se pomalu, ale jistě zdokonaluje (přičemž
čísla verzí stoupají do závratných výšek - v době, kdy píši tento
text, už je verze 2.1.115), všichni netrpělivě očekávají den, kdy
verze 2.2.0 bude standardním kernelem jednotlivých distribucí. Verze
2.2 linuxového jádra je důležitým milníkem a je dobré vědět, v čem
spočívá její rozdílnost, i když vývoj kernelu "tolik" nesledujete.
Proto vám předkládám tyto postřehy ohledně novinek ve vývoji jádra
v poslední době. Týkají se hlavně x86, neboť tento Linux používám
doma nejčastěji.
Podotýkám, že tento text nepojednává o všech nových typech
hardwaru, které Linux podporuje. Za prvé, mnoho periferií (např.
scannery a tiskárny) je obsluhováno výhradně z uživatelského
prostoru. Jiné, jako jsou videokarty a myši, jsou ošetřeny kombinací
uživatelských a kernelových ovladačů. Pokud v tomto textu nenarazíte
na ten či onen kus železa, který vás zajímá, zdaleka to neznamená,
že Linux 2.2 ho nepodporuje. Naopak je docela pravděpodobné, že
podporuje, ale možná jinými než kernelovými prostředky.
Matoucí spleť procesorů
Je velmi zajímavé sledovat postupný vývoj procesorů firmou
Intel - pokud zrovna nemáte nic lepšího na práci. Merced, Celeron,
MMX... neustále se objevují nová jména technologií, a neustále je
nahrazují nové, ještě modernější technologie. (Otázku, zda a nakolik
tyto technologie "stojí za to", nehodlám v žádném případě rozvíjet.)
Firmě Intel již docela solidně konkurují další firmy (AMD,
Cyrix ad.), jejichž jednotlivé procesory mají své zvláštnosti, malé
optimalizace a chybičky. Je velmi těžké se v tom všem orientovat.
Linux 2.2 bude prvním stabilním jádrem, podporujícím nejnovější
možnosti optimalizace v rámci konfigurace před překladem jádra.
Linux 2.2 (i pozdější revize kernelu v. 2.0) obsahuje úpravy,
které opravují nejrozšířenější chyby procesorů nebo je alespoň
neutralizují. Jako příklad ať slouží nechvalně proslulý bug
"F00F" v Pentiu. Jiné chyby, které se nedají na úrovni kernelu
neutralizovat, jsou detekovány a ohlášeny během startu.
Merced je zatím v nedohlednu, ale Linux 2.2 již byl portován
na Sparc64, Alpha a další 64-bitové platformy, takže infrastruktura
64-bitového jádra již byla "vybudována". (Samozřejmě existují jiné
překážky, které by se musely překonat dříve než by bylo možné
zveřejnit Linux/Merced,i ale pouhá existence 64-bitového jádra je
významným krokem.)
Víceprocesorové stroje budou mnohem výkonnější pod 2.2 než pod
2.0, neboť problémy jako global spinlock byly odstraněny. Podpora
se vztahuje až na 16 procesorů (stejně, jako v 2.0), ale i tak
by výkonový rozdíl měl být úžasný. Dále je nyní nově podporováno
IO-APIC v intelovských boardech, což znamená lepší podporu SMP
obecně.
V ostatních portech bude Linux 2.2 obsahovat zlepšenou podporu
řady strojů typu server jako jsou Sparc, Sparc64 a Alpha. Co se
týče strojů typu desktop, Linux 2.2 již běží na Macintoshích (ve
variantách m68k i PPC) s různým stupněm hardwarové podpory. (Dá se
předpokládat, že podpora se bude jen zlepšovat až se začne pracovat
na další kernelové řadě (2.4?).) Rovněž je snaha portovat Linux
na jiné procesory, např. ARM, které jsou čím dál populárnější v tzv.
embedded systémech.
Netýká se to přímo verze "dva-dva", ale snad stojí za zmínku,
že pokračují práce na podmnožině linuxového jádra pro stroje
s procesory 8086, 8088, 80186 a 80286. Nejspíše to v době zveřejnění
verze 2.2 nebude hotovo, ale uživatelé těchto strojů se na to mohou
těšit v některých z budoucích kernelových release.
Je to trochu smutné, ale množství nových vlastností, které
bylo do Linuxu 2.2 přidáno, způsobilo jeho zvětšení tak, že tato
kernelová řada zabírá podstatně více paměti než její předchůdkyně.
Nezbývá než doufat, že budou do release zahrnuty volitelné položky,
které umožní stlačit paměťové nároky na rozumnou míru. Takže
skutečnost, že absolutní minimum paměti RAM, nutné k provozu textové
linuxové instalace již vzrostlo na 5 Mb, zde uvádím s jistou mírou
lítosti. (U Linuxu 2.0 bylo minimum 4 Mb.) Přibližná hranice rozumné
použitelnosti bez swapování však zůstává kolem 8 Mb. Na druhé
straně, pokud máte to štěstí mít počítač vybavený větší pamětí,
můžete si být jisti, že Linux 2.2 tuto skutečnost využije více, než
kdykoliv jindy, má totiž několik "vymakaných" cacheovacích režimů
a jiné optimalizace, s kterými dostane z vašeho železa maximální
výkon.
výheň