Hlavní navigace

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

Petr Krčmář

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

Našli jste v článku chybu?

9. 7. 2008 14:30

Já osobně necenzuruji diskusní příspěvky pod svými články a blogy, ani diskusi nezakazuji. I když bych měl často sto chutí to udělat, jsem obecně toho názoru, že uřvance, kteří nic skutečného nedokázali a umějí akorát zvracet v diskusích, nebudou rozumní lidé brát vážně a budou je prostě ignorovat.

8. 7. 2008 13:21

Miloš (neregistrovaný)
Název knihy je naprosto jasný a tedy správný. Knih s názvem "Linux" či "Systém Linux" v mnoha alternativách existuje spousta a všechny popisují víceméně kompletní systém. Takto lapidární název by byl pro zájemce velmi matoucí a dovedu si jasně představit, jak by se mnozí rozčilovali, že popisuje "jenom" kernel.

Ačkoliv obecně nejsem příznivcem cenzury, myslím, že příspěvky, jakým začíná tato větev, by redakce měla bez milosti mazat. Něco jiného je nesouhlasný názor…

DigiZone.cz: „Black Friday 2016“: závěrečné zhodnocení

„Black Friday 2016“: závěrečné zhodnocení

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: Snížení DPH na 15 % se netýká všech

Snížení DPH na 15 % se netýká všech

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Co pomáhá dítěti při zácpě?

Co pomáhá dítěti při zácpě?

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA