Ylempi muistialue ( UMA ), ylemmät muistilohkot ( UMB ), epävirallisesti ylempi muisti - 384 kilotavua muistia , joka sijaitsee päämuistin jälkeen osoitteissa A0000 16 (640 KB) - FFFFF 16 (1024 KB, 1 MB). IBM PC -yhteensopivien arkkitehtuurien ominaisuus .
IBM varasi IBM PC -tietokoneensa ylemmän muistialueen emolevylle ja lisävarusteena saataville ROM- ja RAM -muistille sekä Memory-Mapped Input/Output I/O-porteille. Tätä muistialuetta kutsutaan UMA:ksi ja se sijaitsee osoitteiden A0000 16 (640 KB) ja FFFFF 16 (1 MB) välissä.
Tämä muistialue sisältää esimerkiksi EGA -yhteensopivan näytönohjaimen RAM- ja ROM-muistin sekä laajennetun muistin näyttöikkunan .
Ylempi muisti on ehdollisesti jaettu kolmeen 128 kt:n alueeseen. Oletusarvoinen ylämuistin varaus näyttää tältä:
Todellisessa järjestelmässä kaikkea varattua muistialuetta (UMA) ei ole varattu. Tietokoneet, joissa on 80386-prosessori tai uudempi, pystyvät yhdistämään lisämuistia vapaille UMA-alueille. Näin muodostuu ylempiä muistilohkoja (Upper Memory Block, UMB), jotka voidaan sijoittaa käyttöjärjestelmän ohjaukseen ja jakaa sovellusten välillä.
MS-DOS 5.0 ja uudemmat versiot tukevat UMB-ohjausta. Tätä varten se sisältää HIMEM.SYS- ja EMM386.EXE-ajurit (joiden avulla UMA:ssa näkyy lisämuistia virtuaalisessa 8086-tilassados=umb ) sekä komennot , devicehighja loadhigh. Voit yhdistää ylimääräisen muistin UMA:han ja ottaa UMB-hallintaominaisuudet käyttöön lisäämällä seuraavat rivit CONFIG.SYS -tiedostoon :
laite=HIMEM.SYS laite=EMM386.EXE NOEMS dos=UMB devicehigh = ... (tämä ohjain ladataan UMB:hen)Siellä oli myös ohjaimia UMB -todellisen varjo - RAM -muistin kartoittamiseksi piirisarjan ominaisuuksien avulla [1] [2] .
Resident-ohjelmat voidaan ladata UMB:hen käyttämällä loadhigh. Kaikki sovellukset eivät kuitenkaan toimi oikein, kun ne ladataan UMB:hen.
Lisäksi mikä tahansa sovellus voi itsenäisesti siirtää itsensä tai osan tiedoistaan UMB:hen käyttämällä DOS 58xx -toimintoa.
Koska sovellus voi kuluttaa käynnistyksen aikana enemmän muistia kuin sen pysyvä osa, DOS varaa tyypillisesti suurimman lohkokoon. [3] Tämän seurauksena UMA on erittäin pirstoutunut, ja vaikka vapaan muistin kokonaismäärä lohkoissa olisi suurempi kuin on tarpeen, sovellus ei välttämättä mahdu mihinkään vapaaseen lohkoon. UMA:n optimaalista täyttämistä varten tulee valita ajurien ja pysyvästi olevien ohjelmien latausjärjestys ja käyttää komentojen devicehighja loadhigh(jolla voit määrittää, missä lohkossa ohjelma ladataan) laajennettua syntaksia.
Englanti sana . ylempi käännetään yleensä venäjäksi "ylhäältä" ("sijaitsee ylhäällä" [4] ), mutta sana korkea voidaan kääntää myös "yläksi" (tai "korkeaksi" - "sijaitsee ylhäällä" [5] ) . Tähän liittyy monia epätarkkuuksia käännettäessä nimiä Upper Memory Area (Upper Memory Block) ja High Memory Area .
Tämän seurauksena alkuperäisiä englanninkielisiä kirjoitusasuja UMB ja HMA käytetään edelleen venäjänkielisessä kirjallisuudessa (lyhenne UMA ei käytännössä juurtunut).
Lisäksi devicehighja -komennot loadhigh, huolimatta nimessä olevasta sanasta high, lataavat ohjelmia UMB:hen, eivät HMA:han. DOS käyttää HMA:ta vain ytimen lataamiseen (jos käytetään komentoa dos=hightai dos=high,umb).