1138


Organizacja pamięci komputera

Przestrzeń adresowa komputera typu IBM PC podzielona jest na następujące cztery obszary, spełniające różne funkcje :

- pamięć konwencjonalną ( 0 - 640 KB ), w której uruchamiane są programy pracujące pod

kontrolą systemu MS-DOS ;

- pamięć górną ( 640 KB - 1 MB ), w której znajduje się ROM BIOS komputera ( ostatnie 64

KB ), pamięć video kart graficznych ( 128 KB - w obszarze od A000h do BFFFh ) wraz z ich

BIOS-em ( 32 KB - od C000h do C7FFFh ). W obszarze tym znajduje się także ramka pamięci

EMS ( page frame ) zajmująca 64 KB. Jeżeli komputer nie posiada innych specjalizowanych

kart to reszta pamięci górnej pozostaje wolna. Dzięki mechanizmowi stronicowania

zastosowanemu w procesorze 386 oraz wyższych tę dodatkową przestrzeń można wykorzystać

głównie do uzupełnienia systemu o programy rezydentne, lub sterowniki, bez konieczności

alokacji cennej pamięci konwencjonalnej. Służą do tego komendy : LOADHIGH (LH),

INSTALLHIGH,oraz DEVICEHIGH. Ich użycie wymaga podania w pliku CONFIG.SYS

polecenia DOS=UMB, które informuje DOS o udostępnieniu mu bloków pamięci górnej

( Upper Memory Blocks ). MS-DOS włącza wówczas dostepną pamięć górną do listy

zarządzanych obszarów pamięci. Aby pamięć ta była dostępna konieczne jest zastosowanie

specjalizownaego programu takiego jak EMM386, QEMM386, lub UMB_DRVR.

- obszar HMA ( High Memory Area ), znajdujący się w przestrzeni adresowej od adresu

100000h do 10FFEFh, zajmujący pierwsze 64 KB pamięci rozszerzonej. Może on być

adresowany przez procesory 286, 386 w trybie rzeczywistym, stanowi więc dodatkowe 64 KB

dla programów pracujących pod kontrolą systemu MS-DOS. HMA należy traktować jako jedną

niepodzielną jednostkę. System operacyjny, rezydując w pamięci konwencjonalnej, nie ma

możliwości sublokacji HMA, dlatego powinien znajdować się tam program wykorzystujący go

w sposób maksymalny. Optymalnym wykorzystaniem HMA jest umieszczenie w nim części

systemu operacyjnego, co uzyskuje się przez podanie polecenia DOS=HIGH w pliku

CONFIG.SYS. Jest to możliwe począwszy od wersji 5.0 systemu MS-DOS.

- pamięć rozszerzoną, adresowaną od 100000h do ostatniej komórki pamięci. Może ona być

obsługiwana w standardzie XMS (Extended) lub EMS (Expanded), w zależności od

wyboru użytkownika.Do obsługi pamięci rozszerzonej w standardzie XMS służy program

HIMEM dołączany standardowo do systemu MS-DOS, lub program QEMM386. Standard

EMS obsługiwany jest za pomocą programu EMM386 standardowo dołączanego do systemu

MS-DOS, lub za pomocą programu QEMM386.

Program HIMEM

Program HIMEM zarządza dostępem do pamięci rozszerzonej. Jego funkcje pozwalają na przechowanie w niej struktur danych o rozmiarach ograniczonych jedynie jej pojemnością. Mechanizmy działania zapewniają dostęp do pamięci rozszerzonej kilku programom jednocześnie, obszar zaalokowany przez jeden program może zostać przekazany do użytku drugiemu, kiedy ten pierwszy zakończy działanie.

Program HIMEM można zainstalować na komputerze spełniającym następujące wymagania :

- procesor 286 lub wyżej ;

- fizyczna obecność pamięci rozszerzonej ;

- system operacyjny MS-DOS 3.0 lub wyżej.

W celu zainstalowania programu HIMEM należy w pliku CONFIG.SYS podać następujące polecenie :

DEVICE = [dysk:][ściezka]HIMEM.SYS[/HMAMIN=N][/NUMHANDLES=n]

