Esercizio Sistemi Operativi
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
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
C'è la soluzione in quel PDF.. Che cosa non capisci?
"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 )
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.
"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?
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.
"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..
Devi prendere gli ultimi 8 bit dell'indirizzo originale
"apatriarca":
Devi prendere gli ultimi 8 bit dell'indirizzo originale
abbi pazienza ma non capisco cosa devo farci con gli ultimi 8 bit


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.
"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?

E infatti dovrebbe essere così. In tutti gli altri casi è in effetti così. Credo possa essere un errore in quel particolare punto dell'esercizio.
"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
