Dysk wirtualny

Wirtualny dysk lub RAM dysk jest oprogramowanie , które wykorzystuje część pamięci RAM w komputerze , aby symulować funkcją pamięci masowej wykonywane przed przez dyski i przez dzisiejszych dysków twardych . Czasy dostępu uległy znacznej poprawie, jednak rozmiar dysku wirtualnego jest ograniczony przez rozmiar pamięci głównej.

Ponieważ pamięć RAM jest zwykle ulotna, dane przechowywane na dysku wirtualnym są tracone po wyłączeniu komputera. Dyski RAM są używane głównie do tymczasowego przechowywania danych lub do krótkotrwałego przechowywania rozpakowanego oprogramowania w pamięci . Tworzenie dysku wirtualnego odbywa się za pomocą sterownika dysku wirtualnego, jego zniszczenia dokonuje się przez resetowanie lub wyłączanie komputera (rzadziej przez sterownik), dostęp odbywa się za pomocą wywołań systemowych identycznych jak dla dysków rzeczywistych ( jądro musi zawierać że poprawne sterowniki ).

Dysku wirtualnego nie należy mylić z pamięcią wirtualną, co jest zasadą odwrotną, a mianowicie wykorzystywaniem pamięci masowej (głównie dysku twardego lub SSD ) do symulacji centralnej pamięci RAM.

Historyczny

Dyskowe pamięci RAM były powszechnie używane jako nośniki startowe w latach 80 - tych , kiedy dyski twarde były drogie, dyskietki wolne, a system operacyjny zajmował bardzo mało miejsca, kilka systemów, zwłaszcza tych z serii Amiga i Apple IIg , było w stanie się uruchomić z dysku RAM. Za cenę kilku modułów pamięci RAM, które w tamtym czasie były bardzo drogie, można było wówczas uruchomić ponownie komputer na ciepło w ciągu kilku sekund zamiast minut.

W latach 80. pamięci flash wciąż znajdowały się na etapie laboratoryjnym, a system taki jak Canon X-07 mógł pomieścić kartę rozszerzenia pamięci zasilaną baterią litową, zapewniając trwałość zawartości po zamknięciu systemu. Później, w latach 90. , kiedy ukazały się pierwsze płyty CD wielokrotnego zapisu , ten typ nośnika był kiedyś nazywany „dyskową pamięcią RAM”. Te nośniki fizyczne, zasilana karta pamięci i CD-RW , nie są dyskami wirtualnymi, ale bardzo realnymi nośnikami danych.

W Sierpień 1984IBM dodał do PC-DOS v3.0 sterownik dysku wirtualnego o nazwie VDISK.SYS, który może wykorzystywać rozszerzoną pamięć komputera PC-AT. Kod montażowy sterownika (VDISK.ASM) był dystrybuowany z PC-DOS, następujące wiersze pochodzą z tego kodu asemblera:

;VDISK simulates a disk drive, using Random Access Memory as the storage medium. ;(C) Copyright IBM Corporation, 1984,1985 ;Licensed Material - Program Property of IBM ;Author: Dick Dievendorff ;Add the following statement to CONFIG.SYS ; DEVICE=[d:][path]VDISK.SYS bbb sss ddd [/E:m] ; where: bbb is the desired buffer size (in kilobytes) ; minimum 1KB, maximum is size of available memory, ; default is 64KB. ; VDISK will leave at least 64KB of available memory, ; although subsequent device drivers (other than VDISK) ; other programs that make themselves resident, and ; COMMAND.COM will result in less than 64KB as shown ; by CHKDSK. ; Must be large enough for 1 boot sector + FAT sectors ; + 1 directory sector + at least 1 data cluster, ; or the device driver won't be installed. ; sss is the desired sector size (in bytes) ; 128, 256, or 512, default is 128. ; Will be adjusted if number of FAT entries > 0FE0H ; ddd is the desired number of directory entries ; Minimum 2, maximum 512, default 64. ; Will be rounded upward to sector size boundary. ; /E may only be used if extended memory above 1 megabyte ; is to be used. INT 15H functions 87H and 88H are used ; to read and write this extended memory. ; The m parameter in the /E option specifies the maximum ; number of sectors that the VDISK will transfer at a time. ; Optional values are 1,2,3,4,5,6,7 or 8 sectors, the default ; is 8 sectors. ; Brackets indicate optional operands. ; Samples: ; DEVICE=\path\VDISK.SYS 160 512 64 ; results in a 160KB VDISK, with 512 byte sectors, 64 directory entries ; DEVICE=VDISK.SYS Buffersize 60 Sectorsize 128 Directory entries 32 ; (since only numbers are interpreted, you may comment the line with ; non-numeric characters) DB 'The IBM Personal Computer Virtual Disk Device Driver, ' DB 'Version 2.00 (C)Copyright IBM Corp 1984,1985' DB 'Licensed Material - Program Property of IBM. ' DB 'Author: Dick Dievendorff '

W przeciwieństwie do większości komponentów we wczesnych wersjach DOS, VDISK.SYS napisany przez IBM dla PC-DOS nie był dostępny pod MS-DOS . Microsoft dodał podobny program o nazwie RAMDRIVE.SYS do MS-DOS v3.2 (1986), który może również wykorzystywać pamięć rozszerzoną.