[/INT15=xxxx][/MACHINE:xxx][/A20CONTROL:ON|OFF]

[/EISA][SHADOWRAM:ON|OFF][/VERBOSE]

Program HIMEM powinien zawsze być instalowany przed tymi wszystkimi programami, które wykorzystują jego funkcje. Najlepszym rozwiązaniem jest wpisanie tego polecenia w pierwszej linii pliku CONFIG.SYS.

Opcje wywołania mają znaczenie w przypadkach szczególnych. Najczęściej do prawidłowego działania wystarczy wywołanie z parametrami domyślnymi. Poszczególne opcje mają nastepujące znaczenie.

/HMAMIN=n

Określa rozmiar HMA, który program rezydentny będzie musiał wykorzystać dla własnych potrzeb. Program potrafiący przepisać swój kod do HMA, wymagający dla uruchomienia przestrzeni mniejszej niż podana, nie uzyska dostępu do HMA.

/NUMHANDLES=n

Parametr n określa maksymalną liczbe tzw. uchwytów ( handles ), a tym samym mozliwych do alokacji bloków pamięci rozszerzonej. Przykładowo, jeżeli po instalacji HIMEM-a uruchomione zostaną programy takie jak SMARTDRV, czy RAMDRIVE, które na własne potrzeby alokują po jednym bloku, dostępna liczba bloków będzie mniejsza od podanej o 2. Minimalną wartością n jest 1, maksymalną - 128, domyślną - 32.

/INT15=xxxx

Pozostawia żądaną przestrzeń ( określoną w KB ) pamięci rozszerzonej, nie zarządzanej przez HIMEM. Pamięć ta przeznaczona jest dla programów alokujących ją za pomocą schematu zgodnego z INT 15. Minimalną wartością jest 64, maksymalną - 65535, domyslną - 0.

/MACHINE:xxxx

Określa system sterowania stanem linii A20. W większości przypadków jest on identyfikowany automatycznie. Opcja ta powinna zostać podana jedynie, gdy stwierdzony zostanie problem w sterowaniu stanem linii A20. Symbol xxxx definiuje kod lub nume systemu.

/A20CONTROL: ON|OFF

Określa warunek, przy którym HIMEM przejmie kontrolę nad stanem linii A20. Parametr OFF powoduje przejęcie kontroli jedynie wówczas, gdy linia A20 została zablokowana przed instalacją HIMEM-a. Parametrem domyślnym jest ON.

/EISA

Informuje HIMEM, że komputer jest zgodny ze standarden EISA ( Extended Industry Standard Architecture ) i jest wyposażony w pamięć o pojemności większej od 16 MB. Jeżeli opcja ta jest podana HIMEM rezerwuje na własne potrzeby całą dostepną pamięć. W innych komputerach cała dostępma pamięć rezerwowana jest automatycznie.

/SHADOWRAM: ON|OFF

Określa, czy HIMEM ma dołączyć do zarządzanej przez siebie pamięci obszar przeznaczony na SHADOWRAM. Jest to mozliwe tylko w niektórych komputerach. Jeżeli komputer jest wyposażony w pamięć mniejszą od 2 MB domyslnym parametrem jest OFF, co oznacza, że HIMEM po zainstalowaniu będzie się starał wykorzystać obszar SHADOWRAM do zwiększenia pamięci XMS dostępnej dla programów.

/VERBOSE

Nakazuje wyświetlanie wszystkich komunikatów podczas instalacji programu HIMEM. Ten sam efekt można uzyskać wciskając podczas instalacji klawisz Alt.

Przykłady

Wywołanie ustalające minimalny obszar HMA do wykorzystania dla TSR-ów, na 30 KB :

DEVICE=C:\DOS\HIMEM.SYS /HMAMIN=30 /VERBOSE

Wywołanie ustalające dozwoloną liczbę bloków pamięci rozszerzonej ( EMB ) na 128 :

DEVICE=C:\DOS\HIMEM.SYS /NUMHANDLES=128 /VERBOSE

Wywołanie ustalające rozmiar HMA na 40 KB oraz maks. liczbę bloków EMB na 64 :

