Eine RAM-Disk, auch RAM-Drive (eingedeutscht in etwa RAM-Laufwerk) oder , ist ein virtueller und temporärer Datenträger im Arbeitsspeicher (RAM) eines Computers. Sie wird u. a. bei Live-Systemen eingesetzt, bei Installationsmedien wenn ein Rechner neu aufgesetzt wird (die Installation eines Betriebssystems), wenn andere physische Speichermedien für einen bestimmten Zweck zu langsam sind, oder um bei einem Speichermedium wie einer SSD den Verschleiß bei Aufgaben mit zahlreichen Schreibvorgängen zu reduzieren.

Beim Anlegen wird ein definierter Teil des Arbeitsspeichers meist statisch für die RAM-Disk reserviert („abgezweigt“) und dabei wie eine Festplatte oder allgemein wie ein Extra-Laufwerk angesprochen, mit einem Dateisystem formatiert und schließlich eingehängt.

Eine RAM-Disk wird in Software erzeugt und verwaltet – die Umsetzung hängt daher im großen Maße von dieser Software ab, die die Firmware des Computers wie UEFI, das Betriebssystem selbst sowie Gerätetreiber oder Programme von Drittanbietern sein kann.

Technik Direktzugriffsspeicher, oder kurz RAM, wird von einem Computer normalerweise hauptsächlich als physischer Arbeitsspeicher verwendet. Bei manchen Systemen, die für wenig Arbeitsspeicher ausgelegt sind aber weit mehr RAM als dafür nötig verbaut haben, wurde in den 1980er Jahren die RAM-Disk als virtuelles Laufwerk entwickelt, um diesen sonst ungenützten und meist relativ schnellen Speicher als zusätzlichen Datenspeicher nutzen zu können. Dabei greift ein Gerätetreiber auf die im Betriebssystem vorhandenen Zugriffs-Routinen zurück und erstellt damit einen Zugriffspfad, der auf den im Arbeitsspeicher reservierten Teil für die RAM-Disk Zugriff ermöglicht und diesen Speicherbereich im Betriebssystem wie ein weiteres reguläres Laufwerk ansprechbar macht. Die Größe der RAM-Disk war dabei zuanfangs bereits bei der Initialisierung fix festzulegen, erst später wurden RAM-Disks mit variablen Speicherkapazitäten entwickelt.

Bei manchen Varianten ist der Inhalt der RAM-Disk dabei vollständig in die virtuelle Speicherverwaltung des Betriebssystems integriert und kann somit auch ausgelagert werden. Dies geschieht automatisch wenn der Arbeitsspeicher vom Betriebssystem für andere Programme benötigt wird. Diese Art von RAM-Disk widerspricht jedoch dem Konzept, die Daten zu jeder Zeit im Arbeitsspeicher zu halten. Andererseits kann damit aber ein Hängenbleiben des gesamten Systems verhindert werden, für den Fall, dass immer mehr Daten in die RAM-Disk geschrieben werden, bis der Arbeitsspeicher komplett aufgebraucht ist; in diesem Fall werden Teile der RAM-Disk einfach ausgelagert und das System bleibt in Funktion.

Ältere und einfachere RAM-Disks erstellen nur das virtuelle Laufwerk; um dieses auch nutzen zu können, muss es zuerst formatiert werden, wobei eines der vom Betriebssystem unterstützten Dateisysteme verwendet werden muss. Moderne Programme und Treiber zur Erstellung einer RAM-Disk erledigen diese Aufgabe meist automatisch bei der Erstellung gleich mit, bei älteren und einfacheren Implementierungen muss dieser Schritt jedoch manuell vom Anwender erledigt werden.

Bessere RAM-Disk-Programme können zudem den Inhalt des virtuellen Laufwerks vor dem Lösen der Einbindung ( beim Herunterfahren, oder beim sicheren Entfernen oder Auswerfen des virtuellen Datenträgers) in eine Datei auf der Festplatte sichern und beim erneuten Erstellen der RAM-Disk automatisch wiederherstellen.

Verwendung RAM-Disks werden vor allem bei Live-Medien verwendet. Dabei wird oft von einem Speichermedium gestartet, das nur gelesen werden kann ( von CD-ROM). Moderne Betriebssysteme benötigen jedoch einen Bereich, in dem temporäre Dateien gespeichert werden können – dieser wird bei einem Live-Betriebssystem durch die RAM-Disk bereitgestellt.

