Portál AbcLinuxu, 25. dubna 2024 14:31

Jádro systému Linux - Kompletní průvodce programátora

26. 5. 2008 | Robert Krátký
Články - Jádro systému Linux - Kompletní průvodce programátora  

Lukáš Jelínek již dlouho píše články pro AbcLinuxu.cz i LinuxEXPRES, vede si blog na Abíčku a na stránkách Respekt a spravuje stránku s generovanou dokumentací k jaderným rozhraním kernel-api.org. Teď napsal velmi zajímavou knihu, již ocení jak zkušení hackeři, tak začátečníci, kteří si chtějí přečíst o tom, jak jádro funguje a jak pro něj programovat.

Jádro systému Linux, Lukáš Jelínek, Computer Press

Úvod

Ačkoliv jsem měl původně v plánu knihu předat jinému recenzentovi, neodolal jsem a otevřel ji s tím, že alespoň prolistuji několik stránek a podívám se do obsahu. Když jsem po dvaceti minutách dočítal Úvod a bezděky otáčel na další stranu, uvědomil jsem si, že této knížky se jen tak nevzdám a recenzi budu určitě chtít napsat sám.

Pustil jsem se tedy do listování a pomalu mi začínalo svítat, jaký bič jsem si na sebe upletl: pokud vás zajímá Linux a baví vás učit se o něm nové věci, pak tohle není ta správná kniha pro odfláknutí recenze. I kdybych si byl myslel, že prolistuji obsah, mrknu na obrázky a najdu dvě tři chybky, aby to vypadalo, že jsem knihu celou přečetl, tentokrát bych se přepočítal. Jádro systému Linux prostě není kniha, kterou bych dokázal jen tak zběžně prolistovat. Tak trochu proti vlastní vůli jsem se do ní natolik začetl, že mi sežrala tři noci a každou volnou chvilku (rozuměj přestávky na oběd) čtyř dnů.

Obsah

Nelituji toho. Je to po dlouhé době první kniha technického rázu, kterou jsem přečetl od začátku do konce. To samo o sobě svědčí o tom, že to není nuda. Ale byla by chyba si myslet, že jde jen o povídání. Autorovi se podařilo velmi umně skloubit obecné informace s poměrně podrobnými popisy. Pro večerní čtení se lépe hodí úvodní odstavce začátků kapitol, které učí a vysvětlují. Většinou poskytují i historický kontext, zmiňují dříve používané přístupy a důvody, proč se od nich upustilo a proč se další vývoj ubíral určitým směrem. Pro pozdější referenci při práci nebo řešení problémů je ve zbytku textu dostatek podrobností.

Nečekejte však stránky plné zdrojového kódu. Přestože v knize nechybí praktické ukázky kódu nebo výstupů programů, rozhodně to nedělá většinu textu. Ukázky kódu jsou téměř ve všech případech omezené na pár řádků a jen velmi málokdy zaberou více než půl stránky naráz. Proto také ke knize není přikládáno CD s příklady v elektronické podobě. Občas je sice pro výklad využit i uměle vytvořený příklad, ale není jich mnoho; kniha spoléhá více na popis teorie než na předvádění praxe.

Přesto se dá dílo dobře popsat slovem „praktické“, ovšem ve smyslu „to se hodí“. Praktická užitná hodnota jednotlivých kousků informací, které byly do knihy zařazeny, byla jistě jedním z hlavních kritérií při sestavování textu konkrétních kapitol. Platí to pro samotný výběr témat i hloubku (nebo chcete-li úroveň podrobnosti), s jakou je daná problematika popisována. Praktičnost se však odráží například i v tom, že oddíl o vývoji ovladačů pro jádro začíná poměrně vemlouvavou kapitolkou, která se čtenáře snaží přesvědčit, že programování v rámci jádra sice není černá magie, ale má spoustu nevýhod oproti přípravě řešení fungujících v uživatelském prostoru, takže by se nikdo do jádra neměl příliš hrnout (zhodnoceno s nadsázkou).

Nebudu přepisovat názvy kapitol, to by byla zbytečná práce; pravděpodobně byste těžko hledali oblast vývoje či fungování jádra, kterou kniha alespoň okrajově nezmiňuje. Uvedu tedy je obecné členění. Kromě Úvodu a Příloh knihu tvoří tři hlavní části: Vnější rozhraní jádra, Vývoj ovladačů a Pohled dovnitř jádra.

Zajímavým prvkem jsou kapitolky o věcech, které byly v době psaní knihy teprve očekávány (obsah knihy odráží stav po vydání jádra 2.6.21). Autor se drží zpátky při odhadování, zda bude ta či ona funkce začleněna/odstraněna, ale jde o zajímavé výlety do oblastí, kde nic není jisté. Jedna dvojstránka je tak věnována zakletému subsystému kevent, který se zatím Evgeniji Poljakovovi nepodařilo do jádra prosadit (a už asi ani nepodaří). Nebo si můžeme přečíst o plánovaném odstranění taskletů.

