Esercizio Sistemi Operativi

Pdw57
Salve a tutti!

Sto preparando l'esame di sistemi operativi ma non riesco proprio a capire come risolvere questo esercizio..

Qualcuno mi può aiutare? (esercizio nr°1)

http://www.di.unipi.it/~bonucce/Compito ... Finale.pdf

grazie

Risposte
apatriarca
C'è la soluzione in quel PDF.. Che cosa non capisci?

Pdw57
"apatriarca":
C'è la soluzione in quel PDF.. Che cosa non capisci?


si c'è la soluzione nuda e cruda..è il procedimento con cui si arriva alla soluzione che non capisco..come avviene la traduzione (so la teoria )

apatriarca
Non ho mai fatto un esame di sistemi operativi in realtà, ma da quello che so direi che i primi 4 bit rappresentano l'indice nella tabella di primo livello e i successivi quattro l'indice nella tabella di secondo livello a cui sei stato riindirizzato dalla tabella di primo livello. Gli ultimi 8 bit rappresentano invece la posizione nella pagina. Per cui nel primo caso hai 1110 come indice nella prima tabella. Per cui accedi alla tabella con indirizzo 11111110. In questa vai a guardare l'indirizzo all'indice 1110 che è 01101110 (che è diverso da zero). Esiste quindi la pagina corrispondente e vai a sostituire i primi 8 bit dell'indirizzo con quelli corrispondenti alla pagina ottenendo 0110 1110 1000 1101. Nel terzo caso facendo la stessa cosa si arriva a zero come indirizzo di pagina e quindi hai un errore di paginazione.

Pdw57
"apatriarca":
Non ho mai fatto un esame di sistemi operativi in realtà, ma da quello che so direi che i primi 4 bit rappresentano l'indice nella tabella di primo livello e i successivi quattro l'indice nella tabella di secondo livello a cui sei stato riindirizzato dalla tabella di primo livello. Gli ultimi 8 bit rappresentano invece la posizione nella pagina. Per cui nel primo caso hai 1110 come indice nella prima tabella. Per cui accedi alla tabella con indirizzo 11111110. In questa vai a guardare l'indirizzo all'indice 1110 che è 01101110 (che è diverso da zero). Esiste quindi la pagina corrispondente e vai a sostituire i primi 8 bit dell'indirizzo con quelli corrispondenti alla pagina ottenendo 0110 1110 1000 1101. Nel terzo caso facendo la stessa cosa si arriva a zero come indirizzo di pagina e quindi hai un errore di paginazione.


intanto grazie per la risposta! vediamo se ho capito..

nel secondo caso guardo i primi 4 bit ovvero 1100 nella tabella di 1° livello
accedo alla tabello con indirizzo 11111100
poi cosa succede?

apatriarca
Poi guardi i successivi 4 bit e questi sono l'indice da prendere nella seconda tabella (quella con indirizzo 11111100). A questo punto otterrai un indirizzo che rappresentano il primo byte di ogni indirizzo della pagina che ti interessa.

Pdw57
"apatriarca":
Poi guardi i successivi 4 bit e questi sono l'indice da prendere nella seconda tabella (quella con indirizzo 11111100). A questo punto otterrai un indirizzo che rappresentano il primo byte di ogni indirizzo della pagina che ti interessa.


allora io guardo nella seconda tabella e arrivo ad avere 1001 1111 (che resta lo stesso) poi gli ultimi 8 bit come li gestisco? dove devo andare a vedere? nella soluzione vede che gli ultimi 8 bit sono 1001 1000..

apatriarca
Devi prendere gli ultimi 8 bit dell'indirizzo originale

Pdw57
"apatriarca":
Devi prendere gli ultimi 8 bit dell'indirizzo originale


abbi pazienza ma non capisco cosa devo farci con gli ultimi 8 bit :( :(

apatriarca
L'indirizzo finale in memoria è composto da 16 bit. I primi 8 sono quelli della pagina che ottieni dalle tabella e i restanti 8 sono quelli già presenti nell'indirizzo logico.

Pdw57
"apatriarca":
L'indirizzo finale in memoria è composto da 16 bit. I primi 8 sono quelli della pagina che ottieni dalle tabella e i restanti 8 sono quelli già presenti nell'indirizzo logico.


ma detto così gli ultimi 8 bit non dovrebbero cambiare invece nella soluzione sono diversi! (o sbaglio io il ragionamento? :? )

apatriarca
E infatti dovrebbe essere così. In tutti gli altri casi è in effetti così. Credo possa essere un errore in quel particolare punto dell'esercizio.

Pdw57
"apatriarca":
E infatti dovrebbe essere così. In tutti gli altri casi è in effetti così. Credo possa essere un errore in quel particolare punto dell'esercizio.


hai ragione l'ho notato ora! evidentemente il prof ha sbagliato nella correzione!

grazi per l'aiuto :)

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