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ň