Linux kernel 2.6.38

In poco più di due mesi Linus Torvals ha rilasciato la nuova versione 2.6.38 del kernel Linux.

Tra le novità più interessati c'è sicuramente quella modifica che è stata soprannominata "wonder patch" e che consente di migliorare di molto il comportamento dello scheduler dei processi per gli utenti desktop in alcune condizioni. Questa patch raggruppa tutti i processi che hanno lo stesso session ID e consente quindi di ottimizzare l'assegnazione del tempo CPU ai vari task che sono in attesa.

Per chi non lo sapesse in unix tutti i processi sono dotati di un session ID e tutti i processi figli sono dotati del medesimo ID a meno che non decidano di creare una nuova sessione utilizzando la system call setsid(3). Potete verificare le sessioni che stanno attualmente girando sulla vostra macchina eseguendo "ps -eo session,pid,cmd | sort".

Proviamo a fare un esempio per spiegare come cambiano le cose con questa nuova funzionalità. Ipotizziamo di avere fra i nostri processi 6 task che sono CPU-bound. Quattro di questi sei appartengono alla medesima sessione. Prima avremmo avuto una situazione simile alla seguente:

Without automatic process grouping: [proc. 1 | proc. 2 | proc. 3 | proc. 4 | proc. 5 | proc. 6]

Mentre ora avremo la seguente situazione con i processi raggruppati in automatico per session ID. Per lo scheduler ci saranno 3 gruppi fra cui dividere il tempo processore complessivo ed i time slice assegnati al primo gruppo saranno poi divisi fra i vari processi che lo compongono.

With automatic process grouping: [proc. 1, 2, 3, 4 | proc. 5 | proc. 6 ]

Un'altra modifica che farà felici tutti gli utenti del nuovo kernel è relativa al VFS, Virtual File System, che fa da mediatore fra le system call ed i file system. Grazie ad una ristrutturazione del codice ed alla nuova dcache ora le operazioni sul file system saranno molto più rapide, soprattutto ogni volta che c'è una chiamata a stat(). L'aumento maggiore delle prestazioni si avrà nel caso di workload multithread, ma anche nel caso singlethread si potranno notare dei miglioramenti.

Btrfs ora guadagna il supporto alla compressione on-the-fly utilizzando l'algoritmo LZO anziché zlib e la possibilità di generare snapshot read-only.

Per concludere le novità di rilievo non possiamo non citare l'arrivo nel kernel di B.A.T.M.A.N., "Better Approach To Mobile Adhoc Networking". Non si tratta di una nuova mascotte, ma di un protocollo di routing per reti mesh multi-hop ad-hoc. In pratica si potranno creare delle reti senza la necessità di alcuna infrastruttura, dove i nodi partecipanti inoltreranno i pacchetti ricevuti dagli altri peer e le politiche di routing saranno automatizzate in base alla connettività disponibile. Un sistema che si presta per essere utilizzato in condizioni di disastri ambientali, conflitti militari e censura della rete. Problemi che oggi sono più che mai all'ordine del giorno.

Via | KernelNewbies

Vota l'articolo:
3.78 su 5.00 basato su 36 voti.  

I VIDEO DEL CANALE TECNOLOGIA DI BLOGO