RAMDisk

RAMDisk (RAM Drive, RAM Disk) je v informatice blok paměti RAM, ke které se počítačový software chová, jako by se jednalo o pevný disk. Bývá někdy označováno jako virtual RAM drive či software RAM drive pro odlišení od hardware RAM drive což je starší typ SSD (obsahoval místo flash paměti paměť typu RAM zálohovanou baterií).

Výkon

Výkon RAM disku je řádově větší než u ostatních typů úložných médií, jako třeba u SSD, pevného disku, páskové jednotky, nebo optického disku.[1] Větší výkon je dán více faktory, včetně doby přístupu, propustnosti a druhu systému souborů.

Doba přístupu k souborům je drasticky snížena faktem, že se jedná o médium bez pohyblivých mechanických částí. Pevný disk, optická média, jako třeba CD-ROM, DVD a Blu-ray musí pohybovat čtecí hlavou do pozice daných dat a pásková média se musí přetáčet do správné pozice výskytu dat před čtením či zápisem. RAM disky přistupují k datům pouze s adresou paměti, tedy bez pozicování mechanických částí.

Propustnost RAM disku je limitována pouze rychlostí paměti RAM, sběrnice a CPU počítače. Jiné formy úložných médií jsou limitovány rychlostí sběrnice pevného disku, jako třeba ATA (PATA), SATA, USB nebo Firewire, které jsou opět limitovány rychlostí samotných diskových či optických jednotek.

Souborový systém, jako NTFS, HFS+, UFS, ext2, atd., používá více přístupů. Může tak lépe zvládnout operace s mnoha malými soubory včetně práce s velkými bloky dat, což se hodí například u dočasných internetových složek, při práci s web cache atd.

Jelikož se úložiště nachází v paměti RAM, jedná se o volatilní paměť, což znamená, že se zapsaná data bez přísunu proudu ztrácejí, ať už záměrně (restart či vypnutí) nebo náhodné (přerušení dodávky proudu, crash systému). Jedná se tedy o značnou nevýhodu (data musí být pravidelně zálohována, aby se předcházelo jejich ztrátě), která může být však někdy použita ku prospěchu (například při načtení dešifrovaných dat, která se tímto procesem dají rychle smazat i bez přímého přístupu k paměti).

V mnoha případech se na RAM disk zapisují data, která jsou již někde pevně zapsána a je potřeba s nimi pracovat rychleji. Při restartu se potom jen opětovně načtou zpět na RAM disk.

Krom ztráty dat existuje druhotná nevýhoda dnešních RAM disků a tou je jejich velikost. Ačkoliv se dnes již setkáváme běžně s pevnými disky s obsahy měřenými v Terabajtech, velikost RAM disků však nepřesahuje mnohdy více než jednotek či desítek Gigabajtů. Některé RAM disky používají komprimované souborové systémy, které umožňují přístup ke komprimovaným datům za běhu, bez toho aby si je musela předpřipravit. Tímto je tedy nedostatek v podobě jejich velikosti lehce zmírněn.

Historie a specifikace

První softwarový RAM disk pro mikrokontrolery byl vyvinut a napsán Jerrym Karlinem (UK, 1979/80). Software, známý jako Silicon Disk System, byl dále rozšířen jako komerční produkt, prodáván firmou JK Systems Research, která se následně stala firmou Microcosm Research Ltd kdy byl k projektu přizván Peter Cheesewright z Microcosm Ltd. Počáteční nápad rozvíjel ideu využití více paměti, než dokáže počítač fyzicky adresovat. Přebytečná paměť RAM se tedy chovala jako RAM disková jednotka, která byla následně mnohem rychlejší, než dřívější disky, především v době, kdy disky samotné nebyly u daných systémů běžné. První RAM disk byl vyvinut Davidem Springerem, měl kapacitu 360 kilobajtů RAM a nacházel se na rozšiřující kartě se sběrnicí STD. Disk obsahoval Firmware, který přesvědčil počítač, že se jedná o obyčejnou 3.5″ disketu.[2]

