RSS

I 5 secondi di Moblin

10 Aprile 2009

Moblin-MeeGo

moblin-64

Moblin, la distribuzione sponsorizzata da Intel (che abbiamo già provato nella alpha 1 e 2)  vanta un boot dichiarato di soli 5 secondi ed è ovviamente nata per l’utilizzo con i netbook.

Recentemente il proggetto è anche passata sotto la visione della Linux Fondation, da cui otterrà altri importanti benefici.
Ma come è possibile un boot così ridotto? Analizziamo il sistema come dichiarato in questo splendido articolo in lingua inglese.
Tutto nasce da questo assunto: non bisogna fare il boot più velocemente, bisogna farlo in 5 secondi.
Scelto il badget prefissato (5 secondi), si fissano i paletti da rispettare e non bisogna barare (i tecnici Intel sottolineano il comportamento di Windows Xp che sembra caricare velocemente la grafica, ma in realtà poi continuano a partire servizi in background): ciò significa che il boot è completato solo quando la cpu e i dischi sono in idle.

Questo è quanto pianificato:

  • 1 secondo: Boot del Kernel e di tutti i moduli
  • 1 secondo: boot dei script di init e servizi in background
  • 1 secondo: start di X (server grafico)
  • 2 secondi: boot del desktop manager

Per centrare il primo traguardo, è stato rimosso initrd dal Kernel, perchè da solo consuma mezzo secondo.
Cos’è e a cosa serve initrd? Initrd è un piccolo file system caricato in ram che serve nella fase di boot per avere la possibilità di caricare successivamente i moduli del Kernel dopo aver montato il filesytem in cui si trova.
Rinunciare a questo componente significa che tutti i moduli devono essere integrati nel kernel, perciò va pianificato cosa inserire  (con una scelta occulata si può coprire il 95% dei portatili esistenti).
Un altro punto che gioca a favore di un kernel veloce, è stato quello di far partire l’inizializzazione delle interfacce host in modo asincrono, così da sfruttare il parallelismo.

Per quanto riguarda il secondo punto, il target è stato raggiunto semplicemente ponendo un ordine di init ottimizzato per sfruttare il parallelismo tra i processi. Ce da osservare che i dati da caricare in questa fase ammonterebbero a 75MB, il che, calcolando una velocità di lettura da flash di 25MB/s, servirebbero 3 secondi per leggere il tutto.
Il trucco in questo caso consiste nel leggere solo quello che è effettivamente usato.

Per i restanti ultimi due punti, quello che ci viene detto è che:

  • X è stato “danneggiato” parecchio andando a togliere parti di codice
  • Il desktop manager non usa GDM, ma si apre sull’ultima sessione aperta, risparmiando così un pò di tempo

Ma tutto questo funziona?

Come abbiamo visto nelle prove, indubbiamente il boot risulta il più veloce rispetto le altre distribuzioni, ma l’utilizzo di pen per il test ha allungato i tempi di molto, ma ciò è dovuto alla minor velocità di lettura del dispositivo usato.

E si può fare di meglio?

Può essere perchè già si rumoreggia che il tempo possa essere ridotto a soli 2 secondi…ma non saranno troppo pochi? 😉

No comments yet.

Leave a Reply