Felső memóriaterület

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2013. március 14-én felülvizsgált verziótól ; az ellenőrzések 18 szerkesztést igényelnek .

Felső memóriaterület ( UMA ), felső memóriablokkok ( UMB ), informálisan felső memória  - 384 kilobájt memória , a fő memória után található, A0000 16 (640 KB) és FFFFF 16 (1024 KB, 1 MB) címeken. IBM PC-kompatibilis architektúrák jellemzői .

Leírás

Az IBM az IBM PC számítógépének felső memóriaterületét az alaplapnak és a kiegészítő ROM -nak és RAM -nak, valamint a Memory-Mapped Input/Output I/O portoknak tartotta fenn. Ezt a memóriaterületet UMA-nak hívják, és az A0000 16 (640 KB) és az FFFFF 16 (1 MB) címek között található.

Ez a memóriaterület például egy EGA -kompatibilis videoadapter RAM-ját és ROM-ját, valamint a bővített memória kijelzőablakát tartalmazza .

A felső memória feltételesen három, egyenként 128 KB-os területre van felosztva. Az alapértelmezett felső memóriakiosztás így néz ki:

Használat

Valós rendszerben a lefoglalt memóriaterület (UMA) nincs lefoglalva. A 80386 -os vagy magasabb processzorral rendelkező számítógépek további memóriát képezhetnek a szabad UMA területekhez. Így felső memóriablokkok (Upper Memory Block, UMB) keletkeznek, amelyek az OS irányítása alá helyezhetők és az alkalmazások között szétoszthatók.

Az MS-DOS 5.0 és újabb verziói támogatják az UMB vezérlést. Ehhez tartalmazza a HIMEM.SYS és EMM386.EXE illesztőprogramokat (amelyek segítségével további memória jelenik meg az UMA -n virtuális 8086 módbandos=umb ) és a , devicehighés parancsokat loadhigh. Az extra memória UMA-hoz való leképezéséhez és az UMB-kezelési szolgáltatások engedélyezéséhez adja hozzá a következő sorokat a CONFIG.SYS fájlhoz :

device=HIMEM.SYS device=EMM386.EXE NOEMS dos=UMB devicehigh = ... (ez az illesztőprogram betöltődik az UMB-be)

Voltak olyan illesztőprogramok is, amelyek az UMB valós módú árnyék - RAM -ot leképezték a lapkakészlet szolgáltatásaival [1] [2] .

A rezidens programok a segítségével tölthetők fel az UMB-re loadhigh. Azonban nem minden alkalmazás működik megfelelően, ha betöltik az UMB-be.

Ezen túlmenően bármely alkalmazás képes önállóan átvinni magát vagy egyes adatait az UMB-be a DOS 58xx funkció segítségével.

Mivel egy alkalmazás a rendszerindításkor több memóriát foglalhat el, mint a rezidens része, a DOS általában maximális blokkméretet foglal le. [3] Ennek eredményeként az UMA erősen töredezett, és még ha a blokkokban lévő szabad memória teljes mennyisége nagyobb is a szükségesnél, előfordulhat, hogy az alkalmazás nem fér bele egyetlen szabad blokkba sem. Az UMA optimális kitöltéséhez ki kell választani az illesztőprogramok és a rezidens programok betöltési sorrendjét és a parancsok kiterjesztett szintaxisát devicehighés loadhigh(melyekkel megadható, hogy melyik blokkban kell betölteni a programot) használni.

Névzavar

angol szó .  a felsőt általában „felső”-nek fordítják oroszra („tetején található” [4] ), de a magas szót „felsőnek” is fordítják (vagy „magas” - „felül található” [5] ) . Ehhez sok pontatlanság társul a Felső memóriaterület (Felső memóriablokk) és a Magas memóriaterület nevek fordítása során .

Ennek eredményeként az eredeti angol nyelvű UMB és HMA írásmód továbbra is használatos az orosz nyelvű irodalomban (az UMA rövidítés gyakorlatilag nem honosodott meg).

Ezenkívül a devicehighés parancsok loadhigh, annak ellenére, hogy a névben szerepel a high szó, az UMB-be töltik be a programokat, nem a HMA-ba. A DOS csak a HMA-t használja a kernel betöltésére (ha a dos=highvagy parancsot használjuk dos=high,umb).

Jegyzetek

  1. UMBPCI – hardveres UMB-illesztőprogram DOS-hoz és Win95-höz . Letöltve: 2014. december 10. Az eredetiből archiválva : 2014. december 31..
  2. A /scene96-2/misc/utilz/rdosumb indexe . Letöltve: 2014. december 10. Az eredetiből archiválva : 2014. december 11..
  3. ↑ Az .EXE fájlok fejlécében mezők találhatók, amelyek megadják a minimális és maximális memóriaigényt; a program betöltésekor a DOS kiválasztja a legnagyobb blokkot, amelynek mérete e két érték közé esik. De általában a maximális memória mezőben van egy érték, amely az összes rendelkezésre álló memória lefoglalását jelzi, és ebben az esetben a DOS nem korlátozza a lefoglalt blokkok méretét. A .COM fájlok nem rendelkeznek fejléccel, ezért ebben a formátumban a maximális programmemória blokkra vonatkozó követelmény magába foglalja.
  4. felső  (elérhetetlen link) (2016. 06. 14.  óta nem elérhető link [2323 nap]) a Yandex.szótárakban
  5. magas  (nem elérhető link)  (nem elérhető link 2016. 06. 14. óta [2323 nap]) a Yandex.szótárakban