RACL -> recensioni -> Understanding The Linux Kernel (First Edition)

Understanding The Linux Kernel (First Edition)

(Pubblicato da O'Reilly)
Autore: Daniel P. Bovet & Marco Cesati
Lingua: inglese
Anno pubblicazione: 2001
Pagine: 688
Prezzo: 39.95 $

Indice dei contenuti

Capitolo 1 -- Preface
Capitolo 2 -- Introduction
Capitolo 3 -- Memory Addressing
Capitolo 4 -- Processes
Capitolo 5 -- Interrupts and Exceptions
Capitolo 6 -- Timing Measurements
Capitolo 7 -- Memory Management
Capitolo 8 -- Process Address Space
Capitolo 9 -- System Calls
Capitolo 10 -- Signals
Capitolo 11 -- Process Scheduling
Capitolo 12 -- Kernel Synchronization
Capitolo 13 -- The Virtual Filesystem
Capitolo 14 -- Managing I/O Devices
Capitolo 15 -- Disk Caches
Capitolo 16 -- Accessing Regular Files
Capitolo 17 -- Swapping: Methods for Freeing Memory
Capitolo 18 -- The Ext2 Filesystem
Capitolo 19 -- Process Communication
Capitolo 20 -- Program Execution

Appendice A -- System Startup
Appendice B -- Modules
Appendice C -- Source Code Structure

Valutazione riassuntiva

Linguaggio ***
La materia è ostica, quindi alcune parti potrebbero risultare poco chiare.
Pertinenza tecnica ****
Racchiudere un argomento vasto come il Kernel di Linux in un libro non è facile per nessuno.
Struttura ***
Gli argomenti seguono uno schema sempre uguale, che a volte rende la lettura poco elastica.
Comprensione ****
E' richiesta una minima conoscenza del C, ma con un po' di impegno si può ottenere una comprensione generale dei vari argomenti.
Approfondimento ***
L'approfondimento, vista la vastità dell'articolo, è a pertinenza del lettore.
Rapporto prezzo/contenuti *****
Il top dei manuali sul Linux Kernel.
 
Voto complessivo: 8

Descrizione

Il sottotitolo del libro è "From I/O Ports to Process Management", il che rende chiaro, che all'interno, troveremo affrontati un po' tutti gli argomenti che riguardano il Kernel di Linux. Il tutto sarà trattato tenendo d'occhio soprattutto la versione 2.3 del Kernel (la versione beta dell'attuale 2.4).
Dopo una rapida introduzione, gli autori affrontano l'argomento "Memory Addressing", a cui fà seguito quello dei processi, partendo da un livello "basso" di controllo del Kernel. Quindi si passa alla gestione dello spazio di indirizzamento dei processi, fino alla fase dello scheduling. Il tutto è perfettamente incastrato attraverso la trattazione degli interrupts e delle "System Calls", per dare un senso di continuità a tutto l'argomento. La seconda metà del libro è dedicata invece all'analisi dei dispositivi I/O partendo da un livello raw, fino alla descrizione dello swapping e della gestione del filesystem Ext2.
Il libro termina con la descrizione dei sistemi di comunicazione tra processi (Pipes, FIFO, System V IPC), e la loro esecuzione.

Giudizio

Il libro non a torto, è considerato un vero e proprio "must" per chiunque voglia conoscere o approfondire argomenti inerenti il Kernel di Linux. Vista la complessità dell'argomento trattato, e la continua evoluzione del Kernel, alcuni argomenti potrebbero risultare sorpassati o imprecisi, ma data anche l'ottima documentazione reperibile in rete, sicuramente fornisce una buona spina dorsale, per affrontare gradualmente ogni tipo di discorso. Al momento, è disponibile dal sito O'Reilly la versione online (a seguito di una registrazione) del suddetto testo, mentre è in vendita la seconda edizione che tratta esclusivamente la versione 2.4 del Kernel.

Considerazioni del recensore

In ogni sistema operativo completo di applicazioni, il Kernel resta di sicuro la parte più interessante e complessa. Conoscerne anche una minima parte, permette di affrontare molti problemi con un punto di vista particolare. Questo libro non pretende certo di racchiudere ogni minimo dettaglio della materia, ma è di sicuro un buon supporto per uno studio personale, graduale e che sia il meno possibile dispersivo. E' da sottolineare inoltre il fatto, che agli autori si sono accompagnati come revisionatori personaggi del calibro di Alan Cox e Rik van Riel.

Se proprio si deve muovere una critica, restando nel parere personale, ciò che non mi piace molto del libro è lo schema dei capitoli, che parte da una analisi generale del problema, passando subito dopo ad un elenco di descrizioni di singole funzioni, molto spesso monotono (anche se devo ammettere, ciò rende più facile la consultazione).
Sarebbe stato inoltre interessante avere dei piccoli esempi di codice, su come poter agire direttamente su alcune parti del Kernel, sia in fase di modifica che in fase di utilizzo.

Concludendo, "Understanding The Linux Kernel" rappresenta un testo che non deve mancare a nessuno che intenda fare hacking sul Kernel, che voglia approfondire le proprie conoscenze o soddisfare semplici curiosità sul mondo GNU/Linux.

Recensito da blaad il 12/01/2003