Memoria di massa: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
AlessioBot (discussione | contributi)
m →‎Note: Bot: +controllo di autorità
Riga 2:
[[File:Storage size comparison.jpg|thumb|right|Confronto di dimensioni tra diverse memorie di massa rimovibili]]
 
cazzzata detta da zappalorto
In [[informatica]], nell'ambito dell'[[architettura dei calcolatori]], si distinguono due tipi di [[memoria (informatica)|memoria]]: la [[memoria primaria]], che lavora a più diretto contatto con il [[processore]], costituita fondamentalmente da [[RAM|memoria RAM]], [[Read Only Memory|memoria ROM]], [[Cache|memoria Cache]], e la memoria secondaria o '''memoria di massa''', i cui maggiori rappresentanti sono gli [[hard disk]], ma anche supporti rimovibili come dischi [[floppy]], [[Compact disc|CD]], [[DVD]], [[nastro magnetico|nastri magnetici]], [[memoria flash|memorie flash]] di ogni tipo ed altro ancora. È detta ''di massa'' perché raccoglie tipicamente grandi quantità di dati rispetto alla memoria primaria e in maniera non volatile cioè permanente almeno fino alla volontà dell'utente<ref>[http://www.dizionarioinformatico.com/cgi-lib/diz.cgi?name=memoria+di+massa DizSearch ::: Dizionario Informatico<!-- Titolo generato automaticamente -->]</ref>.
 
==Descrizione==
Nell'[[architettura di von Neumann]], quando ci si riferisce alla memoria, s'intende la memoria principale, che è quella sulla quale il [[computer|calcolatore]] carica i [[processo (informatica)|processi]] ([[programma (informatica)|programmi]] in [[esecuzione (informatica)|esecuzione]]) ed i dati ad essi relativi (si parla appunto di ''memoria di lavoro''), mentre si considera la memoria secondaria alla stregua di un dispositivo d'ingresso (''input'') e/o di uscita (''output'') dei dati ([[periferica]] di [[I/O]]).
 
La caratteristica principale della memoria di massa è la "non volatilità", ovvero la possibilità di memorizzare permanentemente i dati (per questo si parla anche di ''memoria di archiviazione''). Inoltre, la memoria di massa ha un costo inferiore rispetto alla memoria principale, per questo verrebbe da chiedersi perché nei moderni [[computer]] non si utilizzi solo memoria secondaria (tramite il meccanismo della [[memoria virtuale]]). La ragione risiede nella velocità di accesso ai dati: i tempi medi di accesso alla memoria principale sono dell'ordine delle centinaia di [[nanosecondo|nanosecondi]], contro i [[millisecondo|millisecondi]] delle memorie di archiviazione, che, quindi, necessitano di tempi di accesso maggiori di ben 5 ordini di grandezza.
 
La tecnologia, infatti, è riuscita nel corso degli anni a rendere le memorie ROM e RAM sempre più veloci, ma nulla ha potuto contro i limiti "fisici" dei [[disco rigido|dischi]], che hanno bisogno di aspettare che la testina si posizioni sulla traccia giusta (''tempo di ricerca'' o ''seek-time'') e sul blocco giusto (''latenza di rotazione'' o ''latency-time'').
 
Quindi la Memoria di massa è un dispositivo che consente la registrazione, la conservazione e la rilettura dei dati.
Può essere di tipo fisso o rimovibile, installato all'interno del computer o esterno e collegato ad esso tramite [[cavo]] opportuno o tramite la [[rete locale]], di sola lettura o di lettura/scrittura.
 
==Gestione della memoria di massa==
I dati sono riuniti in entità omogenee dette [[file]]. Le memorie di massa sono gestite da un componente fondamentale dei [[sistema operativo|sistemi operativi]], il [[file system]]: ogni sistema operativo ne utilizza uno diverso ed i più famosi sono [[FAT32]] ed [[NTFS]] di casa [[Microsoft]] ed [[ext2]]-[[ext3]] dei sistemi [[Linux]]. Fondamentalmente l'organizzazione delle memorie di massa è gestita tramite [[struttura dati|strutture dati collegate]] che possono essere [[struttura dati|liste]] o, molto più frequentemente, [[B-Albero|B-Alberi]], oppure tabelle di indirizzamento (dette TOC, dall'inglese ''Table Of Contents'').
 
