Øvre hukommelsesområde

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 14. marts 2013; checks kræver 18 redigeringer .

Øvre hukommelsesområde ( UMA ), øvre hukommelsesblokke ( UMB ), uformelt øvre hukommelse  - 384 kilobyte hukommelse , placeret efter hovedhukommelsen på adresser fra A0000 16 (640 KB) til FFFFF 16 (1024 KB, 1 MB). Funktion af IBM PC-kompatible arkitekturer .

Beskrivelse

IBM reserverede det øvre hukommelsesområde på sin IBM PC-computer til bundkort og tilbehør ROM og RAM samt Memory-Mapped Input/Output I/O-porte. Dette hukommelsesområde kaldes UMA og er placeret mellem adresserne A0000 16 (640 KB) og FFFFF 16 (1 MB).

Dette hukommelsesområde indeholder f.eks. RAM og ROM fra en EGA -kompatibel videoadapter og visningsvinduet med udvidet hukommelse .

Den øvre hukommelse er betinget opdelt i tre områder på hver 128 KB. Standard tildelingen af ​​tophukommelse ser sådan ud:

Brug

I et rigtigt system er ikke hele det reserverede hukommelsesområde (UMA) allokeret. Computere med 80386-processoren og derover er i stand til at kortlægge yderligere hukommelse for at frigøre UMA-områder. Der dannes således øvre hukommelsesblokke (Upper Memory Block, UMB), som kan placeres under OS'ets kontrol og fordeles mellem applikationer.

MS-DOS 5.0 og nyere understøtter UMB-kontrol. For at gøre dette inkluderer den HIMEM.SYS- og EMM386.EXE-driverne (ved hjælp af hvilke yderligere hukommelse vises på UMA i virtuel 8086-tilstanddos=umb ) og kommandoerne , devicehighog loadhigh. For at tilknytte den ekstra hukommelse til UMA og aktivere UMB-administrationsfunktionerne skal du tilføje følgende linjer til filen CONFIG.SYS :

device=HIMEM.SYS enhed=EMM386.EXE NOEMS dos=UMB devicehigh = ... (denne driver vil blive indlæst i UMB)

Der var også drivere til at kortlægge UMB real-mode shadow RAM ved hjælp af chipset funktioner [1] [2] .

Resident-programmer kan uploades til UMB ved hjælp af loadhigh. Det er dog ikke alle applikationer, der fungerer korrekt, når de indlæses i UMB.

Derudover kan enhver applikation selvstændigt overføre sig selv eller nogle af sine data til UMB ved hjælp af DOS 58xx-funktionen.

Fordi en applikation kan optage mere hukommelse ved opstart end dens residente del, tildeler DOS typisk en maksimal blokstørrelse. [3] Som følge heraf er UMA meget fragmenteret, og selvom den samlede mængde ledig hukommelse i blokke er større end nødvendigt, kan applikationen muligvis ikke passe ind i nogen fri blok. For optimal udfyldning af UMA bør indlæsningsrækkefølgen for drivere og residente programmer vælges , og den udvidede syntaks for kommandoerne devicehighog loadhigh(med hvilken du kan angive, i hvilken blok programmet skal indlæses) bruges.

Navneforvirring

engelsk ord .  øvre er normalt oversat til russisk som "øvre" ("placeret øverst" [4] ), men ordet høj kan også oversættes til "øvre" (eller "høj" - "placeret øverst" [5] ) . Mange unøjagtigheder er forbundet med dette, når man oversætter navnene Upper Memory Area (Upper Memory Block) og High Memory Area .

Som et resultat bliver de originale engelske stavemåder UMB og HMA fortsat brugt i russisksproget litteratur (forkortelsen UMA slog praktisk talt ikke rod).

Derudover indlæser kommandoerne devicehighog loadhigh, på trods af ordet højt i navnet, programmer i UMB, ikke HMA. DOS bruger kun HMA til at indlæse sin kerne (hvis kommandoen dos=higheller bruges dos=high,umb).

Noter

  1. UMBPCI - en hardware UMB-driver til DOS og Win95 . Hentet 10. december 2014. Arkiveret fra originalen 31. december 2014.
  2. Indeks for /scene96-2/misc/utilz/rdosumb . Hentet 10. december 2014. Arkiveret fra originalen 11. december 2014.
  3. Der er felter i overskriften på .EXE- filer til at specificere minimum og maksimum anmodet hukommelse; når et program indlæses, vælger DOS den største blok, hvis størrelse er mellem disse to værdier. Men i feltet med maksimal hukommelse er der som regel en værdi, der angiver allokeringen af ​​al tilgængelig hukommelse, og i dette tilfælde begrænser DOS ikke størrelsen af ​​de tildelte blokke. .COM-filer har ikke en header, så kravet om en maksimal programhukommelsesblok i dette format er underforstået.
  4. øvre  (utilgængeligt link)  (utilgængeligt link siden 14/06/2016 [2323 dage]) i Yandex.dictionaries
  5. høj  (utilgængeligt link)  (utilgængeligt link siden 06/14/2016 [2323 dage]) i Yandex.dictionaries