Gentili utenti vi informiamo che il team di MyTech si è spostato sul canale Hitech & Scienza di Panorama.it

      non hai uno username? regìstrati   /   recupera la password

apple / google / microsoft
unmapped

Tutte le novità del kernel 2.6

Scritto da Marco Fioretti

Procede rapidamente lo sviluppo del nuovo kernel per Linux, che promette molti miglioramenti sia per le aziende sia per i consumatori.
Linux è solo un kernel, sviluppato da Linus Torvalds a partire dal 1991, e non un intero sistema operativo. Un kernel è quel programma fondamentale che fa partire tutti gli altri, regola l’accesso alle risorse hardware e gestisce la corretta esecuzione di più applicazioni simultaneamente. La maggioranza delle librerie e dei programmi inclusi in tutte le distribuzioni che usano Linux proviene dal progetto Gnu, che per questo considera Gnu/Linux un nome più adatto a tali sistemi.

Detto questo, una nuova versione stabile del kernel Linux verrà inclusa nelle varie distribuzioni a partire da metà del 2004 ed è già disponibile su Internet all’indirizzo www.kernel.org. Tale versione dovrebbe essere chiamata 2.6, anche se nel momento in cui scriviamo c’è chi sostiene che anche un salto a 3.0 potrebbe essere giustificato. Lo schema di numerazione è lo stesso degli inizi. La prima cifra viene incrementata quando i cambi sono di notevole portata: la versione 2.0 di Linux, rilasciata nel 1996, era la prima in grado di funzionare su computer multiprocessore. Una seconda cifra pari indica una nuova versione stabile adatta all’uso in produzione, contenente novità importanti ma non radicali. Dopo tale cifra seguono altri numeri o stringhe che distinguono versioni differenti solo per l’applicazione di una o più patch. Gli utenti finali delle varie distribuzioni hanno usato quindi varianti del kernel 2.0, poi di quello 2.2 e nel corso del 2003 Linux 2.4 è stato lo standard.

Una seconda cifra dispari corrisponde invece a kernel sperimentali, dotati di nuove funzioni ma non ancora sufficientemente stabili. Ovviamente serie diverse possono e devono coesistere. Nel 2003 lo sviluppo ha riguardato i kernel 2.5. La serie precedente, la 2.4, ha visto soltanto l’eliminazione di bachi e problemi di sicurezza, senza ovviamente impedire ai singoli programmatori di includere nella loro versione tutte e solo le nuove funzioni della nuova serie di cui hanno bisogno. Questa procedura, chiamata backporting, è stata per esempio utilizzata da Red Hat per offrire già nei suoi kernel 2.4 il supporto alle librerie Posix descritte più avanti. Nuove piattaforme

La notizia probabilmente più interessante per la maggior parte dei lettori sarà senz’altro il supporto ufficiale per i processori Opteron AMD a 64 bit. Nel campo dei palmari, Linux 2.6 potrà girare anche su processori privi di Mmu (Memory Management Unit) come gli Hitachi H8/300, NEC V850 e i vari modelli Motorola 68K usati nei Pda Palm e in numerosi prodotti professionali telecom. Efficeon e gli altri processori a basso consumo di Transmeta, presenti in parecchi notebook e subnotebook ad alta efficienza, non avranno ovviamente problemi: lo stesso Torvalds, prima di passare all’Open Source Development Lab ha lavorato diversi anni per Transmeta proprio per garantirne la perfetta compatibilità con Linux.

Verso il mission critical

All’interno delle aziende Linux ormai non ha più bisogno di presentazioni e in alcune aree riscuote un notevole successo, soprattutto per quella dei cosiddetti edge server a prestazioni medio/basse: stampa, web, file server, database, e-mail. Quando occorre gestire enormi quantità di dati, decine di processori e molti GByte di Ram, e in genere l’applicazione è considerata mission-critical, la preferenza di molti responsabili IT è ancora per sistemi operativi con maggiore anzianità, come Solaris.

Il kernel 2.6 includerà diversi miglioramenti fondamentali per permettere a Linux di competere ad armi pari con i concorrenti più esperti. Naturalmente dovranno passare parecchi mesi di prove sul campo dopo il rilascio ufficiale per stabilizzare la base di codice e aggiornare le distribuzioni e tutti gli applicativi enterprise d’interesse, ma la direzione è senz’altro quella giusta. Il numero di processi gestibili in parallelo sarà dell’ordine del miliardo, e gli utenti riconoscibili diversi milioni (le variabili interne per la gestione degli utenti è infatti passata da 16 a 32 bit). Quanto ai file system, la loro dimensione massima passerà a 2 TByte. I server in grado di installare fino a 64 GByte di Ram potranno utilizzarla pienamente. I cambiamenti appena descritti, per quanto importanti e necessari per guadagnare ulteriore credibilità a livello enterprise, sono soltanto l’inizio. Le vere novità in questo campo riguardano la capacità di sfruttare appieno le architetture hardware più complesse e avanzate, e la stabilità sotto carico.

Da questo punto di vista il kernel 2.6 risolve innanzitutto alcuni bachi che potevano bloccare l’avvio di sistemi con più di sedici processori. Sempre nelle architetture multi-Cpu aumenta la capacità di gestione simultanea di molti più interrupt e delle relative priorità. In aggiunta a questo, la funzione più importante è forse il supporto delle architetture Numa (Non Uniform Memory Architecture), l’evoluzione delle attuali piattaforme multiprocessore. In queste ultime la memoria è una risorsa unica, ugualmente accessibile a tutte le Cpu presenti.

