chiudi

Non sei ancora registrato? Cosa aspetti, corri a farlo QUI !!

LOGIN / JOIN !

Translate!

English Chinese (Simplified) French German Japanese

Newsletter: iscriviti!




Visits counters

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterOggi1032
mod_vvisit_counterIeri3383
mod_vvisit_counterQuesta settimana4415
mod_vvisit_counterScorsa settimana19091
mod_vvisit_counterQuesto mese66459
mod_vvisit_counterScorso mese69504
mod_vvisit_counterGlobali5575030

Siti Amici

Tempi di avvio super rapidi in Windows 8 con una particolare "ibernazione"

Valutazione attuale: / 0
ScarsoOttimo 

Windows 8 fast boot

Direttamente da Steven Sinofsky un interessante e approfondito intervento sul blog ufficiale di MSDN riguardante un peculiare aspetto di Windows 8: la capacità di garantire tempi di avvio eccezionalmente rapidi, sfruttando al meglio ibernazione e soprattutto tecnologia multicore delle attuali CPU.

E' Steven Sinofsky, personalità centralissima nel team di sviluppo di Windows 8 (prossima major release dell'OS di casa Microsoft), l'autore di nuovo approfondito post sul blog MSDN "Building Windows 8".

Per la prima volta nello sviluppo di un sistema operativo, Microsoft si apre al grande pubblico fornendo in maniera ufficiale anticipazioni nei momenti ritenuti più opportuni, con lo scopo di evitare il nascere di futili e spesso fuorvianti indiscrezioni (spesso ufficiose e false) nonchè per creare un contatto più "umano" e diretto con i clienti Microsoft Windows.

Chi crea un sistema operativo è in fondo gente normale, con un pizzico di genio e una mente allenata, non si tratta di personalità aliene nascoste nell'ombra. Per questo il blog ufficiale su Windows 8, fortemente voluto da Microsoft stessa, cerca di demistificare falsi miti e ricondurre il tutto ad una dimensione reale ed umana. Che poi sia, spesso e volentieri, il "gran capo" Sinofsky a parlare (anzi, scrivere) dà sicuramente un valore aggiunto a tutto ciò.

In questo articolo ho voluto riprendere una analisi minuziosa condotta proprio da Steven Sinofsky circa un particolare e specifico aspetto di Windows 8: il tempo di avvio. Spesso si tratta di un parametro centrale nell'analisi e comparazione tra sistemi operativi o, a parità di OS, al variare dell'hardware. Ad esempio, le prime campagne pubblicitarie che interessavano i pionieri del mercato delle soluzioni SSD avevano come aspetto centrale proprio la possibilità di abbattere i tempi di avvio del sistema. E poi, diciamolo, uno startup time più contenuto rende l'utilizzatore più felice.

Del lungo resoconto di Sinofsky (in stretta collaborazione con Gabe Aul, Direttore del programma di management di Windows, che ha fornito dettagli più tecnici), di seguito ho voluto tradurre e riportare gli aspetti più salienti e fondamentali, senza cadere nella trappola di terminologie e concetti troppo complessi ed inserendo alcune mie personali argomentazioni.

 

Steven mi trova concorde: parlando degli aspetti fondamentali di un sistema operativo, si inizia con il boot time (feature tra le più chiacchierate e misurate in assoluto). Windows 8 è stato progettato per evitare che l'utente esegua un avvio così spesso, lavorando nella direzione di ridurre il numero di riavvii del sistema richiesti in concomitanza di installazione di aggiornamenti e patch relativi al codice in esecuzione. In "Eight" le promesse sono mantenute, il boot time e tutto ciò che concerne avvio e riavvio del sistema sono aspetti che hanno visto una trattazione approfonditissima da parte del team di sviluppo.

Il tempo di avvio rappresenta un parametro reale per le performance complessive del sistema ed un aspetto molto caro alla clientela: questo Microsoft lo sa bene. Secondo un'indagine, il 57% degli utilizzatori di PC desktop ed il 45% dei laptop user preferiscono spegnere la propria macchina anzichè propendere per lo stato di sospensione. Complessivamente, si tratta della metà degli utilizzatori di Windows.

Si preferisce essenzialmente spegnere completamente il PC per motivi di risparmio energetico e riduzione dell'uso della batteria. Nel caso dei netbook, si propende anche per l'ibernazione (che pure non richiede dispendi energetici), eppure sempre non in maniera così significativa. Evidentemente perchè l'utente pretende (giustamente) che ogni nuova sessione di utilizzo sia accompagnata da un sistema operativo "fresco" come appena avviato, e non reduce dei processi già carichi in memoria e ivi persistenti alla riattivazione dopo una sessione di ibernazione.

Sebbene consumi pochissima energia, la sospensione non è dunque quasi mai usata. La RAM resta infatti attiva e il contenuto necessita di essere refreshato attingendo appunto all'alimentazione elettrica. Strana controtendenza a ciò che accade con i moderni mobile phone, quasi mai spenti o riavviati ma spesso e volentieri semplicemente messi in uno stato di "sospensione". Nel caso di Android, ad esempio, avrete forse sentito parlare di <<deep sleep>>, uno stato energetico con cui i "cuochi" di kernel devono spesso lottare per garantirne il funzionamento.

Windows spegnimento ibernazione sospensione desktop laptop

La nuova sfida di Microsoft è quella di progettare un motodo che tenga conto dei desideri e delle tendenze degli utenti in materia senza introdurre nuovo hardware (e nuove spese!). Gli obiettivi sono essenzialmente tre:

  • Consumi energetici pari effettivamente a zero nello stato di "off";
  • Una sessione nuova (e identica a quella assicurata da un avvio da spento) all'avvio e alla ripresa delle attività;
  • Tempi molto rapidi tra la pressione del pulsante di alimentazione e il momento a partire da cui si può utilizzare il PC.