Live-Systeme, die eine RAM-Disk verwenden, sind die meisten Linux-Distributionen und Windows PE von Microsoft. Eine Vielzahl moderner Betriebssysteme verwenden eine RAM-Disk bei der Betriebssystem-Installation.

Gängige Betriebssysteme liefern zudem Treiber, um eine RAM-Disk anzulegen. Für verbreitete Betriebssysteme, wie DOS, Mac OS (Classic und macOS) oder Windows, gab bzw. gibt es zahlreiche Softwareangebote von Drittanbietern, die eine RAM-Disk bereitstellen und um sinnvolle Funktionen ergänzen, und sich damit von der im Betriebssystem integrierten Funktion absetzen. So kann der Inhalt der RAM-Disk beispielsweise beim Herunterfahren oder im Minutenabstand auf eine Festplatte gesichert werden, oft sind auch flexible RAM-Disk-Größen (Speicherkapazität) einstellbar.

Verbreitung In PC DOS 3.0 von 1984 war erstmals der VDISK.SYS (für ) genannte Gerätetreiber von IBM beigelegt, der eine RAM-Disk unter PC-kompatiblem DOS bereitstellen kann. Dadurch wird auch auf DOS-Umgebungen mit Programmen, die einzig den konventionellen Speicher unterstützen, auf IBM-kompatiblen PCs mit 80286-Prozessor oder besser der zusätzliche Hauptspeicher oberhalb der 1-MiB-Grenze (EMS, HMA und/oder XMS) nutzbar. In PC DOS 3.3 war auch der Quelltext VDISK.ASM enthalten. Microsoft integrierte 1986 in MS-DOS 3.2 mit RAMDRIVE.SYS ebenfalls eine RAM-Disk. Auch Digital Research lieferte in DR DOS 3.31 von 1988 eine eigene Version von VDISK.SYS mit. Im Benutzerhandbuch von Caldera DR-DOS 7.03 wird die RAM-Disk als bezeichnet.

Beim Betriebssystem des Amiga von Commodore wurde mit Workbench 1.2 vom September 1986 eine RAM-Disk (als ) eingeführt. Ab Version 1.3 von 1988 gibt es in AmigaOS zwei verschiedene RAM-Disks: Die eine benutzt eine beim Start festzulegende Menge des Arbeitsspeichers, während die andere dynamisch Hauptspeicher anfordert bzw. freigibt und sich so an den Speicherbedarf anpasst. Erstere hat den Vorteil, dass ihr Inhalt einen Computerneustart (Warmstart) überlebt, solange der Speicherbereich nicht durch ein unkontrolliert abstürzendes Computerprogramm überschrieben wurde.

Unter Unix-Betriebssystemen lässt sich die RAM-Disk durch das Verzeichnis /dev/shm (shm für , gemeinsam genutzter Speicher) verwenden. Unter Linux wird dafür das Dateisystem tmpfs verwendet, das automatisch eine RAM-Disk anlegt – neben /dev/shm auch für weitere Verzeichnisse, darunter auch /dev (devtmpfs) und /run. Die Implementierung von tmpfs baut auf ramfs auf, das jedoch nicht auslagerbar ist. Mit zRAM steht unter Linux zudem eine Variante bereit, die zusätzlich Datenkompression bietet und somit den tatsächlich genutzten Speicherverbrauch reduziert.

Unter klassischem Mac OS auf Macintosh-Computern von Apple und Macintosh-Klonen war es ab System 7 von 1991 möglich, eine RAM-Disk zu aktivieren. Das Betriebssystem formatiert diese automatisch mit einem Dateisystem (HFS) und sichert den Inhalt beim regulären Herunterfahren, um die Daten beim nächsten Start wiederherstellen zu können. Die RAM-Disk kann im Kontrollfeld „Speicher“ eingerichtet werden.

In der UEFI-Spezifikation Version 2.6 von 2016 wurde das UEFI festgelegt. So lässt sich noch vor dem Start des Betriebssystems eine RAM-Disk anlegen, die von einem kompatiblen Betriebssystem oder von der Firmware selbst verwendet werden kann. Dies beschleunigt unter anderem die Firmware-Entwicklung, weil unabhängig von weiteren Datenträgern Entwicklungen und Konfigurationen getestet werden können. UEFI, das auf den Architekturen Itanium (IA-64), IA-32 (32-Bit-x86), x64 (64-Bit-x86), und ARM64 existiert, ist seit ca. 2010 auf IBM-kompatiblen PCs der Nachfolger für das BIOS.

