Disco RAM
Un disco RAM , anche un'unità RAM (tedeschizzata approssimativamente unità RAM ) o inglese disco di memoria , è una virtuale e temporaneo supporto dati nella memoria principale (RAM) di un calcolatore . Viene utilizzato principalmente in sistemi live , ad es. B. mentre un computer viene riavviato o quando altri supporti di memorizzazione fisici sono troppo lenti per uno scopo particolare.
Quando si crea, una parte definita della memoria principale è di solito statico riservato ( “ramificata”) per il disco RAM e rivolto come un disco rigido o in generale come un extra rigido , formattata con un file system e, infine, in allegato .
Un disco RAM viene generato e gestito nel software - l'implementazione dipende quindi in larga misura da questo software . B. il firmware del computer come UEFI , il sistema operativo stesso nonché i driver di dispositivo o programmi di terze parti .
tecnologia
La memoria ad accesso casuale , la memoria ad accesso casuale inglese o la RAM corta è un computer normalmente principalmente come memoria fisica utilizzata. In alcuni sistemi che sono progettati per poca memoria ma hanno incorporata molta più RAM del necessario, il disco RAM è stato sviluppato come unità virtuale negli anni '80 per poter utilizzare questa memoria altrimenti inutilizzata e solitamente relativamente veloce come archiviazione dati aggiuntiva . Un driver di dispositivo accede alle routine di accesso disponibili nel sistema operativo e crea un percorso di accesso che abilita l'accesso alla parte riservata al disco RAM nella memoria principale e rende questa area di memoria accessibile nel sistema operativo come un normale drive. La dimensione del disco RAM doveva essere fissata all'inizio dell'inizializzazione; i dischi RAM con capacità di memoria variabile sono stati sviluppati solo successivamente .
In alcune varianti, il contenuto del disco RAM è completamente integrato nella gestione della memoria virtuale del sistema operativo e può quindi essere anche sostituito . Ciò avviene automaticamente quando la memoria operativa è richiesta dal sistema operativo per altri programmi. Tuttavia, questo tipo di disco RAM contraddice il concetto di mantenere i dati in memoria in ogni momento.
I dischi RAM più vecchi e più semplici creano solo l'unità virtuale; per poterlo utilizzare, deve prima essere formattato , per cui deve essere utilizzato uno dei file system supportati dal sistema operativo . I programmi ei driver moderni per la creazione di un disco RAM di solito lo fanno automaticamente quando viene creato, ma con implementazioni più vecchie e più semplici questo passaggio deve essere eseguito manualmente dall'utente.
Programmi migliori del disco RAM possono anche salvare il contenuto dell'unità virtuale in un file sul disco rigido prima di rilasciare l'integrazione ( ad esempio quando si spegne o quando si rimuove o si espelle in sicurezza il disco virtuale) e quando il disco RAM viene ricreato Recupera il disco automaticamente .
uso
I dischi RAM vengono utilizzati principalmente nei supporti live . Questo spesso inizia da un supporto di memorizzazione che può essere solo letto ( ad esempio da CD-ROM ). Tuttavia, i sistemi operativi moderni richiedono un'area in cui è possibile archiviare i file temporanei : ciò è fornito dal disco RAM in un sistema operativo live.
I sistemi live che utilizzano un disco RAM sono u. A. la maggior parte delle distribuzioni Linux e Windows PE di Microsoft . Un gran numero di sistemi operativi moderni utilizza un disco RAM durante l' installazione del sistema operativo .
I sistemi operativi comuni forniscono anche i driver per la creazione di un disco RAM. Per i sistemi operativi comuni come DOS , Mac OS ( Classic e macOS ) o Windows , c'erano o sono numerose offerte di software di fornitori di terze parti che forniscono un disco RAM e aggiungono funzioni utili, distinguendosi così dalle funzioni integrate nel sistema operativo. Ad esempio, il contenuto del disco RAM può essere salvato su un disco rigido durante l'arresto o ogni minuto, nonché impostare dimensioni flessibili del disco RAM ( capacità di archiviazione ).
distribuzione
In PC DOS 3.0 del 1984 è stato incluso per la prima volta il driver del dispositivo IBM chiamato VDISK.SYS(per disco virtuale ), che potrebbe fornire un disco RAM in DOS compatibile con PC . Il codice sorgente è stato VDISK.ASMincluso anche in PC DOS 3.3 . Microsoft ha anche integrato un disco RAM in MS-DOS 3.2 nel 1986 RAMDRIVE.SYS. Anche la ricerca digitale ha fornito in DR-DOS 3.31 dal 1988 la propria versione di VDISK.SYScon. Nel manuale utente Caldera DR-DOS 7.03, il disco RAM viene indicato come il disco di memoria inglese .
Il sistema operativo dell'Amiga di Commodore era con Workbench 1.2 nel settembre 1986, un disco RAM (come disco RAM recuperabile inglese inserito). Dalla versione 1.3 dal 1988 in poi ci sono due diversi dischi RAM in AmigaOS : uno usa una quantità di memoria principale da determinare all'avvio, mentre l'altro richiede o rilascia dinamicamente la memoria principale e si adatta così al requisito di memoria. Il primo ha il vantaggio che il suo contenuto sopravvive a un riavvio del computer ( avvio a caldo ) purché l'area di memoria non sia stata sovrascritta da un programma per computer che si arresta in modo incontrollato.
Sotto i sistemi operativi Unix , il disco RAM può essere utilizzato attraverso la directory /dev/shm( shm per la memoria condivisa inglese , memoria condivisa). Sotto Linux , viene utilizzato il file system tmpfs , che crea automaticamente un disco RAM, oltre ad altre directory, tra cui ( ) e .
/dev/shm/devdevtmpfs/run
Sotto il classico Mac OS su computer Macintosh ? Da Apple era da System 7 disponibile dal 1991 per attivare un disco RAM. Il sistema operativo lo formatta automaticamente con un file system ( HFS ) e salva il contenuto durante uno spegnimento regolare in modo che i dati possano essere ripristinati al successivo avvio. Il disco RAM può essere impostato nel pannello di controllo "Memoria".
Il protocollo UEFI RAM Disk è stato definito nella specifica UEFI versione 2.6 del 2016 . In questo modo è possibile creare un disco RAM prima dell'avvio del sistema operativo, che può essere utilizzato da un sistema operativo compatibile o dal firmware stesso. Tra le altre cose, questo accelera lo sviluppo del firmware perché gli sviluppi e le configurazioni possono essere testati indipendentemente da altri supporti dati. UEFI, che esiste sulle architetture Itanium (IA-64), IA-32 (32 bit x86 ), x64 (64 bit x86) e ARM64 , è stato il successore dei PC compatibili con IBM dal 2010 circa il BIOS .
Concetti simili
Avvio di un sistema operativo
Alcuni sistemi operativi iniziano da un disco RAM iniziale che viene rimosso dopo l'avvio. Per Linux questo è ad es. B. da initrd o le più moderne initramfs con la maggior parte delle distribuzioni Linux il caso, il Linux - kernel si può però anche boot senza questo disco RAM iniziale.
Sovrapposizione con un file system di sola lettura
Se un file system su un supporto protetto da scrittura o un file system intenzionalmente utilizzato come protetto da scrittura deve essere utilizzato in un sistema operativo moderno, l'accesso in lettura e scrittura può essere reso possibile mediante la sovrapposizione di un disco RAM. Solo i blocchi di dati modificati vengono salvati sul disco RAM utilizzando il copy-on-write (COW) in modo che il file system appaia nel suo complesso come scrivibile. Tuttavia, tutte le modifiche sono scomparse dopo un riavvio. Questo è spesso usato nei sistemi live .
In alternativa, una memoria dati scrivibile ( ad es. Disco rigido o SSD) o una delle partizioni su di essa può essere utilizzata come memoria COW , per cui le modifiche vengono conservate per il momento. Ciò significa che, da un lato, diversi stati COW possono essere derivati dallo stato originale, il file system protetto da scrittura e, dall'altro, lo stato originale può anche essere ripristinato molto facilmente ripristinando il supporto dati COW.
Cache di I / O
Poiché la memoria principale è troppo costosa e troppo veloce per lasciarla inattiva, i sistemi operativi moderni utilizzano una cache di input / output , o cache di I / O in breve, ogni blocco libero nella RAM (memoria principale) per l'archiviazione intermedia (buffering) di Legge e scrive. Di conseguenza, la RAM si riempie costantemente con ogni processo di lettura. Se un processo necessita di nuovo di accedere a un file e i dati sono già nella cache, il sistema operativo si salva dovendo leggere di nuovo dal supporto di memorizzazione più lento ( come un disco rigido), poiché i dati sono già in e circa il veloce RAM le cache di I / O sono immediatamente disponibili.
Tuttavia, se un altro processo richiede memoria di lavoro e nessuna è disponibile, parti della cache di I / O vengono eliminate secondo una certa logica. Una logica semplice è la strategia FIFO in cui vengono eliminati i dati memorizzati nel buffer più vecchi. Vedi le strategie di sfratto della cache .
Vantaggi e svantaggi
L'uso di un disco RAM è spesso una questione di gusti. Molti programmi pubblicizzano con tempi di avvio più rapidi i programmi e i dati memorizzati su di essi (o anche installati). Tuttavia, va sempre notato che non ci sono solo vantaggi associati all'uso di un disco RAM.
Al giorno d'oggi, i sistemi operativi moderni di solito includono la gestione della cache in cui il sistema operativo utilizza in modo indipendente la memoria attualmente libera per archiviare temporaneamente i dati. Anche i dati o i programmi che vengono letti dai dischi rigidi vengono memorizzati in questa cache dinamica. In caso di un nuovo accesso in lettura, il sistema può quindi leggere i dati direttamente dalla RAM invece che dal supporto dati esterno. Poiché questa cache è gestita dal sistema stesso (il sistema sa cosa viene letto particolarmente frequentemente), oggi una cache può essere superiore a un disco RAM in molte situazioni.
benefici
A differenza dell'indirizzamento diretto della memoria principale da parte di un programma per computer , il programmatore può utilizzare un disco RAM per accedere ai servizi relativi alla gestione dei file del sistema operativo. Il vantaggio per l'utente è che un disco RAM consente ai programmi per computer di lavorare con i dati sia sui supporti dati che nella memoria principale senza modifiche. Il vantaggio di un disco RAM rispetto a un disco rigido è il risparmio di accesso al disco rigido e la velocità di lettura / scrittura e di accesso significativamente più elevata, il che spiega anche l'uso nei supercomputer e la riduzione dell'usura . Ad esempio, la procedura di avvio utilizzava spesso i comandi di un computer archiviati in memoria per garantire che il tempo necessario per l'avvio fosse ridotto. Poiché è necessaria meno energia per accedere alla memoria principale , l'effetto di risparmio energetico e la prolungata durata della batteria associata sono vantaggiosi anche per i computer portatili . Analogamente all'esempio fornito per il processo di avvio, i file utilizzati di frequente nella memoria principale sono accessibili se configurati di conseguenza, il che significa che il disco rigido interno può essere messo in modalità di risparmio energetico più spesso o più a lungo , il che aumenta ancora la durata della batteria.
Per le applicazioni ad alta intensità di scrittura che, tuttavia, scartano i file scritti immediatamente dopo che sono stati utilizzati, un disco RAM può avere il vantaggio di non essere scritto più frequentemente di quanto assolutamente necessario su un supporto con accesso in scrittura limitato (come la memoria flash ) . Tuttavia, il prerequisito è che sia disponibile memoria sufficiente. Un esempio di ciò è l'uso di tmpfsfor portageda Gentoo Linux : con questa distribuzione Linux , i programmi non sono installati come pacchetti binari, ma il codice sorgente del rispettivo software è compilato sul computer stesso . Questo processo è intensivo dal punto di vista computazionale , ma consente l'ottimizzazione per il rispettivo sistema e la selezione e il controllo da parte dell'utente su quali funzioni dovrebbero essere effettivamente incluse nel programma. Se il processo di compilazione e collegamento avviene nella RAM, da un lato è più veloce, dall'altro i molti file creati temporaneamente non vengono scritti sull'SSD e prolungano così la durata di questo supporto di memorizzazione basato su flash.
svantaggio
Lo svantaggio del disco RAM è che lo spazio di memoria in questione non è più disponibile per la memoria principale libera, ovvero il sistema operativo e altri programmi per l'archiviazione intermedia. Dopo aver riavviato il sistema (ad esempio dopo un crash ), i contenuti del disco RAM sono generalmente scomparsi. Poiché la memoria principale è un supporto di memorizzazione volatile , se l'alimentazione viene interrotta (ad esempio quando si spegne) il contenuto del disco RAM scompare insieme alla memoria principale. Pertanto, nessun dato importante deve essere memorizzato sul disco RAM a meno che il computer non possa essere fornito con un gruppo di continuità. Inoltre, è necessario eseguire il backup di tutti i file che potrebbero essere ancora necessari prima di spegnere il computer (ad es. Automaticamente utilizzando uno script). Misurato dal prezzo per dimensione di archiviazione, questo tipo è uno dei metodi di archiviazione più costosi.
Demarcazione
Alcune altre tecnologie, che utilizzano anche la RAM come base per l'archiviazione dei dati, non hanno nulla a che fare con il concetto di disco RAM, nonostante il nome dal suono simile. Concetti simili come file system sovrapposti e cache di I / O non contano ai fini del termine disco RAM.
Disco floppy RAM
RAM dischi magnetici sono una sostituzione dell'hardware per un disco floppy ( Inglese Floppy Disk Drive , FDD in breve), destinati a sistemi di computer più vecchi. I floppy RAM non sono legati alle connessioni per le unità normali . B. essere progettato anche come scheda plug-in . Anche se una parte della memoria principale non è solo ramificata dal software , ma viene utilizzato hardware aggiuntivo , tale unità è un normale disco RAM.
Osservazioni
- ↑ Vedere anche le unità SSD a confronto
Prove individuali
- ↑ VERSIONE IBM DISK OPERATING SYSTEM (DOS) 3.30. Lettera di annuncio numero 287-098 del 2 aprile 1987. IBM , 2 aprile 1987, accesso al 29 luglio 2018 : “DOS 3.30 TECHNICAL REFERENCE; … VDISK.ASM è un file contenente il codice sorgente del linguaggio Assembler per il driver di periferica del disco virtuale (disco di memoria RAM) (VDISK.SYS). Il codice oggetto assemblato per VDISK.SYS e le istruzioni per il suo utilizzo sono inclusi nel pacchetto DOS 3.30. Il file VDISK.ASM viene fornito nel dischetto delle utilità di riferimento tecnico per DOS 3.30 per i programmatori che desiderano utilizzarlo come modello per la creazione di driver di dispositivo. "
- ^ Matthias Paul: Re: [fd-dev] Come rilevare un'unità RAM (Era: Games + Freedos) (Frontier Elite II). ( Mailing list ) In: freedos-dev. 19 febbraio 2002, accesso 29 luglio 2018 .
- ↑ Capitolo 4 - Lavorare con Caldera DR-DOS. In: Caldera DR-DOS Guida rapida. Caldera, Inc., 1998, accesso effettuato il 29 luglio 2018 (inglese): "[Questo ...] tipo di disco, un disco di memoria, non è un disco fisico ma parte della memoria del computer che il sistema operativo tratta come un disco. Questo è il motivo per cui un disco di memoria viene anche definito disco virtuale. … Un disco di memoria memorizza i dati solo temporaneamente. Quando si spegne il computer o si riavvia, tutti i dati archiviati in un disco di memoria vengono persi. "
- ↑ Workbench 1.2. In: The Amiga Museum. Estratto il 19 luglio 2019 (in inglese): "Workbench 1.2 è stata la prima versione di Workbench a presentare l'utilizzo di un disco RAM come standard."
- ↑ Chris Cebelenski: Amiga 1.3. ( Blog ) In: Retrocomputing. 21 aprile 2010, accesso 29 luglio 2018 .
- ↑ Amiga Enhancer V1.3 è un aggiornamento basato su disco. Commodore Amiga, Inc., 1988, accesso il 29 luglio 2018 (inglese): "Disco RAM ripristinabile: conserva il suo contenuto fino allo spegnimento dell'Amiga"
- ^ Adrian Kingsley-Hughes: UEFI Forum annuncia le specifiche UEFI v2.6 e ACPI v6.1 aggiornate. Gli ultimi aggiornamenti a UEFI e ACPI consentono ai PC di offrire mobilità e gestibilità migliorate a livello di cliente e azienda. In: Blog "Hardware 2.0". ZDNet , 9 marzo 2016, accesso 28 luglio 2018 (inglese): "Aggiunti alla specifica UEFI v2.6 sono ... Definizione API formale per RAM Disk Protocol."
- ↑ MdePkg: aggiungi le definizioni del protocollo EFI RAM Disk. In: tianocore / edk2. GitHub , 3 febbraio 2016, accesso 28 luglio 2018 .
- ↑ Dong Wei, Ting Ye: accelerare lo sviluppo del firmware con le funzionalità avanzate UEFI. (PDF; 2.6 MB) In: presentazione IDF 16. Intel , 2016, p. 17 , consultato il 28 luglio 2018 .
- ↑ Christof Windeck: addio al BIOS del PC. In: Heise online . 3 giugno 2011 . URL consultato il 28 luglio 2018.
- ↑ Christof Windeck: Intel: UEFI-BIOS perderà la compatibilità BIOS nel 2020. In: Heise online . 15 novembre 2017 . URL consultato il 28 luglio 2018.
- ↑ Blog vom Karpfenweg: RAM-Disk / RAM-Drive - ciò che porta ea chi è utile ( Memento del l' originale dal 18 ottobre 2008 a l' Internet Archive ) Info: Il dell'archivio collegamento è stato inserito automaticamente e non è ancora stato controllato. Si prega di controllare l'originale e il collegamento all'archivio secondo le istruzioni, quindi rimuovere questo avviso.
- ↑ Portage TMPDIR su tmpfs. In: Gentoo Wiki. Accesso 21 marzo 2020 (inglese).
- ↑ RETROPORT: RAM-Floppy 256K (Rex 9680) su Archive.org ( Memento del 2 maggio 2012 in Internet Archive )
- ↑ DDR da computer di casa: RAM floppy RAF2008