Con Windows 7 sono già stati fatti dei passi avanti, tra cui l'inizializzazione parallela dei driver dei dispositivi, dei servizi trigger-start, ma la creatività aveva ancora molto da offrire in questo campo. La soluzione proviene proprio dalla nuova modalità di startup di Windows 8, un ibrido tra il tradizionale avvio a freddo e la ripresa dall'ibernazione. Si chiama fast boot. In Windows 7 sono necessari diversi lunghi step affinchè l'avvio di concluda; stesso dicasi per lo spegnimento.

In breve, nel tradizionale spegnimento, vengono chiuse tutte le sessioni utente, mentre nella sessione kernel vengono chiusi i servizi e disattivati i dispositivi; il tutto in virtù di una preparazione allo shutdown completo.

Qui arriva l'innovazione: in Windows 8 le sessioni utente vengono normalmente chiuse ma, invece di chiudere la sessione kernel, quest'ultima viene ibernata. Se raffrontiamo questa tecnica con l'ibernazione classica, che include un sacco di pagine di memoria in uso dalle applicazioni, la nuova funzionalità produce un'occupazione su memoria di massa (il famoso file hiberfil.sys) di gran lunga inferiore (ad oggi invece tale file è pari al 75% dell'estensione della RAM). Ciò significa meno tempo per scrivere nel disco: un bel passo avanti anche nel caso non possedessimo un SSD ma un più lento hard disk. Identico beneficio nella lettura del file di ibernazione e ripristino del contenuto in RAM. Con questa tecnica i tempi di avvio vengono significativamente ridotti, poichè leggere il file di ibernazione e reinizializzare i driver risulta più veloce (dal 30 al 70% di velocità in più). Ecco una prova realizzata su 30 computer nei laboratori Microsoft:

Windows 8 fast startup Windows 7 cold boot

Vi ricordo che la normale ibernazione prevede che esattamente tutto il contenuto della RAM, quindi anche programmi, processi e servizi in esecuzione, vengano riversati in pagine dell'hard disk. Ciò comporta tempo nel trasferimento su disco (ovviamente il tutto aumenta nel caso di RAM sempre più capienti) nonchè il riottenimento in RAM dei dati salvati al successivo avvio del sistema.

Il tutto viene velocizzato, perchè inizializzare nuovamente una sessione di sistema ibernata richiede meno lavoro che procedere con una inizializzazione completa del sistema, inoltre ulteriore velocità è apportata da una nuova capacità di resume multi-fase, in grado di utilizzare tutti i core di una CPU multicore in parallelo, per dividere il carico di lavoro della lettura dall'hiberfile e decompressione del contenuto prima della ricollocazione in RAM. E' una peculiarità che è utilizzata anche nel caso in cui preferissimo affidarci alla normale ibernazione.

Windows 8 fasi avvio

Altra cosa da sottolineare: per chi continua a preferire l'avvio classico, perchè così vengono reinizializzati davvero i driver, i dispositivi e i processi, forse è ora il caso di riconsiderare l'ibernazione. Con Windows 8, infatti, la nuova modalità di ibernazione consente di garantire uno scenario praticamente identico all'avvio a freddo in termini di RAM libera e processi non più attivi della precedente sessione utente, sebbene il processo resti comunque diverso dal "cold boot" vero e proprio.

I vantaggi velocistici sono effettivi e reali, anche (lo ribadiamo) nel caso in cui non si utilizzi un SSD ma un più lento HDD. Ecco un video dimostrativo, realizzato con l'impiego di un notebook:

E' evidente quanto immediata sia la transizione tra POST e avvio di Windows. La schermata di boot e relativa attesa, praticamente, spariscono. I sistemi che sono assemblati utilizzando la tecnologia UEFI (Unified Extensible Firmware Interface) promettono incrementi prestazionali ancora migliori rispetto ai tradizionali BIOS. Fortunatamente, tale nuova tecnologia è sempre più considerata dai produttori di motherboard.

In alcuni casi, tuttavia, l'utente continuerà a preferire lo spegnimento completo - ad esempio nel caso si voglia fare manutenzione o cambiamenti sull'hardware. Un'opzione nell'interfaccia grafica di Windows 8 lo permetterà, consentendo di tornare al classico comportamento di shutdown/cold boot di Windows 7. E' anche possibile agire dal prompt dei comandi per invocare immediatamente uno spegnimento completo (il comando è: shutdown /s /full / t 0) e, scegliendo l'opzione Riavvia, verrà comunque eseguito uno spegnimento completo seguito da un avvio a freddo vero e proprio. In sintesi, la nuova modalità si applica solo nel caso si opti per "Spegni".

Tali migliorie implementate in Windows 8 sono gestite dal Kernel Platform Group, tuttavia diversi team sono stati interessati per effettuare tali cambiamenti a diversi livelli del sistema operativo per supportare questa nuova modalità (si pensi ad esempio ai driver). Microsoft parla anche di altre <<eccitanti modifiche all'avvio>> di cui però si riserva di parlare successivamente.

 

Questa importante novità ci fa capire come Microsoft stia cambiando rotta indirizzando gli sforzi verso un'ottimizzazione software basandosi su hardware già esistente, anzichè creare un nuovo sistema operativo che sia necessariamente propulsore verso l'acquisto, quasi forzato, di un nuovo computer più potente. Apple questo la fa da tempo ormai.

Commenti (0)add comment

Scrivi commento
più piccolo | più grande

busy

Articoli correlati:
Articoli più recenti:
Articoli meno recenti: