ePerTutti


Appunti, Tesina di, appunto elettronica

La gestione della memoria

ricerca 1
ricerca 2

La gestione della memoria


Un PC dispone (o può disporre) di vari tipi di memoria.

Una memoria convenzionale, fino a 640 kbyte, che costituisce l'area di lavoro primaria in cui normalmente 'girano' i programmi sviluppati sotto DOS e in cui normalmente si installa la parte residente del sistema operativo stesso.

Una memoria estesa, nel senso che dal punto di vista della sua organizzazione costituisce un'estensione di quella convenzionale, disponibile solo su macchine che montano un microprocessore dall'S0286 in su. Un programma deve essere appositamente progettato, per poterla utilizzare.

Una memoria espansa, che è organizzativamente, fisicamente e logicamente separata dalle prime due e viene 'vista' in blocchi da 16 kbyte solo da particolari programmi applicativi.

Una memoria superiore, 384 kbyte fra il limite superiore della memoria convenzionale e l'inizio (eventuale) di quella estesa, normalmente usata dal DOS per la gestione dell'hardware (in particolare del video), ma mai completamente utilizzata; le parti inutilizzate della memoria superiore sono chiamate UMB (Upper Memory Block: blocchi di memoria superiore).



La memoria espansa costituisce il primo tentativo di superare il limite progettuale di 1MByte scelto inizialmente per i Personal Computer. Il limite era dovuto inizialmente al primo microprocessore utilizzato (8086-8088) che all'accensione cominciava a elaborare le istruzioni a partire dall'alto della memoria: ciò imponeva al BIOS di risiedere nella pane alta della memoria. La posizione del BIOS imponeva una 'barriera' all'espansione della memoria utilizzata da programmi con necessità di grandi disponibilità di memoria. La prima soluzione è stata quella di aggiungere 'in parallelo' una memoria detta appunto memoria espansa. La gestione ditale memoria avviene con particolari driver interni ai programmi che la utilizzano. A partire dalla versione 5.0 del DOS esiste un simulatore di memoria espansa EMM386.EXE che utilizza la memoria estesa per tale funzione: è da usare per programmi che utilizzano la memoria espansa quando si dispone invece di memoria estesa.



In ogni caso esiste sempre la 'barriera' del BIOS che anche nel caso di memoria estesa impedisce di fatto l'espansione diretta dei programmi con grandi necessità di spazi. Il problema è stato superato solo recentemente con l'introduzione di microprocessore dal 80486 e del sistema operativo Windows '95 che consente il bootstrap a partire dalla parte bassa della memoria.

Il DOS 6.2 dispone di un device driver HIMEM.SYS che è un gestore della memoria

estesa con varie funzioni:


permette anzitutto ai programmi che richiedono tale tipo di memoria di accedervi

senza conflitti l'uno con l'altro;

permette di installare il DOS quasi completamente nella memoria estesa, liberando il più possibile la memoria convenzionale per il funzionamento dei programmi applicativi. Nella memoria estesa possono anche essere installati dischi virtuali e programmi per la velocizzazione dell'accesso ai dischi (SMARTDRIVE.SYS).

Su macchine dall'80386 in su, in connessione con il simulatore di memoria espansa

EMM386.EXE:

permette di usare parte della memoria superiore per installarvi alcuni programmi residenti, liberando ulteriormente la memoria convenzionale;

permette di simulare la memoria espansa tramite la memoria estesa, velocizzando ulteriormente l'uso di programmi che traggono vantaggio dall'esistenza della memoria espansa.





Privacy

© ePerTutti.com : tutti i diritti riservati
:::::
Condizioni Generali - Invia - Contatta