Ø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 .
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:
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.
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).