DEVICE=C:\DOS\HIMEM.SYS /HMAMIN=40 /NUMHANDLES=64 /VERBOSE

Program EMM386

Program EMM386, dołączany standardowo do systemu MS-DOS, służy do emulowania pamięci EMS (Expanded Memory) na komputerach wyposażonych w procesor 386 lub wyżej. Do poprawnego funkcjonowania wymaga on obecności w pamięci komputera programu zarządzającego pamięcią rozszerzoną ( np. HIMEM ). Programy te pozwalają na wykorzystanie pamięci EMS wraz z pamięcią XMS, przy czym ta pierwsza jest emulowana. Implementują one także funkcje platformy VCPI ( Virtual Control Program Interface ).

Program EMM386 można zainstalować na komputerze spełniającym nastepujące wymagania :

- 32-bitowy procesor 386 lub wyższy ;

- fizyczna obecność pamięci rozszerzonej ;

- obecność sterownika pamięci rozszerzonej ( HIMEM ) ;

- system operacyjny MS-DOS 5.0 lub wyżej.

Instalację EMM386 wykonuje się z reguły za pomocą programu MEMMAKER. Polecenie umieszcane w pliku CONFIG.SYS ma postać :

DEVICE=[dysk:][ścieżka]EMM386.EXE [ON|OFF|AUTO] [memory] [MIN=size]

[W=ON|OFF] [Mx|FRAME=address|/Pmmmm] [Pn=address]

[X=mmmm-nnnn] [I=mmmm-nnnn] [B=address] [L=minXMS]

[D=nnn] [A=altregs] [H=handles] [RAM=mmmm-nnnn] [NOEMS]

[NOVCPI] [NOEMS] [VERBOSE] [WIN=mmmm-nnnn] [NOHI]

[ROM=mmmm-nnnn] [NOMOVEXBDA] [ALTBOOT]

ON|OFF|AUTO

Uaktywnia, zawiesza, lub wprowadza program w tryb pracy automatycznej, który uruchamia mechanizmy dostępu do pamięci EMS lub obsługi bloków UMB tylko wtedy, gdy program żąda dostępu do nich. Domyślną wartością jest ON.

memory

Określa maks. rozmiar pamięci XMS ( w KB ) wykorzystywanej przez EMM386 do emulacji pamięci EMS oraz implementowania platformy VCPI. Jeżeli nie jest podana opcja NOEMS wartością domyślną jest rozmiar dostępnej pamięci XMS.

MIN=size

Określa minimalny rozmiar pamięci EMS lub pamięci wykorzystywanej przez VCPI, którą EMM386 będzie emulowac w pamięci XMS, jeżeli dostepny jej rozmiar jest wystarczający. Maks. rozmiar ograniczony jest wartością stałej memory, jeżeli jest ona większa od parametru size. Gdy podana jest opcja NOEMS wartością domyślną jest 256, inaczej 0.

W=ON|OFF

Uaktywnia lub blokuje obsługę koprocesora Weitek.

Mx

Definiuje adres segmentowy ramki pamięci EMS. Wartość x mieści się w granicach od 1 do14 i odpowiada określonym adresom segmentowym.

FRAME=address

Definiuje bezpośrednio adres segmentowy ramki pamięci EMS. Wartość parametru address może zmieniać się w zakresie od 8000h do 9000h oraz od C000h do E000h ze skokiem 400h.

/Pmmmm

Definiuje adres segmentowy ramki pamięci EMS. Wartość parametru mmmm może zmieniać się w zakresie od 8000h do 9000h oraz do C000h do E000h ze skokiem co 400h.

Pn=address

Definuje adres segmentowy zadanej strony o numerze n .(0 - 255) Parametr address określa adres segmentowy (8000h - 9000h lub C000-E000h co 400h).

X=mmmm-nnnn

Blokuje wykorzystywanie przez EMM386 zadanego zakresu adresów segmentowych na obszar ramki lub bloków UMB. Wartości parametrów mogą zmieniać się w zakresie od A000h do FFFFh. Opcja ta ma wyższy priorytet niż opcja I jeżeli podane adresy nakładają się na siebie.

