Jak środowisko Windows wykorzystuje pamięć komputera?

Windows optymalnie wykorzystuje całą dostępną pamięć komputera, pod warunkiem, że wcześniej nie przeznaczyliśmy jej na inne cele, np. instalując dysk wirtualny (RAM-dysk).

Windows optymalnie wykorzystuje całą dostępną pamięć komputera, pod warunkiem, że wcześniej nie przeznaczyliśmy jej na inne cele, np. instalując dysk wirtualny (RAM-dysk).

Różne rodzaje pamięci

Krótko przypomnę, jakie najważniejsze rodzaje pamięci mamy do dyspozycji w komputerze.

Pamięć konwencjonalna albo pamięć główna, czyli 640 kB, do których mamy dostęp w DOS-ie. Zajmuje ona przestrzeń od adresu 0000 do 9FFF (szesnastkowo).

Pamięć rozszerzona, to pamięć o adresach wyższych od FFFFF (1 MB). Występuje ona tylko w komputerach z 16-bitowym procesorem 286, zdolnym do adresowania 16 MB pamięci i w komputerach z 32-bitowymi procesorami 386 i 486, zdolnymi do adresowania do 4 GB pamięci.

Pamięć stronicowana, zgodna ze standardem LIM EMS, może być wykorzystywana na dowolnym komputerze. Wymaga instalacji specjalnej karty w przypadku procesorów 86 i 286. Natomiast procesor 386 może zamienić część pamięci rozszerzonej na pamięć EMS (emulując pamięć EMS) i nie wymaga instalacji karty EMS.

Do czego Windows wykorzystuje pamięć?

Komputer z procesorem 286

Program Windows pracujący na komputerze z procesorem 286, całą dostępną mu pamięć przydziela uruchamianemu programowi: nie ma bowiem możliwości jednoczesnego uruchomienia dwóch programów: każdy w pełni absorbuje zasoby komputera.

Jeżeli w takim komputerze jest zainstalowana pamięć typu EMS, to korzystają z niej jedynie programy DOS-owe i nie ma tu żadnej różnicy między pracą w "czystym" DOS-ie, a pracą w okienku Windowsowym.

Komputer z procesorem 386 (lub lepszym)

W takim komputerze Windows może jednocześnie nadzorować wykonanie wielu programów. Każdy z nich otrzymuje tyle pamięci, ile potrzebuje - jeśli jest to program Windowsowy. Możliwe jest także uruchomienie kilku programów DOS-owych, z których każdy działa na własnym, wirtualnym (to jest emulowanym przez procesor i środowisko Windows) komputerze z systemem DOS z pamięcią, o rozmiarach określonych w specjalnym pliku PIF (program information file). W typowej konfiguracji wymaga to przeznaczenia ok. 1 MB pamięci rozszerzonej z zasobów komputera na jeden program DOS-owy. Na przykład na komputerze z 5 MB pamięci RAM i zainstalowanym przez środowisko Windows stałym plikiem roboczym 2 MB na dysku, udało mi się uruchomić 4 aplikacje DOS-owe, z których jedna wymagała 1 MB pamięci EMS.

System Windows jest w stanie dostarczyć pamięci LIM EMS tym programom DOS-owym, które jej potrzebują. Jeżeli mamy zainstalowaną kartę pamięci EMS, to Windows sięga najpierw do tej karty po pamięć EMS, potem zamienia część pamięci rozszerzonej na pamięć stronicowaną (emuluje ją). W końcu zaś skorzysta z dysku, na którym umieści najwolniejszą, emulowaną pamięć stronicowaną.

Jak Windows zarządza pamięcią?

Windows dla poprawnego zarządzania pamięcią wymaga zainstalowania jedynie sterownika HIMEM.SYS w pliku CONFIG.SYS; natomiast sterownik EMM386.EXE używany jest przez DOS do umieszczania swoich programów w pamięci UMB (upper memory block) i przydzielania pamięci EMS, programom działającym bezpośrednio w DOS-ie. Jeżeli w DOS-ie przekształciliśmy część pamięci rozszerzonej na pamięć EMS, jest ona nadal dostępna dla Windows.

Każde okienko DOS-owe jest dokładnym odwzorowaniem "czystego" DOS-u. Dostępne są w nim bowiem wszystkie programy rezydentne (sterownik klawiatury, DOSKEY i in.). Niestety, jedynie w oknie pełnoekranowym i w jednym rozmiarze czcionek mniejszego okna DOS-owego (trzeba sprawdzić samemu jaka to czcionka, u mnie 8x12), dostępne są polskie litery. Jeżeli więc umieściliśmy dużo programów rezydentnych, to będziemy w każdym oknie mieli mały rozmiar dostępnej pamięci głównej. Dlatego, dobrze jest instalować w każdym oknie DOS-owym pojedyncze programy rezydentne, które są naprawdę potrzebne. Ma to jeszcze tę zaletę, że możemy korzystać z programów rezydentnych, które źle ze sobą współpracują: każdy z nich uruchamiamy w oddzielnym oknie DOS.

Przy okazji korzystania z programów rezydentnych często pojawia się problem: co zrobić z myszą? Windows korzysta w naturalny sposób z myszy i nie wymaga żadnego sterownika DOS-owego do jej obsługi. (Pod warunkiem, że nasza mysz jest zgodna z jedną z popularnych myszy firmowych: Microsoft, Logitech, MSMouse). Obsługę myszy zapewnia sterownik Windows MOUSE.DRV, z kompletu sterowników Windows. Jeżeli jednak chcemy skorzystać z myszy w programach DOS-owych lub nie mamy myszy całkowicie zgodnej ze standardem, to należy w DOS-ie wywołać jej sterownik. Pisałem już o tym, że w razie wątpliwości co do zgodności myszy należy przed instalacją Windows załadować jej sterownik, aby Windows był w stanie poprawnie ją rozpoznać. Potem, jeśli nie korzystamy z myszy w DOS-ie, możemy ten sterownik usunąć w celu zwiększenia rozmiarów dostępnej pamięci. Odradzam ładowanie nietypowych sterowników w górny obszar pamięci (UMB) za pomocą polecenia LOADHIGH, gdyż niektóre programy DOS-owe nie są w stanie korzystać z tak zainstalowanej myszy.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200