Nella pratica questa soluzione non è la più efficiente possibile: i vari processori possono trovarsi a competere per l’accesso alla Ram, perdendo tempo anche quando in realtà potrebbero gestirne individualmente aree separate. Numa è stata pensata proprio per risolvere questi problemi, permettendo a ogni Cpu di essere più “vicina” a una diversa area di memoria, e di avere priorità sul controllo della stessa. A livello software, un kernel che deve controllare tali sistemi deve conoscere la topologia del sistema per capire quali aree di memoria vanno assegnate a ciascun processore.

Anche sul fronte del networking le capacità di Linux 2.6 aumentano. Ipv6 funzionerà anche su reti Token Ring, e i protocolli Ipsec metteranno alla portata di tutte le applicazioni connessioni sicure, in maniera completamente trasparente. Il supporto per le connessioni multicast (da uno a molti) o comunque multiple è stato parimenti migliorato, a beneficio di applicazioni come le videoconferenze via Internet. Un desktop più interattivo

In ambito domestico, così come nelle scuole e in alcune aziende, le capacità multimediali dei desktop e l’esigenza di usarli anche come sistemi hi-fi o home video sono sempre più richieste. Linux 2.6 non deluderà queste classi di utenti perché sarà più rapido nel rispondere agli stimoli, e quindi più adatto a giochi e applicazioni real time in generale. Oltre a due classi di patch (già descritte nel numero 152 di PC Professionale) per rendere lo stesso kernel interrompibile a vantaggio di tali applicazioni anche lo scheduler principale è stato reso più flessibile.

Le librerie Ntpl (Native POSIX Thread Library) saranno supportate ufficialmente: i maggiori incrementi di prestazioni saranno comunque visibili soltanto con applicazioni scritte appositamente per utilizzare il multithreading su processori Pentium Pro o superiori. A livello di periferiche, il supporto di Bluetooth e delle schede Dvb (Digital Video Broadcasting) usate per ricevere video da satellite o altre sorgenti digitali è l’esempio migliore dell’attenzione riservata nel nuovo kernel alle applicazioni consumer. La trasformazione di un sistema Linux 2.6 in un televisore, impianto Hi-Fi o videoregistratore digitale sarà facilitata dall’integrazione con i driver audio Alsa e Video4Linux.

Limitandosi alle periferiche tradizionali, le sorprese più piacevoli sono il supporto per dischi rigidi e controller Sata (Serial Ata), anche se conviene sempre controllare la compatibilità con Linux dei singoli componenti prima dell’acquisto. Quanto ai masterizzatori Ide, per utilizzarli non sarà più necessario camuffarli da dispositivi Scsi (operazione niente affatto intuitiva per i neofiti).

Anche gli utenti dei sistemi portatili potranno avvantaggiarsi del nuovo kernel. La versione 2.6 infatti supporterà le prerogative di risparmio energetico previste dai nuovi processori mobili di Intel e AMD (per non parlare di quelli di Transmeta, i primi a offrire questo tipo di funzioni). Queste Cpu sono in grado di ridurre il consumo di potenza diminuendo ad esempio la frequenza del clock non appena l’utilizzo del computer diminuisce, aumentando l’autonomia. Al momento di andare in stampa è invece ancora incerto i livello di supporto previsto per il chipset Intel Centrino per connettività wireless, in quanto la casa di Santa Clara - pur avendo dichiarato l’intenzione di supportare Linux - non ha ancora distribuito driver ufficiali o almeno le specifiche per scriverli. Come spesso avviene, alcuni sviluppatori indipendenti stanno lavorando al problema e sembra che siano riusciti a usare con successo alcuni modelli di Centrino.

Il futuro

Curiosando negli archivi delle mailing list o nei siti giusti si può comunque avere un’idea approssimativa delle direzioni in cui pensano di muoversi gli sviluppatori dopo il rilascio di questa versione. Fra le funzioni proposte ripetutamente quelle più interessanti sono la sostituzione a caldo (ovvero senza dover spegnere la macchina) di Cpu e Ram nei sistemi multiprocessore e la possibilità di modificare, sempre senza riavvio, le dimensioni dei file system. Oggetto di discussione sono anche i programmi per regolare vari parametri del kernel durante il funzionamento, in funzione del carico del processore in quel momento.

A un livello più concreto, anche se ancora agli inizi, esistono progetti come Ckrm e Vst. Il primo, il cui acronimo significa Class-based Kernel Resource Management, ha l’obiettivo di rendere il kernel configurabile in maniera tale da consentire l’assegnazione delle risorse fisiche della macchina (tempo di Cpu, Ram, banda in ingresso…) a gruppi predefiniti di processi o utenti, con priorità differenziabili. Una volta completo, Ckrm permetterà agli amministratori di monitorare in maniera dettagliata l’uso effettivo delle risorse di sistema, e di garantire che ogni processo usi soltanto le percentuali di ogni risorsa a cui ha effettivamente diritto.

Il progetto Vst si occupa invece della gestione avanzata di timer e allarmi. Fra i benefici pratici viene dichiarata una riduzione del consumo di potenza, poiché le patch Vst permetterebbero al kernel (in assenza di timer in scadenza) di mantenere il processore in stato di idle (attesa) per percentuali di tempo assai maggiori di quelle attuali.

Commenti   (Inserisci un commento)

Ancora nessun commento.

Effettua il login