Przejdź do zawartości

Expanded Memory Specification

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Staszek99 (dyskusja | edycje) o 00:50, 4 sty 2012. Może się ona znacząco różnić od aktualnej wersji.

EMS (ang. Expanded Memory Specification, LIM EMS) jest to specyfikacja dostępu do pamięci poszerzonej (ang. expanded memory) w programach pracujących w systemie operacyjnym DOS na komputerach wyposażonych w procesor 80286 lub nowszych.

Pamięć poszerzona (dodatkowa) była w starych komputerach PC umieszczana na odrębnych kartach, wyposażonych w układ sterujący oraz odpowiedni sterownik programowy. Pamięć taka nie była w całości widoczna w przestrzeni adresowej procesora, dostęp do niej był realizowany przez okno. Okno, o rozmiarze 64kB, znajdowało się w przestrzeni adresowej procesora, w zakresie 640kB-1MB, i był w niej odwzorowany fragment pamięci dodatkowej – program miał więc w danej chwili dostęp do 64kB pamięci dodatkowej.

Aby w oknie został odwzorowany inny fragment pamięci program musiał odwołać się do sterownika, który zmieniał odwzorowanie stron (pamięć dodatkowa była podzielona na strony o rozmiarze 16kB, dlatego można również spotkać się z nazwą pamięć stronicowana). Ten prosty zabieg umożliwiał, bez wielkich zmian w programach, stosowanie pamięci o wielkości większej niż 1MB do przechowywania danych.

Specyfikacja EMS, która powstała by ujednolicić interfejs programowy sterowników (dostęp do usług EMS jest realizowany przez przerwanie 67h), została ogłoszona w 1988 roku przez firmy Lotus, Intel i Microsoft - stąd też często stosowany skrót LIM EMS.

W systemie DOS, począwszy od wersji 5.00, dostarczany był standardowo sterownik o nazwie EMM386.EXE.

Zobacz też