Linux Kernel 2.6.33: grandi cambiamenti

Linux La mailing list del kernel Linux di recente è stata “infuocata” da una discussione molto scottante.

Discussione che come al solito ha coinvolto Linus Torvalds, Alan Cox e “compagnia di ventura”.

Il tema era di quelli importanti, si parlava delle nuove modifiche al sottosistema grafico del kernel Linux 2.6.33.

Modifiche apportate da ingegneri e collaboratori di Red Hat e che potrebbero comportare notevoli miglioramenti.

Entrando più nello specifico l’argomento principale è quello del DRM (Direct Rendering Manager) e coinvolge anche il famosissimo Kernel Mode Setting, su cui ormai si lavora da quasi due anni e su cui però ci sono ancora diverse cose da fare.

David Airlie ha sottoposto a Linus Torlvads una serie di patch per migliorare le prestazioni e le funzionalità del DRM. Tra queste sembra esserci anche il lavoro di Kristian Høgsberg in merito al “KMS page-flipping ioctl”. Si tratta di un sistema in grado di velocizzare il rendering della grafica, la gestione delle pagine, nonché di migliorare le prestazioni del Server X.

In realtà a beneficiarne sarebbe anche il progetto “Wayland Display Server” una sorta di Server X molto più leggero e sviluppato dallo stesso Kristian Høgsberg.

Le patch presentate da David Airlie interverrebbero sia nel core del kernel Linux DRM che nei driver open source Intel e ATI, mentre per quelli nVidia (Nouveau) bisogna attendere ancora un po’. Entrate nel merito è abbastanza complesso ma è sufficiente sapere che si sta parlando dei componenti DRM, TTM, EDID, DisplayPort. Insomma una serie di sigle che nascondono un software molto complesso.

Sembra poi che anche lo stesso driver grafico “vmwgfx” usato dal sistema VMWare potrebbe beneficiare di questi miglioramenti consentendo una grafica della macchina virtuale più fluida e più prestante.

Peccato che Ubuntu 10.04 monterà un Kernel Linux 2.6.32. Chissà invece se Fedora riuscirà portare in casa il kernel 2.6.33 o comunque una parte del lavoro. D’altra parte tra Red Hat e Fedora non dovrebbero esserci molti problemi di collaborazione.

Il kernel Linux è un software libero distribuito con licenza GNU General Public License; è stato creato nel 1991 da Linus Torvalds. Integrato con il Sistema GNU, sviluppato da Richard Stallman, ha dato vita al sistema operativo GNU/Linux (chiamato comunemente con il solo nome Linux).

Il kernel è il "cuore" di un sistema operativo (nucleo) e fornisce tutte le funzioni essenziali per il sistema, in particolare la gestione della memoria, delle risorse del sistema e delle periferiche, assegnandole di volta in volta ai processi in esecuzione. La controparte del kernel è la shell, ovvero l'interfaccia utente del sistema, la parte più esterna. I programmi chiedono le risorse al kernel attraverso delle chiamate (system call) e non possono accedere direttamente all'hardware. Il kernel si occupa quindi di gestire il tempo processore, le comunicazioni e la memoria distribuendole ai processi in corso a seconda delle priorità (scheduling).

L'architettura scelta da Torvalds per il kernel (ovvero una struttura monolitica, considerata da alcuni obsoleta a differenza della più moderna architettura a microkernel) fu causa di un dibattito molto acceso con Andrew S. Tanenbaum nel 1992 sul newsgroup comp.os.minix. Sebbene oggi il kernel possa essere compilato in modo da avere un'immagine binaria ridotta al minimo e i driver caricabili da moduli esterni, l'architettura originaria è chiaramente visibile: tutti i driver infatti devono avere una parte eseguita in kernel mode, anche quelli per cui ciò non sarebbe affatto necessario (ad esempio i driver dei file system).

Come ogni progetto che sia software libero, anche il kernel Linux è in continua evoluzione e le nuove release sono reperibili sul sito kernel.org. La dimensione del kernel Linux cresce in maniera esponenziale, aggiungendo nuovi moduli, nuovo hardware supportato e così via.

Linux è un kernel che supporta il multitasking ed è multi utente. Ciò permette che diversi utenti (con privilegi differenziati) possano eseguire sullo stesso sistema diversi processi software in simultanea. Attualmente linux supporta gran parte dell'hardware disponibile per PC e supporta un numero enorme di architetture (tra cui SPARC, PowerPC e le più moderne CPU a 64 bit).

Dato che il codice sorgente di Linux è disponibile a tutti, è ampiamente personalizzabile, al punto da rendere possibile, in fase di compilazione, l'esclusione di codice non strettamente indispensabile. La flessibilità di questo kernel lo rende adatto a tutte quelle tecnologie embedded emergenti e anche nei centri di calcolo distribuito (cluster Beowulf) fino ad essere incorporato in alcuni videoregistratori digitali e nei telefoni cellulari.

Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

Commenti

  1. La seconda parte dell'articolo poteva essere risparmiata... oramai lo sanno tutti che Linux è un kernel libero di tipo monolitico in continua evoluzione bla bla bla...
    C'era proprio bisogno di sprecare spazio su disco per riempire un buco ?

    RispondiElimina

Posta un commento

Post popolari in questo blog

Rilasciano BlenderBot v3, un chatbot che utilizza il loro modello OPT e aprono la demo per testarlo

Componenti aggiuntivi di Google Workspace

Come rimuovere il virus che trasforma le cartelle in collegamenti nella tua pendrive.