PDA

View Full Version : Gestione Ram Ms-DOS


stefynoallaseconda
20-11-2007, 12:55
Salve a tutti, volevo una considerazione di carattere tecnico:

-Come avviene la gestione della Ram sotto ambiente Dos?
O meglio, le applicazioni sono allocate solo in maniera contigua o si utilizzano
tecniche più moderne quali paginazione ecc.?

bgpop
20-11-2007, 15:06
Non credo che MS-DOS fornisse la paginazione, se non ricordo male per via di sue limitazioni divideva la memoria in 3 aree, quella convenzionale (i famigerati primi 640K), alta (da 640k a c.a 1MB), e estesa (tutto il resto).
I normali programmi, che non facevano uso di sistemi di accesso alla memoria estesa (solitament efornita dal driver himem.sys), erano limitati ai primi 640k.
Credo che la paginazione sia stata introdotta con i sistemi operativi windows (non so se da 3.1 o da 95, di sicuro la famiglia NT lo supportava)

stefynoallaseconda
20-11-2007, 17:18
quindi diciamo che il dos riservava alle applicazioni 640kb?
E dunque, anche avendo a disposizione un 'infinità di ram, quello era il tetto massimo?

bgpop
21-11-2007, 22:59
Dipende da come veniva scritta l'applicazione.Per accedere a quantitativi maggiori di memoria (oltre 1MB), veniva usato un extender (per esempio nei videogiochi).

tangerinedream
22-11-2007, 00:00
Dipende da come veniva scritta l'applicazione.Per accedere a quantitativi maggiori di memoria (oltre 1MB), veniva usato un extender (per esempio nei videogiochi).

Quoto. Se l'applicazione non supporta la memoria espansa (ho vaghi ricordi di un emm386 che emulava la memoria estesa come espansa) l'unica memoria che viene vista è quella in real mode, obbero la convenzionale 640K.
Ai tempi avevo messo tutto in memoria alta con LH/L:... nell'autoexec per liberare quella di base... che sbattimento!!! Però così facendo ho risolto tutti i problemini... :D

Non credo che MS-DOS fornisse la paginazione, se non ricordo male per via di sue limitazioni divideva la memoria in 3 aree, quella convenzionale (i famigerati primi 640K), alta (da 640k a c.a 1MB), e estesa (tutto il resto).
I normali programmi, che non facevano uso di sistemi di accesso alla memoria estesa (solitament efornita dal driver himem.sys), erano limitati ai primi 640k.
Credo che la paginazione sia stata introdotta con i sistemi operativi windows (non so se da 3.1 o da 95, di sicuro la famiglia NT lo supportava)

La paginazione DOS già la faceva, e anche la segmentazione (in protected mode)...
Volevo precisare che c'erano la memoria espansa e la memoria estesa, gestite rispettivamente da EMS e XMS... fino al 386 dovevi spostare i jumper sulla mobo per assegnare i banchi all'una o all'altra... :eek: