[OS] - esercizio memoria multivello

marioz87
Ciao a tutti, posto un problema di sistemi operativi e la soluzione che vi ho dato..se qualcuno per cortesia può darci un'occhiata ed eventualmente correggere...grazie :)

Testo:

Si consideri una memoria paginata a 2 livelli, di dimensione pari a 256MB, indirizzata al byte e composta da 1024 pagine.

Quali sono le dimensioni della memoria logica, dell'indirizzo logico e di una pagina?

Quali sono le dimensioni della memoria fisica, dell'indirizzo fisico e di un frame?

Sol:

- Memoria Logica

Presumo che memoria logica sia quella definita dal problema. Essa peserà dunque 256 MB e sarà composta da 1024 pagine. quindi abbiamo 2^28 / 2^10=2^18 = 256KB la grandezza di una pagina. OFFSET -> 18 bit.

L'indirizzo logico essendo la memoria di 256 MB sarà di 28 bit.

Essendo la paginazione a 2 livelli, devo dividere i restanti 10 bit per l'indicizzazione delle tabelle delle pagine. Poichè in memoria ho 1024 pagine, ci saranno 2 livelli da 32 pagine (32x32=1024), ciascuna individuabile da 5 bit. quindi l'indirizzo logico sarà:

5 5 18

- Memoria fisica

Un frame ha la stessa dimensione di una pagina. quindi un frame peserà anch'esso 256 KB, nell'indirizzo 18 bit di offset.

ciascuna delle 1024 pagine delle memoria virtuale contiene 32 "riferimenti" a frame. quindi moltiplico 1024 x 32 = 32768 = 2^33 = 8 GB.

Quindi l'indirizzo fisico sarà di 33 bit. Di cui 18 destinati all'offset e i rimanenti 15 al n. frame.

15 18

Risposte
marioz87
Nessuno mi sa dire? :(

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.