Projekt Silicon Disk byl odstartován v roce 1980, původně pro systém CP/M a později i pro MS-DOS. Díky limitům adresace paměti byl využit i u Apple II série a počítačů Commodore, RAM disk byl nadále velmi populární u Commodore 64 aa Commodore 128 s Jednotkou rozšíření RAM a u Apple II s více než 64kB paměti RAM. Apple Computer podporovali softwarové RAM disky nativně u ProDosu: se systémem pracujícím s 128kB nebo více paměti RAM, ProDOS automaticky alokoval RAM disk se jménem /RAM.

Microsoft přidal RAM disk do systému MS-DOS (ve verzi 2.0) v roce 1983. Původní pojmenování VDISK.SYS bylo posléze nahrazeno RAMDRIVE.SYS a bylo s ním počítáno až do verze Windows 7. DR-DOS a rodina DR multi-user operačních systémů také přišly s RAM diskem pojmenovaným VDISK.SYS. V systému Multiuser DOS, bylo původní přidělené písmeno RAM disku písmeno M: (memory drive). AmigaOS pracuje s RAM disky již od verze 1.1 z roku 1985 až dodnes AmigaOS 4.1 (2010). Apple Computer přidala funkci do Kontrolního Panelu paměti (Memory Control panel) počítačů Apple Macintosh s operačním systémem System 7 v roce 1991, a nechala jí k dispozici až do verze Mac OS 9. Mac OS X uživatelé mohou použít funkci hdid, newfs (nebo newfs hfs) a mount utility pro vytvoření a formátování RAM disků.

V roce 1987 byla představena inovace RAM disků[3] presentovaná Perrym Kivolowitzem pro systém AmigaOS: schopnost RAM disku přežít většinu pádů a ztrátu dat. Díky systému zvaném ASDG Recoverable Ram Disk zařízení přežije reboot díky alokaci paměti dynamicky ve zpětném pořadí standardní alokace (vlastnost podporována základním OS) aby se snížila fragmentace paměti. Následně byl zapsán "super-blok" paměti s unikátní signaturou, který byl i po rebootu dohledatelný v paměti. Super-blok a všechny RRD diskové bloky udržují kontrolní součet a umožňují tak invalidaci disku, jakmile je zjištěna chyba. Z počátku byl ASDG RRD uzamčený pro ASDG paměťové desky a byl použit jen pro prodejní účely. Později byl ASDG RRD publikován jako shareware, s možností podpory systému ve výši $10. Shareware verze se objevila například na Fred Fish Disku 58[4] a 241.[5]

Mnoho Unixových systémů poskytovalo také jisté formy RAM disk funkcí. V Linuxu a podobných systémech, krom více tradičního /dev/ram, byla možnost uložení souborů na RAM disk pomocí tmpfs.

RAM disky jsou především používány díky jejich vysokému výkonu, malým nárokům na správu operačního systému (někdy bývají OS samy konfigurovány pro práci s nimi). Dokonce se vyskytují i specializované verze OS které jsou přímo určeny pro bootování z vyměnitelných médií a jejich celý obsah je následně nahrán na RAM disk.

Vizte též

Reference

  1. Kind, Tobias. RAMDISK Benchmarks [online]. University of California [cit. 2011-04-22]. Dostupné v archivu pořízeném dne 2011-05-16. (anglicky) 
  2. http://judithcurry.com/2013/03/22/open-thread-weekend-12/#comment-305652
  3. Archivovaná kopie. ftp.back2roots.org [online]. [cit. 2013-08-29]. Dostupné v archivu pořízeném z originálu dne 2013-12-03. 
  4. ftp://de4.aminet.net/misc/fish/fish-0058.readme[nedostupný zdroj]
  5. ftp://de4.aminet.net/misc/fish/fish-0241.readme[nedostupný zdroj]

Externí odkazy