W 1985 roku, kiedy przeciętny komputer miał niewiele więcej niż 64 KB, a najbardziej wymagające oprogramowanie zajmowało od 128 do 256 KB pamięci, IBM PC mógł być dostarczany z „kolosalną” pamięcią 640 KB, jedną lub dwoma 5-calowymi ¼ dyskietek i, jeśli pozwala na to budżet, opcjonalny dysk twardy. Pojemność dyskietek na IBM PC wynosi 360 KB, naturalne było wykorzystanie tego „nadmiaru” pamięci na dysku wirtualnym do tego celu. przechowywanie nakładek programowych i rzadkich tymczasowych danych, przyrost szybkości przetwarzania w porównaniu z dyskietką był wtedy bardzo znaczący.

Zastosowanie pamięci podręcznej przez system operacyjny , dostęp do dyskietki, dysku twardego lub płyty CD, wydawało się zastosowanie dysku RAM niepotrzebne. Dysk pamięci cache spełnia podobną funkcję szybkiego dostępu do danych zapisanych na dysku, bez wad: utracie danych w przypadku awarii zasilania, stała partycjonowania itp dysków RAM są jednak niezbędne w sytuacji, gdy dysk fizyczny nie jest dostępny, lub gdy nośnik danych musi pozostać nieruchomy (jak w przypadku LiveCD załadowanych do pamięci). Mogą być również przydatne w urządzeniach typu kiosk , gdzie początkowa konfiguracja musi być wczytywana przy każdym uruchomieniu i podczas pracy nie jest konieczna rekonfiguracja systemu.

Pojawienie się szybkich dysków twardych typu Serial ATA , a zwłaszcza dysków SSD , sprawiło, że dyski RAM stały się prawie przestarzałe.

Dyskowe pamięci RAM tworzą doskonałe pamięci podręczne dla przeglądarek internetowych i miejsca do przechowywania pośrednich plików kompilacji (jaki jest sens zapisywania pliku pośredniego na dysku, którego nie będziesz potrzebować po przeczytaniu?).

Adresowanie 16-bitowe

MS / PC DOS

Dysk wirtualny jest instalowany w pamięci konwencjonalnej (mniej niż 1 MiB, ale zwykle 640 KB dla systemu 8088 lub 8086 ) lub w pamięci rozszerzonej (parametr / E przekazany do VDISK.SYS dla systemu 80286 z ponad 640 KB BARAN).

W przeciwieństwie do nowoczesnych procesorów działających w trybie chronionym VDISK.SYS pracuje w trybie rzeczywistym na 80286 i zaapelował, aby przerwać ten BIOS dostępu rozszerzoną pamięć (kod źródłowy wskazuje, że jest VDISK.ASM Int funkcje 15h 87h i 88h).

Adresowanie 32- lub 64-bitowe

Windows

32-bitowy system Windows może rozpoznać, że maszyna ma 4  GB , ale może używać wersji 3.2 tylko ze względów technicznych. Dlatego musi

Linux

Ponieważ wersja PAE ( rozszerzenie adresu fizycznego ) systematycznie istnieje w dystrybucjach 32-bitowych, Linux może wykorzystywać całą dostępną pamięć nawet przy tym typie adresowania: dynamiczne translacje adresów zapewniają każdej aplikacji jej 32-bitową przestrzeń. Alokowaną w rzeczywistej pamięci, a zatem bez spowalniania na dół.

Wersja 64-bitowa umożliwia każdej aplikacji, która ją obsługuje, 64-bitowe adresowanie.

Ewolucja

Inną techniką wykorzystania pamięci RAM do przechowywania plików jest tymczasowy system plików tmpfs (wywodzący się z bardzo prostych ramfów ). Taki system jest dużo lżejszy, ponieważ nie stara się symulować dysku twardego, co sprawia, że ​​nie można krzyżować wielu interfejsów i protokołów programowych (sterownik dysku, sterownik systemu plików, system pamięci podręcznej itp.) Zwykle przeznaczonych dla tego typu masy. nośnik danych. Implementacja tmpfs z Linuksa w ten sposób natywnie w zarządzaniu jądrem cache Linux .

W przeciwieństwie do dyskowej pamięci RAM, która monopolizuje całkowitą ilość przydzielonej jej pamięci, system typu tmpfs pozwala na użycie tylko pamięci faktycznie potrzebnej do przechowywania plików, a wolne miejsce jest również pamięcią.

Uwagi i odniesienia

  1. RAM ma czas dostępu rzędu 10 do 100 ns, podczas gdy dla dysku twardego czas ten jest rzędu 10 ms i 100 µs dla dysku SSD, czyli współczynnik większy niż 1000
  2. Canon X-07 był dość wyjątkowy, zawierał menedżera dysków wirtualnych, a jego nieulotną pamięć 8KB można było rozszerzyć za pomocą układu 8KB XR-100 i zasilanej karty pamięci 4KB XM-100. Za pomocą baterii litowej
  3. VDISK.SYS był pierwszym komponentem DOS, który korzystał z rozszerzonej pamięci w 80286
  4. Do połowy 1980 roku, podział kodów źródłowych było powszechną praktyką, więc VDISK.ASM została wydana przez IBM na 2 nd  dyskietki z PC-DOS 5 „¼ , ROM BIOS aukcja została opublikowana w IBM PC Podręcznik techniczny 6025008 - IBM, 1981
  5. Dyskietki 3,5 "720 Kb i 1,44 Mb pojawiły się dopiero z PS / 2 w 1987 r

Zobacz też

Powiązane artykuły

Link zewnętrzny