Jádro systému Linux: kompletní průvodce programátora

Petr Krčmář 8. 7. 2008

Knih o linuxovém jádru u nás mnoho nenajdete. O to víc mě potěšila nová kniha Jádro systému Linux, která pochází dokonce z pera českého autora Lukáše Jelínka. Je to sice kniha o jádru operačního systému, není ale rozhodně určena jen programátorům. Počte si i zvídavý uživatel.

Linuxové jádro je jedním z nejkompliko­vanějších kusů software, na které může vývojář narazit. Kniha, která by zastala roli průvodce po tomto jádře, je tedy jistě vítaným pomocníkem.

Kniha Jádro systému Linux vyšla v nakladatelství Computer press v květnu letošního roku. Autorem je Lukáš Jelínek, který se problematice linuxového jádra věnuje dlouhodobě na stránkách odborných časopisů i internetových serverů.

Obsah knihy

Obálka knihy slibuje, že čtenáře provede následujícími tématickými okruhy:

  • Architektura a zdrojové kódy jádra
  • Základní pravidla a doporučení pro vývoj jádra
  • Kompilace jádra, ladění a testování, volání ptrace
  • Princip systémových volání, posílání a doručování signálů
  • Sledování událostí: select(), poll(), technologie kevent
  • Organizace souborových systémů a práce s nimi
  • Mapování logických adres, alokace paměti
  • Komunikace s hardwarem, operace na portech
  • Obsluha přerušení, časovače, síťová zařízení
  • Kryptografické rozhraní, správce algoritmů
  • Řízení spotřeby, rozhraní ACPI, objektový model jádra

Poměrně obsáhlá téměř sedmisetstránková kniha je rozdělena do tří velkých částí: Vnější rozhraní jádra, Vývoj ovladačů a Pohled dovnitř jádra. Kniha je poté samozřejmě ještě dále členěna, a to velmi podrobně: jen obsah má 21 stran.

Jadro systemu Linux

V úvodní části se autor věnuje obecnému přehledu informací o jádře. Zmiňuje historii Linuxu, označování jednotlivých verzí, popisuje vývojový cyklus, vysvětluje rozdíl mezi distribučním a vanilla jádrem a uvádí tak zcela neznalého čtenáře do kontextu.

První „velká část“ knihy s názvem Vnější rozhraní jádra se už podle názvu věnuje tomu, jak jádro komunikuje se svým okolím. Rozebírá start systému, správu modulů, systémová volání, signály, operace se soubory, procesy a vlákna, virtuální rozhraní udev a další témata. Tato část knihy se hodí především vývojářům, kteří vytvářejí uživatelské aplikace či systémové knihovny.

Druhá část knihy, výmluvně nazvaná Vývoj ovladačů, se už věnuje vývoji pro jádro samotné. Úkolem této části je především ukázat čtenáři správnou cestu při prvotním zkoumání jádra, naučit ho správné postupy a vysvětlit, jak se píší ovladače a další součásti pro Linux. Tato část knihy již podstatně hlouběji zabíhá do samotného jádra, ale autor se stále drží velmi názorné a srozumitelné úrovně. Jak sám píše, vývoj součástí jádra se příliš neliší od vývoje jiných aplikací.

První dvě části knihy se věnovaly vzdálenějšímu a bližšímu okolí linuxového jádra. Třetí část s názvem Pohled dovnitř jádra se už věnuje samotné architektuře a vnitřnímu uspořádání jádra. Je určena pro zvídavé uživatele a vývojáře, kteří rádi nahlížejí pod kapotu a zkoumají vnitřní mechanismy. V této části se tedy autor zabývá vnitřními pochody, které se týkají správy paměti, správy procesů a vláken, systémových volání, přerušení, souborových systémů, swapování a podobně.

Závěr knihy pak patří přílohám. Zde čtenář najde přehled signálů používaných linuxovým jádrem, přehled systémových volání, seznam doporučené literatury a obligátní rejstřík.

Pro koho je kniha určena

Možná jste nabyli dojmu, že kniha je určena pro „hard core“ vývojáře, kteří se chtějí přes noc stát „kernel hackery“. To ale rozhodně není účelem knihy. Autorův styl je velmi poutavý a čtivý, vše je doplněno řadou obrázků a schémat a podle mého názoru si knihu vychutná i čtenář, který nemá ambice cokoliv vyvíjet, ale zajímá ho, jak „to funguje uvnitř“.

