RAM disk: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
 
(23 versioni intermedie di 21 utenti non mostrate)
Riga 1:
In [[informatica]] laLa [[locuzione]] '''RAM disk''', (talvolta '''RAM drive'''), in [[informatica]] è usata per indicare una porzione di [[Random Access Memory|RAM]], in un [[computer]] la [[Memoria_Memoria (informatica)#Memoria_primariaMemoria primaria|memoria primaria]], utilizzata da un [[software]] come se fosse un'[[disco rigido|unità a dischi]], cioè una [[memoria di massa|memoria secondaria]]. Un RAM disk è spesso indicato anche come "RAM drive virtuale" o "RAM drive software" per distinguerlo da un "RAM drive hardware", che generalmente utilizza dell'hardware separato contenente della RAM, che è un'[[unità a stato solido]].
 
Un RAM disk è spesso indicato anche come "RAM [[drive virtuale]]" o "RAM drive software" per distinguerlo da un "RAM drive hardware", che generalmente utilizza dell'hardware separato contenente della RAM, che è un'[[unità a stato solido]].
==Prestazioni==
La velocità di un RAM disk è, generalmente, di diversi [[ordine di grandezza|ordini di grandezza]] superiore rispetto alle altre [[memorie di massa]] quali i [[disco rigido|dischi rigidi]], le unità a nastro magnetico o i [[disco ottico|dischi ottici]] a causa di alcuni fattori che influenzano le prestazioni delle memorie secondarie a favore di quelle primarie: i tempi di accesso, la quantità di dati gestibili nell'unità di tempo ed i [[file system]].
 
==Storia==
Il primo fattore, il tempo di accesso, decresce enormemente nel caso di un RAM disk dato che esso è un dispositivo a stato solido, non avendo quindi nessuna parte meccanica: un disco rigido o un'unità ottica, come un [[Compact disc|lettore CD]]/[[DVD]]/[[Blu-ray Disc|Blu-ray]], devono portare una testina (magnetica o ottica) in posizione mentre un'unità a nastri deve far avanzare o riavvolgere la bobina magnetica per raggiungere una determinata posizione prima che la lettura/scrittura possa avvenire. I RAM disk possono accedere ai dati con la sola indicazione dell'indirizzo di memoria di un dato file, senza nessuna parte meccanica che debba essere allineata o posizionata.
Il primo RAM disk software fu ideato e scritto da Jerry Karlin, [[Gran Bretagna]], nel [[1979]]. Il software, noto come [[Silicon Disk System]], fu poi offerto commercialmente da ''JK Systems Research'', che in seguito sarebbe divenuta ''Microcosm Research Ltd'' quando entrò in società Peter Cheesewright di [[Microcosm Ltd]]. L'idea alla base del RAM disk era quella di permettere ai primi [[microcomputer]] di utilizzare più RAM di quanta la CPU potesse indirizzare direttamente, ed usare della RAM extra, attivata tramite il [[bank switching]], come un disco rigido; era molto più rapido che accedere ad un vero disco rigido, soprattutto in un periodo informatico in cui i dischi rigidi non erano ancora diffusi.
 
Il Silicon Disk lineaa riga di comandofucomando fu presentato nel [[1980]], inizialmente per il sistema operativo [[CP/M]] ed in seguito per l'[[MS-DOS]]. A causa delle limitazioni nell'indirizzamento della memoria nei computer [[Apple II]] e [[Commodore International|Commodore]], il RAM disk era disponibile su quelle macchine solo se dotate di espansione di memoria, come nel caso del [[Commodore 64]] e del [[Commodore 128]], o con e negli Apple con più di 64 KB di memoria. Sui computer Apple il RAM disk era inoltre supportato ufficialmente dal [[ProDOS]]: sui computer con 128 kB o più di RAM il ProDOS ne creava automaticamente uno chiamandolo <ttkbd>/RAM</ttkbd>.
Il secondo fattore, i dati che possono essere letti o scritti nell'unità di tempo, è limitato solo dalla velocità della RAM, da quella del [[Bus_(informatica)#Bus_dati_per_tutti_i_tipi|bus dati]] e da quella della [[CPU]] del computer. Le memorie secondarie sono invece limitate dalla velocità del bus di collegamento ([[Advanced Technology Attachment|IDE]], [[Serial ATA|SATA]], [[USB]], [[porta seriale|seriale]] o [[porta parallela|parallelo]]). A questo va poi sommato il fattore limitante dato dalla velocità dei servomeccanismi.
 
[[Microsoft]] aggiunse il supporto per i RAM disk all'MS-DOS nel [[1983]], con la versione 2.0 mentre l'[[AmigaOS]] lo offrì a partire dalla versione 1.2 ([[1986]]): oggi è ancora presente nell'AmigaOS 4.1 ([[2010]]).
Il terzo fattore è dato dall'influenza del file system in uso, [[File Allocation Table|FAT]], [[NTFS]], USBFS, [[ext2]] ed altri, che aggiunge degli ulteriori accessi ai dati sulle memorie secondarie, che legge e scrive i file su di esse e la cui struttura può influire più o meno negativamente: ad esempio, alcuni file system possono essere strutturati per trattare con facili tanti file di piccole dimensioni e si trovano perciò in difficoltà nel dover manipolare file molto grandi, oppure viceversa.
 
Apple inserì il supporto ai RAM disk nell'[[Apple Macintosh]] con il [[System 7]] ([[1991]]). Inoltre, molti sistemi [[Unix]]/[[Linux]] forniscono nativamente il supporto per alcune forme di funzionalità simili al RAM disk.
Per contro, anche un RAM disk ha alcuni limiti: il primo è dato dal fatto che la memorizzazione avviene in RAM e che questa, essendo volatile, può comportare la perdita dei dati che contiene nel caso in cui venga a mancare l'alimentazione, sia per un atto voluto (per il [[boot|riavvio]] o l'[[arresto (informatica)|arresto]] del computer) che per uno accidentale ([[black-out]]). Alle volte questo evento è desiderato, come nel caso in cui si stia lavorando sulla copia in chiaro di un file [[cifratura|cifrato]]. In molti casi i dati memorizzati in un RAM disk vengono creati per avere un accesso più rapido ad informazioni memorizzate da qualche altra parte, e vengono poi ricreati sempre in RAM quando il sistema viene riavviato.
 
==ImplementazionePrestazioni==
La velocità di un RAM disk è, generalmente, di diversi [[ordine di grandezza|ordini di grandezza]] superiore rispetto alle altre [[memorie di massa]] quali i [[disco rigido|dischi rigidi]], le [[unità a nastro magnetico]] o i [[disco ottico|dischi ottici]], a causa di alcuni fattori che influenzano le prestazioni delle memorie secondarie a favore di quelle primarie: i tempi di accesso, la quantità di dati gestibili nell'unità di tempo ede i [[file system]].
I RAM disk software utilizzano la normale RAM del sistema come se fosse una [[partizione (informatica)|partizione]] reale su un disco rigido invece che accedere al bus dati normalmente usato per gestire una memoria secondaria. I RAM disk possono essere supportati sia direttamente dal [[sistema operativo]] tramite speciale meccanismi presenti nel [[kernel]], sia tramite l'utilizzo di applicazioni in [[spazio utente]]: un esempio è il file system [[FUSE]], che permette ad un normale utente di un sistema [[Linux]] la creazione di un file system in user space senza dover scrivere codice a livello di kernel. Esempi di RAM disk sono ''AppDisk'' per il [[Mac OS]]<ref>{{cita web|url=http://www.mac.org/utilities/appdisk/|titolo=Homepage del progetto AppDisk|accesso=14/10/10}}</ref> e [[initrd]] per Linux.
 
Il primo fattore, il tempo di accesso, decresce enormemente nel caso di un RAM disk, dato che esso è un dispositivo a stato solido, non avendo quindi nessuna parte meccanica: un disco rigido o un'unità ottica, come un [[Compact disc|lettore CD]]/[[DVD]]/[[Blu-ray Disc|Blu-ray]], devono portare una testina (magnetica o ottica) in posizione, mentre un'unità a nastri deve far avanzare o riavvolgere la bobina magnetica per raggiungere una determinata posizione prima che la lettura/scrittura possa avvenire. I RAM disk possono accedere ai dati con la sola indicazione dell'indirizzo di memoria di un dato file, senza nessuna parte meccanica che debba essere allineata o posizionata.
In genere non serve l'utilizzo di un'alimentazione di emergenza, data la natura temporanea dei dati memorizzati nel RAM disk ma, comunque, un sistema di alimentazione non interrompibile può mantenere, se necessario, l'intero sistema in funzione durante un'eventuale assenza della tensione elettrica.
 
Il secondo fattore, i dati che possono essere letti o scritti nell'unità di tempo, è limitato solo dalla velocità della RAM, da quella del [[Bus_Bus (informatica)#Bus_dati_per_tutti_i_tipiBus dati per tutti i tipi|bus dati]] e da quella della [[CPU]] del computer. Le memorie secondarie sono invece limitate dalla velocità del bus di collegamento ([[Advanced Technology Attachment|IDE]], [[Serial ATA|SATA]], [[USB]], [[porta seriale|seriale]] o [[porta parallela|parallelo]]). A questo va poi sommato il fattore limitante dato dalla velocità dei servomeccanismi.
Alcuni RAM disk utilizzano un file system compresso, come [[CRAMFS]], per poter accedere ai dati al volo, senza necessità di decomprimerli linea di comando in anticipo: ciò risulta utile se si considera che i RAM disk sono generalmente di limitate dimensioni a causa del loro elevato rapporto prezzo/byte rispetto ai sistemi di memorizzazione tradizionali.
 
Il terzo fattore è dato dall'influenza del file system in uso, [[File Allocation Table|FAT]], [[NTFS]], USBFS, [[ext2]] ed altri, che aggiunge degli ulteriori accessi ai dati sulle memorie secondarie, che legge e scrive i file su di esse e la cui struttura può influire più o meno negativamente: ad esempio, alcuni file system possono essere strutturati per trattare con facilifacilità tanti file di piccole dimensioni e si trovano perciò in difficoltà nel dover manipolare file molto grandi, oppure viceversa.
==Utilizzo come web cache==
Un impiego in cui un RAM disk si dimostra utile è come [[web cache]]: grazie al rapido accesso ai file, il RAM disk può accelerare la visualizzazione delle pagine.<ref>{{cita web|url=http://www.macosxhints.com/article.php?story=20040827132909881|titolo=Utilizzo di un RAM disk per la navigazione del web sui Mac|accesso=15/10/10}}</ref> A causa della volatilità dei RAM disk, l'utilizzo di questi sistemi di memorizzazione ha anche dei vantaggi in termini di riservatezza.<ref>{{cita web|url=http://www.ghacks.net/2007/12/14/use-a-ramdisk-to-increase-firefox-security/|titolo=Usare un RAM disk per aumentare la sicurezza con Firefox|accesso=15/10/10}}</ref>
 
Per contro, anche un RAM disk ha alcuni limiti: il primo è dato dal fatto che la memorizzazione avviene in RAM e che questa, essendo volatile, può comportare la perdita dei dati che contiene nel caso in cui venga a mancare l'alimentazione, sia per un atto voluto (per il [[boot|riavvio]] o l'[[arresto (informatica)|arresto]] del computer) che per uno accidentale ([[black-out]]). Alle volte, questo evento è desiderato, come nel caso in cui si stia lavorando sulla copia in chiaro di un file [[cifratura|cifrato]]. In molti casi i dati memorizzati in un RAM disk vengono creati per avere un accesso più rapido ad informazioni memorizzate da qualche altra parte, e vengono poi ricreati sempre in RAM quando il sistema viene riavviato.
==Storia==
Il primo RAM disk software fu ideato e scritto da Jerry Karlin, [[Gran Bretagna]], nel [[1979]]. Il software, noto come [[Silicon Disk System]], fu poi offerto commercialmente da ''JK Systems Research'', che in seguito sarebbe divenuta ''Microcosm Research Ltd'' quando entrò in società Peter Cheesewright di [[Microcosm Ltd]]. L'idea alla base del RAM disk era quella di permettere ai primi [[microcomputer]] di utilizzare più RAM di quanta la CPU potesse indirizzare direttamente, ed usare della RAM extra, attivata tramite il [[bank switching]], come un disco rigido era molto più rapido che accedere ad un vero disco rigido, soprattutto in un periodo informatico in cui i dischi rigidi non erano ancora diffusi.
 
==Implementazione==
Il Silicon Disk linea di comandofu presentato nel [[1980]] inizialmente per il sistema operativo [[CP/M]] ed in seguito per l'[[MS-DOS]]. A causa delle limitazioni nell'indirizzamento della memoria nei computer [[Apple II]] e [[Commodore International|Commodore]] il RAM disk era disponibile su quelle macchine solo se dotate di espansione di memoria, come nel caso del [[Commodore 64]] e del [[Commodore 128]], o con e negli Apple con più di 64 KB di memoria Sui computer Apple il RAM disk era inoltre supportato ufficialmente dal [[ProDOS]]: sui computer con 128 kB o più di RAM il ProDOS ne creava automaticamente uno chiamandolo <tt>/RAM</tt>.
I RAM disk software utilizzano la normale RAM del sistema come se fosse una [[partizione (informatica)|partizione]] reale su un disco rigido invece che accedere al bus dati normalmente usato per gestire una memoria secondaria. I RAM disk possono essere supportati sia direttamente dal [[sistema operativo]] tramite specialespeciali meccanismi presenti nel [[kernel]], sia tramite l'utilizzo di applicazioni in [[spazio utente]]: un esempio è il file system [[FUSE]], che permette ad un normale utente di un sistema [[Linux]] la creazione di un file system in user space senza dover scrivere codice a livello di kernel. Esempi di RAM disk sono ''AppDisk'' per il [[Mac OS]]<ref>{{cita web|url=http://www.mac.org/utilities/appdisk/|titolo=Homepage del progetto AppDisk|accesso=14/10/10}}</ref> e [[initrd]] per [[Linux]].
 
L'utente visualizza e manipola, ad esempio attraverso un comune esplora risorse, il contenuto del disco RAM come se si trattasse di una unità qualsiasi (volume di un disco, chiavetta USB, DVD, scheda di memoria, cartella di rete, ecc). La peculiarità è che alcuni contenuti sono in esecuzione.
[[Microsoft]] aggiunse il supporto per i RAM disk all'MS-DOS nel [[1983]], con la versione 2.0 mentre l'[[AmigaOS]] lo offrì a partire dalla versione 1.2 ([[1986]]): oggi è ancora presente nell'AmigaOS 4.1 ([[2010]]).
 
In genere non serve l'utilizzo di un'alimentazione di emergenza, data la natura temporanea dei dati memorizzati nel RAM disk ma, comunque, un sistema di alimentazione non interrompibile può mantenere, se necessario, l'intero sistema in funzione durante un'eventuale assenza della tensione elettrica.
Apple inserì il supporto ai RAM disk nell'[[Apple Macintosh]] con il [[System 7]] ([[1991]]). Inoltre, molti sistemi [[Unix]]/[[Linux]] forniscono nativamente il supporto per alcune forme di funzionalità simili al RAM disk.
 
Alcuni RAM disk utilizzano un file system compresso, come [[CRAMFS]], per poter accedere ai dati al volo, senza necessità di decomprimerli lineaa riga di comando in anticipo: ciò risulta utile se si considera che i RAM disk sono generalmente di limitate dimensioni a causa del loro elevato rapporto prezzo/byte rispetto ai sistemi di memorizzazione tradizionali.
 
==Utilizzo come web cache==
Un impiego in cui un RAM disk si dimostra utile è come [[web cache]]: grazie al rapido accesso ai file, il RAM disk può accelerare la visualizzazione delle pagine.<ref>{{cita web|url=http://www.macosxhints.com/article.php?story=20040827132909881|titolo=Utilizzo di un RAM disk per la navigazione del web sui Mac|accesso=15/10/10}}</ref> A causa della volatilità dei RAM disk, l'utilizzo di questi sistemi di memorizzazione ha anche dei vantaggi in termini di riservatezza.<ref>{{cita web|url=httphttps://www.ghacks.net/2007/12/14/use-a-ramdisk-to-increase-firefox-security/|titolo=Usare un RAM disk per aumentare la sicurezza con Firefox|accesso=15/10/10}}</ref>
 
==Note==
<references/>
 
==Collegamenti esterni==
* [http://mac.wikia.com/wiki/RAM_disk#Creating_a_RAM_disk Comandi per terminale] per creare un RAM DISK sul Mac OS X
* [http://support.microsoft.com/kb/257405 Codice di esempio di Microsoft per creare un RAM disk]
* [http://www.cyberciti.biz/faq/howto-create-linux-ram-disk-filesystem/ Come creare un RAM disk su Linux]
 
==Voci correlate==
* [[Cache]], un'area usata per memorizzare copie temporanee di dati da scrivere o da leggere ripetutamente su dispositivi lenti
* [[tmpfs]], un modo differente di salvare file in RAM
 
==Altri progetti==
{{interprogetto}}
 
==Collegamenti esterni==
* [http://mac.wikia.com/wiki/RAM_disk#Creating_a_RAM_disk Comandi per terminale] per creare un RAM DISK sul Mac OS X
* [http{{cita web|https://support.microsoft.com/kb/257405 |Codice di esempio di Microsoft per creare un RAM disk]}}
* [{{cita web|http://www.cyberciti.biz/faq/howto-create-linux-ram-disk-filesystem/ |Come creare un RAM disk su Linux]}}
 
{{Portale|informatica}}
 
[[Categoria:File system]]
 
[[bg:RAM диск]]
[[de:RAM-Disk]]
[[en:RAM disk]]
[[es:Disco RAM]]
[[fr:RAM Disque]]
[[ko:램 디스크]]
[[ml:റാം ഡിസ്ക്]]
[[nl:Ramdrive]]
[[ja:RAMディスク]]
[[pl:Ramdysk]]
[[pt:RAM drive]]
[[ru:RAM drive]]
[[sv:RAM-disk]]
[[zh:RAM disk]]