===Ricerca dei dati===
Nel caso di file system a TOC la ricerca è piuttosto semplice e rapida (si pensi ad un magazzino con un registro che indichi lo scaffale che contiene la merce desiderata), mentre nel caso di struttura collegata la ricerca può risultare onerosa (utilizzando una lista collegata, nel caso peggiore si deve scorrere l'intera lista, ma, nel caso di Albero B+, alla peggio si ha un tempo di ricerca logaritmico).
 
===Memorizzazione dei dati===
La memorizzazione dei dati, nel caso di memorie non riscrivibili (per esempio CD-R) avviene progressivamente, riempiendo lo spazio in ordine progressivo di indirizzo (nell'esempio del CD-R, se abbiamo 700 [[MB]] di spazio, ma ne utilizziamo 658, le tracce vuote saranno quelle più esterne, come è facilmente visibile, guardando la superficie del CD).
Per quanto riguarda le memorie riscrivibili (per esempio gli hard disk) il data-storage viene eseguito fondamentalmente secondo tre possibili criteri:
#''first-fit'': si cerca la prima locazione di memoria abbastanza grande da ospitare il file da salvare
#''best-fit'': si cerca la più piccola locazione di memoria abbastanza grande da ospitare il file da salvare
#''worst-fit'': si cerca la più grande locazione di memoria disponibile (può sembrare, a prima vista, un assurdo, ma ciò spesso permette che la parziale occupazione della locazione lasci abbastanza spazio libero per ospitare un altro file).
Statisticamente si può osservare che i primi due metodi sono più efficienti del terzo.
 
===Cancellazione dei dati===
La cancellazione dei dati (nei supporti che lo consentono, ovvero quelli riscrivibili) viene spesso intesa dai sistemi operativi come la semplice rimozione del record relativo al file in questione dalla TOC o dall'albero B+, il che rende possibile tramite apposite utility il ripristino di dati cancellati, in quanto, questi risiedono di fatto in memoria, finché la necessità di spazio sul quale memorizzare nuovi dati spingerà il [[sistema operativo]] a scrivere nella locazione che l'utente, cancellando il vecchio file, ha di fatto indicato come vuota.
 
Recentemente [[Apple]], nel suo [[Mac OS X]] ha incluso un tool di cancellazione sicura (utility simili si trovano facilmente in rete per tutti i sistemi operativi) che riscrive più volte dati casuali sul file da cancellare.
 
===Frammentazione interna ed esterna===
{{Vedi anche|Frammentazione (informatica)}}
Da notare che tutti i file system commerciali utilizzano la tecnica del ''file paging'': un supporto di memoria di massa viene suddiviso in ''pagine'' o ''cluster'' (la cui misura in genere varia da 512 [[byte]] a 4 [[KiB]]), per ottimizzare le operazioni di lettura e scrittura. Questo però può causare uno spreco di memoria, soprattutto quando le pagine sono di grandi dimensioni (si pensi ad un file di 5 KiB ed un file system con cluster di 4 KB: ne sono necessari 2 per un totale di 8 KiB ed uno spreco di ben 3KiB: in questo caso si parla di ''frammentazione interna''.
 
Invece, per ''frammentazione esterna'' s'intende il fenomeno per il quale tra due file si viene a creare uno spazio vuoto troppo piccolo per memorizzarvi un altro file: questo fenomeno è tipico dei [[file system]] con ''cluster'' troppo piccoli.
 
==Note==
<references/>
 
{{Componenti basilari dei computer}}
 
{{Controllo di autorità}}
{{Portale|informatica}}
 
[[Categoria:Memorie di massa| Memoria di massa]]