linux-inside.png

Il kernel è il codice che gestisce le risorse presenti in un computer e le rende disponibili alle applicazioni con cui l'utente comunemente interagisce. In un sistema operativo, inteso in senso esteso, il kernel costituisce solo lo strato più profondo, quello che si occupa del "lavoro sporco" di interagire direttamente con l'hardware.
I kernel si possono classificare in quattro categorie:

Kernel monolitici, che implementano direttamente una completa astrazione dell'hardware sottostante.

Microkernel, che forniscono un insieme ristretto e semplice di astrazione dell'hardware e usano sofware (chiamati device driver o server) per fornire maggiori funzionalità.

Kernel ibridi (o microkernel modificati), che sono molto simili ai microkernel puri tranne per il fatto che implementano del codice aggiuntivo a livello di kernel per incrementare le prestazioni.

Esokernel, che non forniscono astrazione ma che permettono l'uso di librerie per fornire più funzionalità tramite un accesso diretto o quasi all'hardware.

Le versioni del kernel Linux sono identificate con numeri a tre cifre separate da un punto (ed: 2.1.45) con una convenzione ben precisa. Per esempio il kernel 2.6.8 ha:

2 - Il major number, la serie principale. I kernel della serie 1.x sono ormai piuttosto vecchi e poco usati, quelli della serie 0.x sono ancora più vecchi e ormai rarità da collezionista (si fa per dire, dal sito ufficiale del kernel Linux sono ancora scaricabili)

6Il minor number, il numero di versione principale. Se è pari il kernel viene considerato stable e pronto per sistemi in produzione, se è dispari lo si considera in development e da usare con cautela o per sperimentazione. Le release stable sono sempre figlie delle devel precedenti. Per esempio prima di arrivare al kernel stable versione 2.6.8, la versione del kernel di sviluppo era 2.5.x (alla fine del processo di sviluppo della 2.5 (devel) si è arrivati alla 2.6). Solitamente nei kernel stable si tende a fare maintenance ed a implementare solo le feature strettamente necessarie, lasciando a quello in development lo sviluppo di nuove funzionalità

8 - E' la revisione (patch) corrente. Questo è un numero progressivo che parte da 0. Da una revisione alla successiva possono passare da pochi giorni a varie settimane.

Esistono inoltre varie patch temporanee, anche non di Torvalds stesso (comuni sono le -ac patch, di Alan Cox) che rappresentano stadi intermedi prima della release di una revisione definitiva.
Ha senso utilizzarle subito solo in caso di utilizzo di kernel con gravi problemi di sicurezza o stabilità (sul proprio sistema) che vengono risolte con le relative patch parziali.

Il kernel in development è attualmente composto da sorgenti realizzati da centinaia di programmatori e assemblati da Linus Torvalds che rilascia personalmente le nuove versioni.

http://kernel.org Il sito dei kernel linux


Linux-Zone.it la zona Linux - Linux, Opensource, informatica libera