In passato ogni qual volta che acquistavi una memoria usb, una pendrive, venivi immancabilmente ammonito sulla necessità di disattivare la memoria sul sistema operativo prima di rimuoverla fisicamente dal computer. Con l’andare del tempo la regola si è molto allentata, nonostante la tecnolgia di fondo sia rimasta sostanzialmente la stessa. E’ quindi utile, o addirittura necessario, disattivare le memorie prima della rimozione?
Per inquadrare il problema ci sono tre fattori da tenere presente. Il primo è una caratteristica intrinseca dei sistemi operativi. Per migliorare la velocità dei dispositivi più lenti, come le memorie esterne, utilizzano una memoria tampone, che è chiamata cache. E’ un trucco molto semplice: anzichè leggere e scrivere direttamente la memoria esterna, il computer conserva una copia dei dati usati più frequentemente nella memoria centrale, che è molto veloce, rimandando la scrittura permanente dei dati al momento più opportuno per non rallentare le operazioni. Con questa funzionalità attiva, se togliessimo la chiavetta senza disattivarla, questo aggiornamento potrebbe essere non ancora avvenuto (o, peggio, potrebbe essere in corso), perdendo così irrimediabilmente i dati che sono stati parcheggiati nella cache e non ancora scritti sulla chiavetta.
Windows ha da già da molto tempo risolto il problema disabilitando questa funzionalità in scrittura per le memorie USB. L’utente può comunque attivarla per ottenere prestazioni migliori: la finestra di configurazione di questa caratteristica è però ben sepolta sotto molti strati delle proprietà della periferica.
Sia MacOsx che Linux preferiscono mantenere la cache attiva, probabilmente perchè migliora in modo significativo le prestazioni complessive. E’ il motivo per cui togliendo a caldo la pendrive dal computer senza espellerla ci si ritrova almeno con il classico monito:
C’è poi un secondo elemento da tenere presente. Le pendrive USB sono dispositivi molto più complessi di quanto comunemente di creda: dentro la chiavetta, infatti, non c’è solo memoria. La tecnologia flash è particolare perchè, senza scendere in dettagli tecnici, le sue celle con l’uso perdono la capacità di conservare l’informazione. Per essere utilizzabili sono gestite da un controller che è sostanzialmente un piccolo microcomputer con un suo programma operativo, che gestisce il flusso dei dati dall’interfaccia USB, individua le celle consumate, le marca come difettose e gestisce l’allocazione dei dati in modo da restituire sempre dati corretti.
Se a questo aggiungiamo che si tratta di dispositivi lenti, è facile comprendere che potrebbero comunque realizzarsi condizioni limite in cui, pur non essendo attiva la funzione di cache in scrittura, la rimozione a caldo potrebbe comunque interferire con la memorizzazione dei dati.
C’è poi un terzo elemento da tenere presente. Non è detto che sulla periferica non ci siano archivi aperti in scrittura al momento della rimozione. Ci sono servizi del sistema operativo, come ad esempio il sottosistema di indicizzazione, che accedono alle periferiche autonomamente e senza avvisi preventivi. Anche se il rischio di staccare la chiavetta in concomitanza con l’attività di uno di questi processi è relativamente remoto, la possibilità comunque esiste.
Il processo di esplulsione si occupa proprio di chiudere tutti i processi che accedono alla periferica USB, di effettuare l’aggiornamento di dati eventualmente ancora memorizzati nella cache e di porre il dispositivo nelle condizioni ideali alla rimozione.
Su MacOsx e su Linux l’esplusione della periferica prima della rimozione, come abbiamo visto, è necessaria per prevenire perdite di dati. Se su Windows, anche se non indispensabile, è comunque consigliabile, perchè mette al riparo da altri problemi, che pur essendo meno frequenti, non sono rarissimi.
D’altro canto è una operazione che in ogni sistema operativo è veloce e semplice:
è sufficiente cliccare con il pulsante destro sull’icona dell’unità e selezionare l’opzione dal menù a tendina.
Consentitemi un suggerimento: non dimentichiamo mai che le pendrive usb sono comodissime e utili per conservare copie di dati memorizzati su altre unità, ma non sono lo strumento ideale per essere adoperate come unità di lavoro o per custodire l’unica copia di dati. Ne parlerò più diffusamente in un prossimo post.
C’è poi un’altra categoria di memorie esterne da prendere in considerazione: i dischi rigidi (meccanici) come questo
che vanno sempre espulsi prima della rimozione. Queste periferiche implementano infatti una ulteriore memoria tampone, chiamata disk buffer, che è direttamente integrata nell’elettronica di controllo, e che non è sotto il controllo del sistema operativo.
C’è però un rischio ancora più grave. Staccando la periferica viene meno l’alimentazione in modo incontrollato, ed il disco potrebbe non avere più l’energia sufficiente a riportare le testine in posizione di sicurezza. Se le testine, che volano a pochi micron dalla superfice del piattello, atterrano in un’area non controllata si possono produrre danni permanenti, fino ad arrivare addirittura ad un crash: un evento catastrofico che renderebbe inutilizzabile l’intero disco.
3 commenti
Pingback: Introduzione a Linux: esploriamo l'ambiente
Volevo porre l’attenzione su un potenziale problema legato all’espulsione dei dischi esterni.
Attualmente vi sono anche le TV che possono riprodurre film inseriti in chiavi USB ma ora anche Dischi esterni di diversi Gb. Ora dato che sulla TV senza sistema operativo, non è presente una procedura per disinstallare il disco, cosa occorre fare?
Io credo bisogna spegnere la televisione, in modo da togliere la corrente al disco esterno, ma a volte è fastidioso, se ti serve urgentemente la memoria di massa esterna e qualcun’altro sta vedendo la televisione. Che si fa si aspetta la pubblicità?
Dipende dal metodo di accesso, in generale gli Smart-TV usano i dischi in sola lettura. Alcuni modelli che consentono la registrazione, invece, hanno un comando di espulsione nei menù della periferica.