Ähnliche Konzepte Starten eines Betriebssystems Einige Betriebssysteme starten aus einer anfänglichen RAM-Disk, die nach dem Start jedoch wieder entfernt wird. Bei Linux ist dies durch initrd oder dem moderneren initramfs bei den meisten Linux-Distributionen der Fall, der Linux-Kernel selbst kann jedoch auch ohne diese Anfangs-RAM-Disk booten.

Überlagerung mit einem schreibgeschützten Dateisystem

Wenn ein Dateisystem auf einem schreibgeschützten Medium oder ein absichtlich schreibgeschützt verwendetes Dateisystem unter einem modernen Betriebssystem verwendet werden soll, kann mittels Überlagerung durch eine RAM-Disk ein lesender und schreibender Zugriff ermöglicht werden. Dabei werden nur die modifizierten Datenblöcke per Copy-On-Write (COW) in die RAM-Disk gespeichert, sodass das Dateisystem insgesamt als schreibfähig erscheint. Alle Änderungen sind jedoch nach einem Neustart wieder verschwunden. Dies findet oft bei Live-Systemen Anwendung.

Alternativ kann als COW-Speicher auch ein schreibfähiger Datenspeicher ( Festplatte oder SSD), oder eine der Partitionen darauf, verwendet werden, wodurch die Änderungen vorerst erhalten bleiben. Dadurch können einerseits vom Urzustand, dem schreibgeschützten Dateisystem, mehrere unterschiedliche COW-Zustände abgeleitet werden, andererseits lässt sich der Urzustand auch sehr leicht wiederherstellen, indem der COW-Datenträger zurückgesetzt wird.

I/O-Cache

Da Arbeitsspeicher zu teuer und zu schnell ist um ihn brach liegen zu lassen, verwenden moderne Betriebssysteme über einen Input-/Output-Cache, kurz I/O-Cache, jeden freien Block im RAM (Arbeitsspeicher) normalerweise für das Zwischenspeichern (Puffern) von Lese- und Schreibvorgängen. Dadurch füllt sich das RAM stetig mit jedem Lesevorgang. Benötigt ein Prozess abermals einen Zugriff auf eine Datei und befinden sich die Daten bereits im Cache, so spart sich das Betriebssystem einen erneuten Lesevorgang vom langsameren Speichermedium (wie einer Festplatte), da die Daten ja bereits im schnellen RAM liegen und über den I/O-Cache sofort verfügbar sind.

Benötigt jedoch ein anderer Prozess Arbeitsspeicher und es ist keiner mehr frei, so werden nach einer bestimmten Logik Teile des I/O-Cache verworfen. Eine einfache Logik ist etwa die FIFO-Strategie, bei der die ältesten gepufferten Daten verworfen werden. Siehe Cache-Verdrängungsstrategien.

Vor- und Nachteile Der Einsatz einer RAM-Disk ist oft reine Geschmackssache. Viele Programme werben mit schnelleren Startzeiten für darauf gespeicherte (oder gar installierte) Programme und Daten. Es ist jedoch immer zu beachten, dass nicht nur Vorteile mit dem Einsatz einer RAM-Disk einhergehen.

Moderne Betriebssysteme beinhalten heutzutage in der Regel ein Cache-Management, bei dem das Betriebssystem selbstständig den jeweils aktuell freien Speicher verwendet, um Daten zwischenzuspeichern. So werden Daten oder Programme, die von Festplatten gelesen werden, auch in diesem dynamischen Cache gespeichert. Bei einem erneuten lesenden Zugriff kann das System die Daten dann direkt aus dem RAM statt von dem externen Datenträger lesen. Da die Verwaltung dieses Caches vom System selbstständig übernommen wird (das System weiß, was besonders häufig gelesen wird), kann ein Cache heutzutage in vielen Situationen einer RAM-Disk überlegen sein.

Vorteile mini|250px|alt=Das Foto zeigt die Ergebnisse eines Benchmarkings einer RAM-Disk in CrystalDiskMark|Wohl der offensichtlichste Vorteil: Sehr schnelle Lese- und Schreibraten