Speciale di 12 pagine – Linux compie 20 anni: ripercorriamo i passi del sistema operativo che ha cambiato il mondo, dagli albori fino al rilascio del kernel 3.0.
Una prima anteprima delle novità del kernel 3.0 e della rivisitazione – a lungo desiderata da Linus – del ramo ARM
Sincronizzare al microsecondo gli host in rete locale
Pubblicato Tuesday 5 July 2011 da Alessandro Rubini
Per alcune applicazioni, però, sono necessarie sincronizzazioni nell’ordine dei microsecondi: in tal caso la soluzione solo-software offerta da NTP non è sufficiente. Per ovviare a questi problemi, lo standard PTP (Precision Time Protocol) prevede la marcatura temporale dei pacchetti a livello hardware, nel dispositivo fisico di accesso al cavo, il cosiddetto phy. La precisione di sincronizzazione così ottenuta è superiore al microsecondo, ma solo tra macchine sulla stessa rete.
Il meccanismo di gestione del firmware nel kernel
Pubblicato Thursday 12 May 2011 da Alessandro Rubini
Alcuni dispositivi necessitano del caricamento di un firmware per funzionare correttamente: esaminiamo i meccanismi del kernel implicati
I Control Groups e l’influenza che possono avere sulle prestazioni di server e desktop; le novità del kernel 2.6.36.
Device ed Eventi di temporizzazione del kernel Linux
Pubblicato Tuesday 7 September 2010 da Alessandro Rubini
Fin dalla notte dei tempi, la fonte di temporizzazione per i sistemi operativi è sempre stata un’interruzione periodica, di cui contare le istanze.
Anche Linux ha seguito fin dall’inizio questa strada: tramite un’interruzione (il cosiddetto timer tick) che scatta HZ volte ogni secondo, gli autori del codice del kernel misurano da sempre gli intervalli di tempo usando tale costante unitamente al
valore di jiffies, una variabile volatile che viene incrementata ad ogni interruzione del timer.
La tecnica, seppur semplice, si rivela subottimale nel caso di dispositivi alimentati a batteria, perché il processore deve svegliarsi HZ volte al secondo in risposta a tale interruzione…
Linux sarebbe un giovanotto che si avvicina rapidamente ai venti anni di vita. Tuttavia è un kernel: lavoro dell’umano intelletto in un settore che rende molte conoscenze obsolete in sei mesi! Di conseguenza, i quasi venti anni di Linux corrispondono in realtà molte vite di un uomo, nonché a molti milioni di anni-uomo di lavoro.
Ad ogni versione, rilasciata con periodicità di circa due mesi, più di mille sviluppatori vi lavorano migliorando le sue funzionalità, aggiungendo il supporto a nuovi protocolli e driver di periferica. L’obiettivo desiderato è di migliorare la sua scalabilità a sistemi con molti processori e molte risorse, essendo i supercomputer di oggi i notebook di domani. Non tutte le ciambelle riescono però col buco.
La scelta delle strutture dati è fondamentale per le prestazioni: nel kernel sono disponibili implementazioni efficienti per le strutture più usate.