Operační systém
Linux kernel 2.6.0
Ako darček pod vianočný stromček prišlo vydanie prvej oficiálnej verzie jadra rady 2.6 s číslom 2.6.0. Nejednalo sa však o obrovské prekvapenie. Na tejto rade jadra sa pracovalo už tri roky a v posledných mesiacoch minulého roka sa prestala pridávať nová funkcionalita a hlavný dôraz sa preniesol na testovanie.

Od rady 2.6 sa dosť očakávalo - agresívnejší prienik do oblasti embedded a hi-end systémov, podpora nového HW a pod. Pozrime sa, v čom sa skrývajú hlavné zmeny - v čom má 2.6 navrch oproti rade 2.4 a či sú očakávania vložené do 2.6 oprávnené.
Najdôležitejšie zmeny v novom jadre sú ukryté "pod kapotou". Pri vývoji rady 2.6 bolo viacero subsystémov prepísaných, niektoré dokonca aj viackrát. Výsledkom je prehľadný kernel poskytujúci čisté a jasné rozhrania. Tým sa zjednodušuje portovanie na nové architektúry a pridávanie novej funkcionality.

HLAVNÉ ZMENY
Zvyšovaním škálovateľnosti zväčšuje Linux radou 2.6 svoju atraktivitu pre enterprise sektor. Krokom za SMP by sa dala označiť podpora architektúry NUMA. Nové jadrá podporujú hyperthreading, viac ako 64 procesorov, 64bitové procesory od AMD či až do 64 GB RAM. Rozšírením dátových štruktúr sa zvýšil maximálny počet užívateľov na 4 miliardy, maximálna veľkosť súborových systémov na 16 TB. Z doposiaľ dostupných 255 sa počet major čísiel zvýšil na 4095, minor čísel na milión. To umožní osadiť jeden stroj s podstatne viac HW ako doteraz. Od systému sa dá očakávať vyššia priepustnosť ako od jadier 2.4.
Nové jadro však neškáluje len smerom nahor. Druhou oblasťou s výdatnými zmenami je podpora embedded zariadení. Kernely rady 2.6 podporujú viaceré CPU používané v telefónoch či PDA a portovanie na nové by vďaka väčšej podpore štandardov nemal byť problém (toto je fokus projektu uClinux).
Ak používate Linux ako pracovnú stanicu, určite vás poteší nový preemptný a IO scheduler, nový druh mutexov (fast user-space mutex) či optimalizácie vo filesystéme. Majitelia notebookov uvítajú dostupné možnosti konfigurácie v oblasti power managementu (napr. inkludovanú podporu pre škálovanie rýchlosti CPU - cpufreq projekt, hibernáciu - suspend-to-disk) a pod.
Moduly, Unified Device Model. Pomerne veľa zmien sa dostalo do subsystému modulov. Prvá viditeľná a značne kozmetická zmena - moduly dostali novú príponu .ko (kernel object). Bol zavedený nový modul detekovania, čo ktorý modul poskytuje. Unloadovanie modulov je treba explicitne povoliť pri konfigurácii kernelu, čo je krok ku zvýšeniu stability systému.
Ovládače. Zmien sa dočkala aj táto najobjemnejšia časť jadra. Ich konfigurácia v rámci jadra bola konečne značne sprehľadnená. Všeobecne sa dá povedať, že bola zavedená štandardná podpora pre množstvo HW, ktorý bol v rade 2.4 podporovaný len pomocou patchov do jadra. Protokoly rodiny 802.11 (wireless) boli štandardizované a bolo zavedené nové API. Podpory sa dočkal štandard USB2, štandardne dostupný je Bluetooth, FireWire, nové rozhranie S-ATA pre pevné disky. Ovládače Human Interface Devices sú unifikované, a tak je možno pristupovať na ne len cez jedno device - napr. /dev/input/mice. Pre embedded zariadenia sa dá postaviť headless kernel (bez podpory klávesnice, monitora). Systém OSS (operating sound system) bol označený ako obsolentný a štandardom sa stáva ALSA.
Filesystémy. Nové jadro natívne obsahuje podporu pre filesystémy Ext2, Ext3, JFS, XFS a ReiserFS. Je možné ich rozšíriť o metaatribúty, napr. ACL. Zahrnutá je podpora pre nový filesystem hugetlbfs určený na vylepšenie výkonu veľkých databáz.
V oblasti sieťových systémov sa presunulo ťažisko do user-space. Experimentálne je podporované NFSv4 a jadro obsahuje podporu CIFS. Experimentálne bola zahrnutá podpora pre AFS a InterMezzo FS.
V networkingu je štandardom podpora IP-Sec. Zvýšenia podpory sa dočkala oblasť multi-cast networkingu.

INÉ ZMENY
Z jadra sa stratil kHTTPd. Pridaná bola podpora virtuálneho Linuxu - bežiaceho v user space. Dostupné je kryptologické API a podpora security modelov (napr. SELinux od NSA). Aj v tejto oblasti je vidieť snahu o unifikáciu.
Prechod z 2.4 na novú radu jadier by nemal byť problém. Najmä ak ste od jadier rady 2.4 požadovali neštandardnú funkcionalitu, odpadne časť nevyhnutných patchov.
Hlavným rozdielom je prenesenie ťažiska z /proc a /dev na filesystém /sys. Kvôli tomu sa môže stať, že niektoré programy prestanú fungovať. V mojom prípade to bol GPM deamon s podporou pre synaptic touchpad. Takéto programy bude treba rekompilovať. Pre prácu s novými modulmi bude treba najnovšie modutils. Ďalej si bude treba uvedomiť, že nová rada kernelov podporuje headless zariadenia - bez podpory klávesnice či myši. Určite preto nezabudnite zapnúť konfiguračnú direktívu CONFIG_HOTPLUG a zapnúť ovládače svojho HW.
Hoci jadrá 2.6 nevyžadujú podporu SCSI emulácie pre napaľovanie s mechanikami IDE CDRW, odporúčal by som tieto nastavenia ponechať zapnuté, aby ste mohli pracovať s CDRW mechanikou tak ako v 2.4 kerneli. To isté platí pre OSS vs. ALSA - ak ste boli spokojní s OSS v 2.4, ponechajte rovnaké nastavenia v 2.6 a vypnite ALSA.
Proces tvorby jadra bol tiež zjednodušený. Na vytvorenie obrazu jadra, jeho inštaláciu a inštaláciu modulov postačí príkaz make install modules_install.
V produkčnej prevádzke by som s prechodom nejaký ten mesiac počkal - ako sa ukázalo po niekoľkých dňoch po release, jadro môže ešte trpieť detskými chorobami. Celkový proces je pomerne jednoduchý, na internete dostatočne zdokumentovaný - napr. na http://www.root.cz/1977.

ZÁVER
Myslím si, že nové jadro je veľmi podarené. Používateľov poteší podpora rôzneho HW a nových štandardov v oblasti multimédií, tiež vynikajúca odozva kernelu. V oblasti enterprise boli zahrnuté zmeny, ktoré umožňujú doteraz nepredstaviteľne škálovať systém. Očakáva sa, že rozsiahla podpora embedded bude mať za následok prienik Linuxu do domácich zariadení, PDA, telefónov a pod. V neposlednom rade bol kód jadra značne uprataný, čo zjednoduší podporu ďalšieho HW. Po vychytaní úvodných problémov má jadro vynikajúce predpoklady na presadenie sa vo všetkých spomenutých oblastiach. Osobne radu 2.6 používam na desktope už niekoľko týždňov a som výsostne spokojný.

Martin Užák