Roma – Dopo quasi tre anni di sviluppo, il kernel 2.6.0 di Linux è finalmente pronto per affrontare le innumerevoli sfide che lo attendono. Il rilascio della versione finale, avvenuto nella tarda serata di mercoledì, rappresenta una significativa pietra miliare nella storia di questo sistema operativo, una tappa che da sola copre quasi un quarto dell’intero percorso che il Pinguino ha compiuto dal 1991 ad oggi.
Il kernel 2.6 è il risultato di un processo di maturazione che dal 1994, anno del rilascio della release 1.0, ha progressivamente fatto di Linux un sistema operativo capace di supportare un numero crescente di tecnologie, piattaforme, architetture e ambienti applicativi, e questo grazie al contributo di migliaia di sviluppatori e di tester volontari che, nel corso degli anni, hanno dato vita a una delle comunità più grandi dell’open source.
Va ricordato come il 2.6 sia anche il primo kernel ad aver beneficiato in modo importante dell’appoggio economico, tecnologico e organizzativo di un ampio numero di aziende: basti pensare all’ Open Source Development Labs (OSDL), un consorzio formato da colossi come IBM, HP, Intel e Dell che di recente ha permesso a Linus Torvalds, celebre papà del Pinguino, e Andrew Morton, maintainer del kernel 2.6, di potersi dedicare interamente allo sviluppo di Linux.
Oltre a OSDL, che ha l’obiettivo di accelerare la diffusione di Linux sul mercato enterprise, di recente diversi colossi hanno finanziato iniziative volte a promuovere Linux e a migliorarne aspetti specifici, quali ad esempio il supporto ai dispositivi elettronici di consumo.
Nell’annunciare il rilascio del nuovo kernel, Torvalds ha ammesso che la patch che contiene le correzioni apportate all’ultima versione beta, la test11, “non è completamente vuota come avevo sperato, ma a giudicare dai bug su cui ho personalmente lavorato, direi che le cose sono andate abbastanza bene”.
“Con il nuovo kernel – ha commentato Torvalds in un comunicato diffuso ieri dall’OSDL – credo che siamo ormai vicini a fare di Linux un sistema operativo per tutti. Penso sia il migliore che abbiamo mai rilasciato e mi sono divertito molto a lavorarci su. Voglio ringraziare tutti quelli che hanno contribuito al progetto”.
La gestione del nuovo ramo stabile del kernel 2.6 passa ora ufficialmente nelle mani di Morton. Sarà invece compito di Torvalds dare il via, all’inizio del prossimo anno, ai lavori sul nuovo kernel di sviluppo 2.7, lo stesso che in futuro si trasformerà poi nel kernel stabile 2.8 o, eventualmente, 3.0 (un numero di versione che qualcuno aveva già proposto di adottare per il 2.6).
“Con il nuovo kernel per la produzione i clienti potranno vedere significativi incrementi delle prestazioni e dell’affidabilità in un’ampia gamma di ambiti applicativi, dall’embedded al desktop passando per i data center e le applicazioni per le telecomunicazioni”, si legge nel comunicato di OSDL.
Fin dalla versione 2.5, il consorzio ha avviato, presso il proprio datacenter di Portland, tutta una serie di test approfonditi sulle funzionalità e le prestazioni del nuovo kernel i cui risultati, pubblicati qui , sono stati messi a disposizione del pubblico.
Nonostante tutta la buona volontà dell’OSDL, ci vorrà del tempo prima che la nuova versione del kernel si diffonda sul mercato: prima bisognerà attendere che questo venga incluso nelle maggiori distribuzioni e, in seguito, che tali prodotti vengano adottati dalle aziende.
Red Hat ha già fatto sapere che rilascerà il primo sistema operativo basato sul nuovo kernel 2.6, Red Hat Enterprise Linux 4, durante il 2005. SuSE Linux ha una tabella di marcia più aggressiva, tuttavia non prevede di adottare il nuovo kernel prima della prossima estate, periodo in cui dovrebbe uscire SuSE Linux Enterprise Server 9. Novell, che a gennaio completerà l’acquisizione di SuSE , ha invece pianificato l’integrazione della maggior parte delle funzionalità di Linux 2.6 all’interno di NetWare 7.
Come prevedibile, Linux 2.6 farà dapprima la sua comparsa sulle distribuzioni minori o su quelle principalmente orientate al mercato consumer. Il Progetto Fedora, ad esempio, conta di integrare il nuovo kernel già a partire dalla prossima release della propria distribuzione, la Core 2 , attesa questa primavera.
C’è tuttavia da notare come i maggiori distributori di Linux abbiano già integrato alcune delle funzionalità del kernel 2.6 nelle ultime release dei propri sistemi operativi enterprise.
Di seguito le principali novità del kernel 2.6.
La parola d’ordine del nuovo kernel di Linux è “scalabilità”, un attributo che indica la sua capacità di adattarsi ad una grande varietà di configurazioni e piattaforme hardware, dai server hi-end ai player MP3. Una scalabilità data, da un lato, dalla maggior flessibilità e modularità della sua architettura, e dall’altro dalla capacità di supportare una quantità più elevata di processori (fino a 64, ma si stanno già testando sistemi a 128 CPU), processi, memoria (di sistema e di massa) e dischi. Quest’ultima è forse la caratteristica più importante del kernel 2.6, e ciò che rende Linux ancor più adatto a competere con gli Unix commerciali e con le versioni datacenter di Windows.
Rispetto al kernel 2.4, che in questo senso aveva già compiuto notevoli passi avanti, la versione 2.6 è dunque maggiormente capace di sfruttare le tipiche risorse hardware dei cosiddetti “big iron”, ossia dei mainframe e dei grossi server multiprocessore, e di supportare le architetture utilizzate per la realizzazione dei cluster di server: in questo ambito assumono ad esempio molta importanza le migliorie apportate a NUMA (non-uniform memory access), una tecnologia che velocizza il transito dei dati fra CPU e memoria. Altra miglioria rilevante per i server hi-end è l’User Mode Linux (UML), un sistema di virtualizzazione che permette agli utenti di far girare simultaneamente più istanze di Linux sulla stessa macchina.
Linux 2.6 supporta poi nativamente NPTL (Native POSIX Thread Library), una libreria che consente al sistema operativo di sfruttare al meglio i sistemi multiprocessore ed eseguire in modo più efficiente e affidabile le applicazioni che eseguono più compiti (thread) simultaneamente (multithreading). A questa novità si è poi unito il supporto all’hyper-threading, quella tecnologia adottata da Intel nei Pentium 4 per fare in modo che una singola CPU operi come due processori virtuali, e una più efficiente implementazione del sistema di gestione della memoria virtuale.
Un’altra area in cui il nuovo kernel introduce novità sostanziali è quella dello storage: qui il team di sviluppo ha lavorato particolarmente sull’ottimizzazione dell’I/O asincrono, in grado di incrementare le prestazioni dei grandi database e di migliorare i tempi di risposta del sistema, e al supporto dei volumi dinamici, una tecnica con cui è possibile combinare la capacità di più dischi fisici. Sul fronte dei file-system, oltre a Ext3, è arrivato il supporto nativo a XFS di SGI, a JFS di IBM e, sebbene per il momento solo in lettura (il modulo di supporto alla scrittura è ancora in una fase sperimentale), a NTFS di Microsoft.
Ecco cosa cambia in campo embedded e desktop.
Linux 2.6 ha compiuto notevoli passi avanti, secondo gli sviluppatori, anche nel supportare le applicazioni embedded, fra cui quelle che necessitano di un sistema operativo real-time. Grazie alla fusione nel nuovo kernel con il codice sviluppato in seno al progetto UClinix (pronunciato “you see Linux”), il kernel 2.6 è ora in grado di sfruttare i processori privi di un’unità per la gestione della memoria (MMU), impiegati in una vasta gamma di controlli industriali e altri dispositivi a basso livello. E’ stato poi aggiunto il supporto a diversi processori embedded prodotti da Motorola, Hitachi, NEC e Axis Communications.
Sul fronte desktop le novità sono decisamente inferiori e meno sostanziali, tuttavia c’è da segnalare il più esteso supporto alle periferiche hot-plug (quali quelle FireWire e USB), ai nuovi processori desktop a 64 bit di AMD, e l’implementazione di architetture audio e video più sofisticate e performanti. In particolare, il kernel 2.6 include ALSA (Advanced Linux Sound Architecture), un’architettura audio che rimpiazza il precedente Open Sound System e migliora il supporto all’hardware, inclusi i dispositivi USB, e ai sistemi con più schede audio. Anche il sistema video, chiamato Video4Linux, ha subito un importante aggiornamento, ed è ora in grado di supportare un maggior numero di webcam, adattatori radio e TV e videoregistratori digitali. Linux 2.6 integra inoltre il supporto ai dispositivi per il Digital Video Broadcasting (DVB).
Altro elemento di grande interesse, questa volta per i sistemi portatili, è invece il supporto avanzato dello standard Advanced Configuration and Power Management (ACPI) di Intel, un’implementazione che permetterà, fra le altre cose, di “ibernare” il sistema (salvandone lo stato e il contenuto della memoria su disco) o “addormentarlo” (una modalità che, pur non spegnendo completamente il sistema, permette di portarlo in uno stato in cui i consumi sono minimi).
Novità e miglioramenti interessano anche il networking, il supporto alle reti wireless, il Network File System (NFS), la sicurezza, la virtualizzazione, la gestione delle configurazioni, il supporto all’hardware legacy, il sottosistema per la gestione delle periferiche esterne ed interne, ecc. ecc. Una sintesi abbastanza aggiornata, in lingua inglese, di tutto ciò che di nuovo contiene il nuovo kernel la si può trovare qui e qui .