Text je doplněn o řadu zajímavostí a postřehů z praxe, podrobných popisů jednotlivých probíraných částí a podobně. Nejedná se tedy v žádném případě o referenční manuál k jádru a cílová skupina čtenářů je proto poměrně široká.

Velmi mě potěšilo, že kniha není jen strohou technickou příručkou pro programátory, ale většinu informací uvádí do širokého kontextu. Jako příklad mohu uvést část o tvorbě ovladačů. Autor vedle samotného vývoje probírá také softwarové licence, problematiku uzavřených ovladačů a jejich vztahu k licenci GNU GPL.

Kromě toho autor od začátku čtenáře nabádá, aby věci dělal správně. Jedna kapitola je například věnována užívaným standardům při psaní kódů – odsazování, zalamování řádků, nepořádku v kódu a podobně.

Jaká tedy kniha je?

Osobně mě velmi mile překvapil samotný fakt, že je někdo schopen napsat knihu o tak technickém tématu, jakým je linuxové jádro, a že tuto knihu je schopen přečíst a pochopit i neprogramátor či běžný uživatel.

Anketa

Máte-li tuto knihu, doporučíte ji?

Někoho možná napadlo, že podobná kniha velmi rychle zastará. První vydání knihy se zabývá jádrem 2.6.21, které je z dubna roku 2007 a je tedy více než rok staré. Dnes jsme sice o čtyři verze dále, ale postupy a informace, které jsou v knize popsány (především v prvních dvou částech), jsou samozřejmě stále platné.

Pokud si myslíte, že jste zvídavý „poweruser“ a rádi byste své znalosti o Linuxu rozšířili novým směrem, rozhodně vám knihu doporučuji. Pokud pracujete jako programátor, dostali jste za úkol naprogramovat doplněk pro linuxové jádro a nevíte, jak na to, kniha je určena i vám.

Informace o knize

Název: Jádro systému Linux
Podtitul: Kompletní průvodce programátora
Autor: Lukáš Jelínek
Vazba: pevná (vázaná)
Počet stran: 688
Vydání: květen 2008
Nakladatel: Computer press
ISBN: 978–80–251–2084–2
Cena: 790 Kč, 1070 Sk

Ohodnoťte jako ve škole:

Průměrná známka 3,44

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
DigiZone.cz: Šlágr TV dostala pokutu 100 000 Kč

Šlágr TV dostala pokutu 100 000 Kč

120na80.cz: Jak si udržet zdravou vaginu

Jak si udržet zdravou vaginu

DigiZone.cz: Živí mrtví budou na AMC koncem srpna

Živí mrtví budou na AMC koncem srpna

Podnikatel.cz: Alza radí e-shopům, jak opustit Heureku

Alza radí e-shopům, jak opustit Heureku

120na80.cz: Odřenina. Jakou použít dezinfekci?

Odřenina. Jakou použít dezinfekci?

Vitalia.cz: Utrhli jste kusadla? Nevadí

Utrhli jste kusadla? Nevadí

Vitalia.cz: Kupujete český česnek? Je to trik

Kupujete český česnek? Je to trik

Podnikatel.cz: Přechod z OSVČ na firmu? Totální šok!

Přechod z OSVČ na firmu? Totální šok!

Vitalia.cz: Falšované masné výrobky byly v Tescu i Lidlu

Falšované masné výrobky byly v Tescu i Lidlu

DigiZone.cz: Kolik lidí sleduje hokej na webu ČT?

Kolik lidí sleduje hokej na webu ČT?

Podnikatel.cz: Různé podoby lahve Coca–Coly. Úchvatné

Různé podoby lahve Coca–Coly. Úchvatné

Vitalia.cz: Grilujte v parku i na loďce

Grilujte v parku i na loďce

120na80.cz: Co jí dělá? Sklerotizaci

Co jí dělá? Sklerotizaci

DigiZone.cz: Panasonic v Praze uvedl TV pro rok 2016

Panasonic v Praze uvedl TV pro rok 2016

Vitalia.cz: Tetanus v USA – i po odřeninách

Tetanus v USA – i po odřeninách

Vitalia.cz: Taky ji kupujete? Je šizená

Taky ji kupujete? Je šizená

120na80.cz: Zjistěte, zda je vaše klíště infikované

Zjistěte, zda je vaše klíště infikované

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

DigiZone.cz: V RS7 ukončila vysílání Retro Music Television

V RS7 ukončila vysílání Retro Music Television

120na80.cz: 10 dezinfekcí: Vede „starý dobrý“ peroxid

10 dezinfekcí: Vede „starý dobrý“ peroxid