[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


257. Dos: gestione della memoria centrale

Quando è nato il Dos non si prevedeva l'uso di memoria centrale oltre il singolo Mbyte. In base a questa considerazione veniva articolata l'architettura hardware degli elaboratori «XT» e poi «AT», dove si prevedeva l'uso di un massimo di 640 Kbyte di memoria centrale, riservando la parte successiva, fino alla fine del Mbyte, per la memoria video e altri dispositivi fisici.

In questo senso, il Dos tradizionale può operare con un massimo di 640 Kbyte di memoria centrale; per sfruttarne di più occorrono degli accorgimenti non facili da applicare.

257.1 Gestione particolare

Per sfruttare la memoria oltre il primo Mbyte, si fa uso normalmente di due programmi, avviati attraverso `CONFIG.SYS', prima ancora dell'interprete di comandi. Si tratta di `HIMEM.SYS' e di `EMM386.EXE'. In generale, le cose si fanno nel modo seguente:

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE

Il primo dei due programmi può essere utilizzato a partire da architetture i286, mentre il secondo si può inserire solo a partire da architetture i386.

`HIMEM.SYS' è in grado di utilizzare solo una piccola parte di memoria aggiuntiva, mentre `EMM386.EXE' permette teoricamente di sfruttare tutto il resto.

In generale, è molto difficile la gestione ottimale della memoria centrale, perché le applicazioni si comportano in maniera differente. Di solito si possono solo fare dei tentativi.

257.2 Comandi appositi

Per sfruttare la memoria centrale che supera la soglia convenzionale, sono disponibili alcuni comandi specifici. In generale, si comincia dalla configurazione con il file `CONFIG.SYS': dopo l'attivazione dei gestori speciali della memoria, è possibile indicare di collocare parte dell'interprete dei comandi e dello spazio richiesto dai programmi residenti in memoria, oltre il limite della memoria convenzionale:

DOS=HIGH,UMB

In seguito, sempre nell'ambito del file `CONFIG.SYS', si può richiedere esplicitamente l'avvio di programmi nella memoria alta attraverso la direttiva `DEVICEHIGH', come si vede nell'esempio seguente:

DEVICEHIGH=C:\MOUSE\MOUSE.SYS /2

Per quanto riguarda i programmi avviati attraverso l'interprete dei comandi, è disponibile il comando `LH', ovvero `LOADHIGH':

LH <programma> [<argomenti-del-programma>]

LOADHIGH <programma> [<argomenti-del-programma>]

Per esempio, si potrebbe tentare di avviare in questo modo il programma di gestione della tastiera:

C:\>LH KEYB IT

257.3 Verifica

Il Dos offre un solo programma molto semplice per la verifica dell'utilizzo della memoria: `MEM'.

MEM [<opzioni>]

Se `MEM' viene usato senza opzioni, visualizza brevemente la quantità di memoria utilizzata rispetto al totale disponibile. È interessante l'opzione `/CLASSIFY', attraverso la quale è possibile distinguere l'utilizzo della memoria da parte dei programmi residenti; inoltre è interessante l'opzione `/FREE', con cui si hanno informazioni dettagliate sulla memoria libera.

Le opzioni disponibili del comando `MEM' variano molto da una realizzazione all'altra. In generale conviene verificare prima di utilizzarlo, per conoscere le possibilità effettive.

---------------------------

Appunti Linux 2000.04.12 --- Copyright © 1997-2000 Daniele Giacomini --  daniele @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]