Brug din PC optimalt - KnowWare
Brug din PC optimalt - KnowWare
Brug din PC optimalt - KnowWare
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
10<br />
Expanded og extended memory<br />
I det følgende er det vigtigt at skelne mellem den rent<br />
fysiske RAM eller memory og de logiske betegnelser<br />
(upper, extended osv.) for de måder, hvorpå den fysiske<br />
RAM anvendes. Har du fx 4 MB fysisk RAM, kan disse<br />
anvendes på mange forskellige måder, og det er denne<br />
anvendelse, det følgende handler om. Man taler om at<br />
konfigurere memory.<br />
<strong>Brug</strong>en af memory over 1 MB startede i gamle dage<br />
primært med regnearket Lotus 1-2-3, hvor brugerne<br />
hurtigt løb mod loftet, de 640 KB, som var grænsen for<br />
DOS programmer. De tre firmaer Lotus-Intel-Microsoft<br />
udviklede regler for, hvordan såkaldt expanded memory<br />
skulle benyttes. Denne standard blev kaldt Expanded<br />
Memory Specification (EMS) - evt. LIM EMS.<br />
Dengang produceredes ekstra kort med RAM, som<br />
kunne sættes i <strong>PC</strong>'en. Primært ældre programmer kan<br />
udnytte denne form for memory, men også mange spil<br />
kræver EMS memory (se Flere Boots s. 39). En memory<br />
manager for expanded memory kaldes Expanded Memory<br />
Manager (EMM). DOS har en sådan, nemlig<br />
EMM386.EXE.<br />
Senere blev en anden standard introduceret for brug af<br />
memory over 1 MB, nemlig eXtended Memory<br />
Specification (XMS) - meget uheldigt med de næsten ens<br />
navne. Den er mere relevant for de fleste programmer i<br />
dag, da nyere programmer primært skrives til at udnytte<br />
extended memory, som ligeledes kræver en eXtended<br />
Memory Manager (XMM). DOS har en sådan, nemlig<br />
HIMEM.SYS.<br />
Disse navne er altså betegnelser for, hvordan den fysiske<br />
RAM kan benyttes. Man kan kalde det logiske<br />
betegnelser eller standardiserede regler for, hvordan den<br />
fysiske memory kan bruges. RAM udover 1 MB kan altså<br />
benyttes som en kombination af forskellige former for<br />
memory, men først efter, at den relevante memory manager<br />
er aktiv og evt. bestemmer, hvor meget der skal<br />
bruges til hvad. Expanded memory kaldes også EMSmemory,<br />
når den er tilgængelig, konfigureret ifølge<br />
nævnte standard.<br />
High Memory Area<br />
forkortet HMA, er defineret som de første 64 KB af extended<br />
memory, dvs. fra 1.024-1.088 KB. Ved hjælp af et<br />
lille trick er dette område blevet tilgængeligt, som om det<br />
tilhørte den første MB. DOS kan benytte dette område.<br />
De fleste bruger dette område til at placere en del af DOS<br />
vha. DOS=HIGH. Memory manager for dette område er<br />
meget naturligt HIMEM.SYS, da det håndterer al memory<br />
over 1 MB. HIMEM.SYS styrer altså både high memory og<br />
extended memory.<br />
Memoryformer<br />
<strong>Brug</strong> <strong>din</strong> <strong>PC</strong> <strong>optimalt</strong> – 22-06-01 – 08:38<br />
MEM/A er mig bekendt den eneste DOS 6.x kommando,<br />
der giver oplysning om udnyttelsen af dette<br />
område. Switchen er udokumenteret.<br />
(A) HMA er tilsyneladende 'en del' af extended memory -<br />
både ja og nej: HMA er tilgængelig for processoren i real mode,<br />
mens extended memory er tilgængelig for processoren i protected<br />
mode.<br />
Forholdet upper-extended<br />
(A) Upper memory 'låner' den reelle RAM af extended<br />
memory.<br />
I jargon siger man, at extended memory bliver 'mapped' til<br />
upper memorys adresseområde. At mappe vil sige, at CPUen<br />
snydes til at tro, at bestemte adresser i memory ligger et<br />
bestemt sted, hvad de egentlig ikke gør set i forhold til, hvor<br />
den fysiske RAM befinder sig.<br />
Konkret: vil du have adgang til fx 92 KB upper memory,<br />
lånes de af extended memory, som dermed får 92 KB mindre.<br />
Prøv at skrive REM forrest i linien i CONFIG.SYS med<br />
EMM386, boot og se resultatet af MEM. Slet REM igen, boot og<br />
se MEM. Summen af upper memory + XMS er konstant!