I=mmmm-nnnn

Definiuje zakres adresu segmentowego obszaru pamięci górnej, w którym zostanie utworzona ramka pamięci EMSlub bloki UMB. Wartości parametrów j.w.

B=address

Określa najniższy adres segmentowy obszaru przeznaczonego do wymiany zawartości 16-KB stron. Wartość domyślna wynosi 4000h.

L=minXMS

Określa minimalną pojemność pamięci XMS, która nie zostanie wykorzystana do implementacji pamięci EMS. Wartością domyślną jest 0.

D=nnn

Określa rozmiar pamięci ( w KB ) którą należy zarezerwować do buforowania operacji DMA . Wartością domyślną jest 16, a może ona się zmieniać od 16 do 156.

A=altregs

Określa liczbę szybkich alternatywnych grup rejestrów ( wykorzystywanych do wielozadaniowości ), którą nalezy zarezewować. Wartością domyślną jest 7, a może ona się zmieniac od 0 do 254.

H=handles

Określa liczbę uchwytów EMS, które programy będą mogły wykorzystać. Wartością domyślną jest 64, a może ona się zmieniac od 2 do 255.

RAM=mmmm-nnnn

Definiuje zakres adresów segmentowych, które zostaną wykorzystane na bloki UMB, jak również obsługę pamięci EMS. Podanie opcji bez parametru powoduje wykorzystanie przez EMM386 całej dostępnej przestrzeni adresowej.

NOEMS

Wyłącza obsługę pamięci EMS pozostawiając jedynie dostęp do bloków UMB.

NOVCPI

Blokuje dostęp do mechanizmów VCPI. Opcja ta musi być podana w połączeniu z NOEMS, inaczej zostanie zignorowana.

HIGHSCAN

Nakazuje wykonanie kontroli pamięci w celu wykrycia dodatkowego obszaru, który możnaby wykorzystać na bloki UMB lub ramkę pamięci EMS. Obszar taki jest fragmentem pamięci górnej zajmowanym przez nieaktywne rozszerzenia podsystemu BIOS. W niektórych przypadkach opcja ta nie przynosi rezultatu, a w niektórych prowadzi do zawieszenia komputera.

VERBOSE

Patrz HIMEM.

WIN=mmmm-nnnn

Pozwala określić zakres adresu segmentowego obszaru, który ma być wykorzystywany przez Windows. Opcja ta ma niższy priorytet niż X, natomiast wyższy niż RAM, ROM, oraz I.

NOHI

Blokuje ładowanie EMM386 do pamięci górnej.

ROM=mmmm-nnnn

Określa zakres adresów segmentowych obszaru, który EMM386 wykorzysta na SHADOWRAM. Podanie tej opcji może przyspieszyć pracę systemu jeżeli nie posiada on pamięci SHADOWRAM.

NOMOVEXBDA

Blokuje przesunięcie obszaru dodatkowych danych BIOS-u z pamięci konwencjonalnej do górnej.

ALTBOOT

Nakazuje przejęcie kontroli nad restartem systemu. Opcja ta powinna być używana jedynie w przypadku nieprawidłowości przy restarcie systemu, kiedy EMM386 rezyduje w pamięci.



Wyszukiwarka

Podobne podstrony:
1138
krolowie, Bolesław III Krzywousty (1085-1138), syn Władysława I Hermana i jego drugiej żony, księżni
1138
1 Początki państwa polskiego do (1138)
!! Wypracowania !!, 14, POLSKA W DOBIE PANOWANIA BOLESŁAWA KRZYWOUSTEGO (1106-1138 )
Budowa państwa polskiego (963-1138), DOKUMENT HISTORYCZNY, Publikacje historyczne
1138
1 Test Europa i Polska 800-1138 gimn, gimnazjum i liceum
1138
1138 ?ndo?ndo biesiada 3V2SFHTUSHACPWCERHVLXQVMAJACVKVPA64EHDA
Budowa państwa polskiego (963 1138)
THX 1138 Ben Bova
1 Historia Polski (od 960 do 1138)
1138
Polska w 1138 r
uz 5 16 30 1138 z

więcej podobnych podstron