Oblíbil jsem si také autorův tón, který je do jisté míry neformální a dává najevo, že Lukáš Jelínek má češtinu rád, rád s ní pracuje a nebojí se ji naplno použít ani v knize, jejíž téma a zaměření se na první pohled nenabízí k hrátkám se slovy. O to více potěší, když sem tam při čtení narazíte například na přídavné jméno nebo příslovce, který není pro význam nezbytně nutné, ale sympaticky koření vyznění textu. V rozmezí několika stránek můžete tedy objevit perličky jako „obludně velké proměnné“, zjistíte, že by se vám něco mohlo „krutě vymstít“, a odpustíte autorovi, že si neodpustil malé rýpnutí do „militantních zastánců“ (hádejte čeho). A kdyby snad někdo stále pochyboval, že Lukášovi schází smysl pro humor, nalistujte „patnáctero přikázání“ hackerů jádra, které káže třeba „Pamětí pečlivě šetřiti budeš“ nebo ryze praktické „Nikomu a ničemu věřiti nebudeš“.

Nemyslete si však, že by vše byla jen velká legrace; autor má své čtenáře v úctě a podle toho se k nim i chová. Čekali byste snad po úvodním odstavci kapitoly něco jiného než decentní pobídnutí k pokračování v četbě? Ne. Já také ne, a proto mě potěšilo, když mě Lukáš vyzval: „Račte číst dál“.

Zpracování

Na začátku recenze jsem zmínil, že nebudu listovat knihou jen proto, abych objevil pár chybek. Nedělal jsem to, bonzovat nechci, ale hlásit se to musí. Hned zkraje však říkám, že mě kniha příjemně překvapila – jak úrovní sazby, tak správností textu (ze stylistického i mluvnického hlediska). Na druhou stranu je nutno uvést, že to překvapení nebylo až tak velké, protože vím, jak kvalitní text Lukáš odevzdává. Takže předpokládám, že s ním korektor ani odborný redaktor neměli mnoho práce.

Pravda, narazil jsem v textu na několik překlepů, ale vzhledem k objemu a především ve srovnání s jinými knihami technického zaměření (ostatně i beletrií) je hodnocení velmi nadprůměrné. Těch pár chybek rozhodně neruší, jak je tomu u mnoha jiných titulů. O správnost po obsahové stránce se staral odborný korektor, který oproti zvyklostem přispěl i vlastním textem. V úvodu kapitoly Pohled dovnitř jádra připojil k seznamu důvodů, které shrnují, proč chtít poznat fungování jádra, také své moudro: „poznat systém a pak se nechat zaměstnat za spoustu peněz u nadnárodní linuxové korporace a dělat odborné korektury pro Computer Press (poznámka korektora)“ – odborným korektorem byl Petr Baudiš (poznámka recenzenta).

Líbí se mi sazba a na první pohled se mi zalíbil dvojí Obsah: stručný a podrobný (22 stran). Velice praktické. I z pohledu sazby je možné nalézt několik prohřešků, ale nic zásadního. Škoda jen, že se tiskařskému šotkovi podařilo ťapkat hned po první stránce zmiňovaného Obsahu. Poměrně nepříjemné je občasné opomenutí nastavení písma s pevnou šířkou pro názvy adresářů, souborů, systémových volání apod. Ve většině případů toto písmo použito je, takže když pak není, člověk má tendenci výskyt v odstavci přehlédnout.

Závěr

Z předchozího textu je již asi patrné, že se mi kniha velmi zalíbila a rád její nákup doporučím. Rozumně udržovaná rovnováha mezi detaily a obecným popisem principů z ní činí jak užitečnou referenční příručku, tak zajímavé čtení pro (skoro)laiky, kteří se prostě chtějí přístupnou cestou dozvědět více o tom, jak jádro vypadá (a proč). Zamrzelo mě, že i když jsou na konci v seznamu literatury uvedeny zdroje LWN.net a kerneltrap.org, chybí zmínka o pravidelných a kompletních překladech obou těchto zdrojů do češtiny v podobě Jaderných novin.

NázevJádro systému Linux
AutorLukáš Jelínek
VydavatelstvíComputer Press
ISBN978-80-251-2084-2
Vydánokvěten 2008
Počet stran688
Doporučená cena790 Kč

Související články

Lukáš Jelínek, blog: Kacířské myšlenky
Rozhovor: Petr Baudiš
Jaderné noviny

Odkazy a zdroje

CPress: Jádro systému Linux

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

Týden na ITBiz: Svět IT a burzy, umělá inteligence, Nvidia a outsourcing
Linuxové foto novinky: pozvolná evoluce
PCLinuxOS 2017.2 MATE - tak trochu zvláštní linuxová distribuce
Krátký pohled na Fedoru 25, Wayland a GNOME 3.22
Naprosto ničím nezajímavé Lubuntu 16.10

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