[OS] - esercizio memoria multivello
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

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
Nessuno mi sa dire?
