home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1996 December
/
PCWKCD1296.iso
/
pcwtekst
/
sztuka.txt
< prev
Wrap
Text File
|
1996-10-25
|
7KB
|
188 lines
@BMP\MSD1.BMP
@BMP\MSD2.BMP
@BMP\MSD3.BMP
@BMP\MSD4.BMP
@BMP\MSD5.BMP
Pojawiaj╣ siΩ na rynku karty muzyczne, napΩdy CD-ROM, kt≤re
aby zostaµ prawid│owo rozpoznane przez komputer, musz╣ mieµ
zainstalowane sterowniki w pamiΩci. Niekiedy poch│ania to
dziesi╣tki kilobajt≤w pamiΩci, jak┐e potrzebnej do
uruchomienia program≤w. Aby pos│uchaµ muzyki i dƒwiΩk≤w w
ulubionej grze, musimy zmarnowaµ masΩ pamiΩci podstawowej,
kt≤rej jest i tak ma│o lub pamiΩci UMB (Upper Memory Blocks
- Bloki G≤rnej PamiΩci) ju┐ w og≤le zape│nionej po brzegi.
Po tym czΩsto gra siΩ nie chce uruchomiµ, gdy┐ wymaga wiΩcej
wolnej pamiΩci, a UMB jest za ma│a, by za│adowaµ do niej
wszystko co potrzebujemy.
Sterownik pamiΩci rozszerzonej EMM386.EXE tworz╣c pamiΩµ UMB
okre£la jej rozmiar na 150 KB lub nawet mniejszy. Ca│e
szczΩ£cie, ┐e mo┐emy (prawie!) sami zdecydowaµ, o rozmiarze
dostΩpnej pamiΩci UMB poprzez dodanie odpowiednich
parametr≤w przy │adowaniu EMM-a. Parametry oraz ich
szczeg≤│owe opisy, mo┐emy otrzymaµ po uruchomieniu DOS-
owskiego helpa (HELP EMM386.EXE). Najbardziej interesuje
nas:
* RAM - "Uruchamia" pamiΩµ typu Expanded (EMS).
* NOEMS - "Uruchamia" pamiΩµ typu Extended (XMS).
* FRAME=adres - Okre£lamy po│o┐enie w pamiΩci tzw. ramki.
Jest ona potrzebna do prawid│owego funkcjonowania pamiΩci
typu EMS (Expanded). Prawid│owe warto£ci s╣ w zakresach od
8000h do 9000h oraz od C000h do E000h. Warto£ci te mo┐emy
podawaµ z krokiem 400h np.: FRAME=DC00. Mo┐na te┐ nie podaµ
adresu (FRAME=NONE), lecz spowodujemy, ┐e niekt≤re programy
nie bΩd╣ chcia│y dzia│aµ.
* I=mmmm-nnnn - Okre£la, kt≤re adresy maj╣ zostaµ u┐yte jako
ramka lub jako pamiΩµ typu UMB. Prawid│owe warto£ci s╣ do
A000h do FFFFh i s╣ zaokr╣glane w d≤│ do najbli┐szej 4 KB
granicy. Przyk│ad: I=B000-B800.
* X=mmmm-nnnn - Okre£la, kt≤re adresy maj╣ nie byµ u┐ywane
na ramkΩ ani jako pamiΩµ typu UMB. Sk│adnia jak w przypadku
parametru "I".
Sterownik EMM386.EXE nale┐y instalowaµ podczas wykonywania
pliku CONFIG.SYS rozkazami (na przyk│ad):
DEVICE=C:\DOS\EMM386.EXE NOEMS - je£li chcemy mieµ pamiΩµ
typu XMS.
DEVICE=C:\DOS\EMM386.EXE RAM - je£li chcemy mieµ pamiΩµ typu
EMS.
Do przeprowadzenia konfiguracji pos│u┐ymy siΩ programem MSD
i jego funkcjami zwi╣zanymi z pamiΩci╣. ProszΩ zwr≤ciµ
uwagΩ, ┐e ka┐dy komputer, nawet z tak╣ sam╣ p│yt╣ g│≤wn╣,
identycznym procesorem mo┐e inaczej dzia│aµ. Mam na my£li
inn╣ wersjΩ systemu, inaczej ustawione parametry w BIOS-ie,
itp.
Na pocz╣tku zajmiemy siΩ konfiguracj╣ komputera, aby pamiΩµ
by│a wykrywana jako XMS (Extended).
XMS po raz pierwszy
Jest to najprostsza konfiguracja komputera. Nie wymaga w
og≤le sterownika EMM386. CONFIG.SYS mo┐e wygl╣daµ np. tak:
set path=c:\nc;c:\dos
device=c:\dos\himem.sys /testmem:off
dos=high
files=20
buffers=10
Wady tej konfiguracji to: nie mamy pamiΩci UMB, a pamiΩµ
podstawowa jest bardzo ograniczona. PamiΩµ komputera wygl╣da
jak na rys. 1. Obszary zaznaczone jako "available" s╣ nie
u┐ywane przez DOS i mo┐emy je wykorzystaµ, lecz dopiero w
innej konfiguracji.
XMS po raz drugi
W tej konfiguracji dodamy do CONFIG.SYS sterownik
EMM386.EXE, aby instalowa│ siΩ w pamiΩci. Rozkaz wygl╣da
mniej wiΩcej tak:
device=c:\dos\emm386.exe noems
Nale┐y umie£ciµ go za rozkazem │adowania sterownika
HIMEM.SYS. Aby zaistnia│a w naszym komputerze pamiΩµ UMB
nale┐y tak┐e liniΩ
dos=high
zamieniµ na
dos=high,umb
Po zresetowaniu pamiΩµ komputera bΩdzie wygl╣daµ jak na rys.
2. Widaµ, ┐e segmenty A000-B7FF s╣ wolne. Mo┐emy przeznaczyµ
je jako pamiΩµ UMB lub, je£li siΩ uda, "dodaµ" do pamiΩci
podstawowej. MuszΩ zwr≤ciµ tutaj uwagΩ na fakt, ┐e niekiedy
karty graficzne u┐ywaj╣ tego obszaru. Mog╣ wyst╣piµ k│opoty
przy uruchamianiu np. Windows. W takich warunkach nale┐y
ostro┐nie podchodziµ do wykorzystywania tego obszaru.
Instalacja EMM-a wygl╣da tak:
device=c:\dos\emm386.exe noems i=a000-b7ff
I w ten spos≤b z 640 KB pamiΩci podstawowej otrzymali£my 720
KB. Dzieje siΩ tak, gdy┐ miΩdzy pamiΩci╣ podstawow╣ i
segmentami od A000 do B7FF nie ma przerwy. Gdy doln╣ granicΩ
przesuniemy nieco w g≤rΩ, np.:
device=c:\dos\emm386.exe noems i=a100-b7ff
to po uruchomieniu komputera bΩdziemy mieli 640 KB pamiΩci
podstawowej oraz ponad 250 KB pamiΩci UMB, zamiast 150 KB!
EMS
PamiΩµ t╣ otrzymamy po zmianie parametru NOEMS na RAM. Po
tym nasz CONFIG.SYS bΩdzie wygl╣da│ tak:
set path=c:\nc;c:\dos
device=c:\dos\himem.sys /testmem:off
device=c:\dos\emm386.exe ram
dos=high,umb
files=20
buffers=10
Gdy prze│adujemy system, pamiΩµ naszego komputera bΩdzie
wygl╣daµ jak na rys. 3. W ten spos≤b, opr≤cz 640 KB
podstawowej mamy tylko 86 KB pamiΩci UMB. CzΩ£µ z UMB u┐yta
jest jako ramka. Ramka bezsensownie dzieli dostΩpne UMB
skutecznie uniemo┐liwiaj╣c wczytanie tam wiΩkszych program≤w
rezydentnych. Niestety, praktycznie niewiele miejsca mamy,
gdzie mogliby£my przenie£µ ramkΩ. Ni┐ej jest bez sensu, gdy┐
jeszcze bardziej zmniejszymy najwiΩkszy ci╣g│y blok pamiΩci
UMB. Natomiast mo┐emy przenie£µ wy┐ej, lecz nale┐y siΩ nad
tym zastanowiµ. Obszar zakropkowany (Possibly Available -
prawdopodobnie dostΩpny) jest prawdopodobnie U»YWANY i
dlatego spodziewajmy siΩ problem≤w. Nic nie stoi na
przeszkodzie, ┐eby spr≤bowaµ. RamkΩ mo┐na te┐ przenie£µ pod
adres od 8000 do 9000, lecz mi siΩ to nie uda│o. Proponowane
przeze mnie po│o┐enie ramki to segment E000. Czyli linia
│aduj╣ca EMM386.EXE do pamiΩci bΩdzie wygl╣da│a tak:
device=c:\dos\emm386.exe ram frame=e000
Da nam to 90 KB pamiΩci ci╣g│ej oraz informacjΩ, ┐e mo┐emy
mieµ k│opoty. Ponadto mo┐emy powiΩkszyµ rozmiar pamiΩci UMB
lub podstawowej w spos≤b przedstawiony wy┐ej.
Przedstawi│em sposoby na powiΩkszenie zasob≤w pamiΩci
dostΩpnej do │adowania sterownik≤w. DostΩpn╣ pamiΩµ UMB
mo┐emy tak┐e ograniczyµ. Jest to przydatne, gdy wczyta│y siΩ
tam ju┐ wszystkie potrzebne sterowniki. Je┐eli wiΩcej
pamiΩci jest nam zbΩdne, mo┐emy zakazaµ EMM-owi jej u┐ywania
porzez parametr "X".
Na rys. 4 przedstawiona jest pamiΩµ przy konfiguracji XMS.
Widaµ, ┐e czΩ£µ jest zajΩta (Used UMBs) lecz du┐a ilo£µ
pozostaje wolna (Free UMBs). PamiΩµ wolna przedstawiona jest
tak┐e na rys. 5. Obszary od adresu D400 do EFFF mo┐emy
oznaczyµ, ┐eby nie by│y u┐ywane:
device=c:\dos\emm386.exe noems x=d400-efff
Po zresetowaniu komputera otrzymamy wiΩcej wolnej pamiΩci
XMS. W identyczny spos≤b mo┐emy zrobiµ w przypadku pamiΩci
EMS, lecz trzeba pamiΩtaµ, aby zostawiµ odpowiedni╣ ilo£µ
wolnych segment≤w na obs│ugΩ pamiΩci EMS (na ramkΩ).
Micha│ Stuczkowski