Nella gestione della memoria nei sistemi DOS, l'area di memoria superiore (in inglese upper memory area, UMA) è la memoria situata tra gli indirizzi di 640 KB e 1024 KB (0xA0000–0xFFFFF) in un PC compatibile IBM.

L'area di memoria superiore è posizionata tra i 640 KB e i 1024 KB.

Questa memoria superiore, comprensiva di 384 kilobyte dedicati al sistema operativo, era raramente utilizzata totalmente, così il gestore della memoria rendeva disponibili le aree inutilizzate che si aggiungevano alla memoria convenzionale (i primi 640 KB). Queste aree sono dette blocchi di memoria superiore.[1]

Spazio di memoria riservato modifica

La IBM riservò la regione superiore della memoria del PC, sopra la memoria convenzionale, per la ROM e per la RAM per l'I/O delle periferiche.[2] Questa regione è chiamata UMA e si colloca tra i 640 kB e il 1 MB, limite massimo indirizzabile per il processore Intel 8088. Ad esempio, l'area per il video monocromo è compresa tra B000 e B7FF[non chiaro].

Comunque, alcuni spazi di questi 384 kB erano inutilizzati, ad esempio c'era un banco di 64 kB riservato per il gestore di memoria espansa. Nella maggior parte dei PC, lo spazio tra C800 e EFFF è inutilizzato. Gli spazi inutilizzati vennero detti Upper memory blocks (UMB) e si cercò un modo per sfruttarli per liberare memoria convenzionale, quando questa iniziò ad essere insufficiente per i programmi dell'epoca.

DR-DOS modifica

Con la versione 5.0 di DR-DOS, uscita nel 1990, fu disponibile il gestore di memoria espansa, EMM386, che compieva la maggior parte delle operazioni di QEMM.

Il kernel di DR-DOS e i suoi componenti potevano essere allocati nella memoria superiore, lasciando virtualmente tutta la memoria convenzionale libera, dai 620 ai 640 KB.

La configurazione non era automatica, i blocchi UMB liberi dovevano essere identificati a mano, EMM386 doveva essere scritto nel file CONFIG.SYS, e bisognava scegliere i driver da caricare nella memoria alta.

MS DOS modifica

Questa funzionalità fu copiata dalla Microsoft con la versione 5.0 di MS-DOS 5.0, pubblicata a giugno del 1991.

Nei primi anni 1990, l'ottimizzazione manuale della memoria del DOS richiedeva conoscenze alte. La tecnica era quella di creare più blocchi UMB possibili e quindi identificare quali componenti DOS caricare in questi UMB.

Multitasking modifica

Con l'uso di un multitasker DOS, come il Quarterdeck DESQview, potevano essere lanciate più sessioni, ognuna con 600 KB di memoria libera.[senza fonte]

Windows modifica

La popolarità di Windows 3.0 rese questo problema[non chiaro] irrilevante, visto che le applicazioni Windows non soffrivano dei limiti di memoria DOS.[senza fonte]

Memoria superiore e RAM nascosta modifica

Su molti sistemi, compresi quelli più moderni, è possibile utilizzare la memoria riservata per la ROM nascosta[non chiaro] come memoria superiore. Molti chipset si riservano 384 KB di RAM a questo scopo.

Memoria superiore sui IBM XT modifica

Sui computer IBM XT era possibile aggiungere memoria alla scheda madre e utilizzare una PROM per farla vedere come ulteriore upper memory area [1].

Note modifica

  1. ^ Glossario dell'informatica, termine - UMB, su infocorsi.org. URL consultato il 3 dicembre 2023.
  2. ^ Memory Map (x86) - OSDev Wiki, su wiki.osdev.org. URL consultato il 20 dicembre 2020.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica