Esercizio esame scritto Clicca QUI per vedere il messaggio nel forum |
Vagabond |
Qualcuno saprebbe spiegarmi come si risolvono gli esercizi del tipo:
In un sistema paginato con tabelle delle pagine a due livelli entrambe residenti in memoria centrale senza TLB, qual è il massimo numero di accessi a memoria necessari per eseguire un'istruzione del tipo SW $7, LOC (dove $7 è un registro di CPU e LOC è una locazione di memoria), assumendo l'assenza di page fault?
Oppure esercizi dove bisogna sempre dare il numero di accessi ma riferito a quanti accessi sono necessari per accedere ad un dato path.
Come si risolvono? |
Cronovirus |
Per il primo esercizio credo che gli accessi siano 3 (scusami ma sono un po' arrugginito, non prendere per certo quello che ti dico):
1) accedi alla tabella di primo livello che ti da l'indirizzo fisico della tabella di secondo livello
2) accedi alla tabella di secondo livello che ti da l'indirizzo fisico di base di LOC
3) fai la sw di $7 in LOC
Per il secondo esercizio dipende dal file system, di solito allo scritto di capita quello con gli i-node ma all'orale ho sentito che chiedeva anche di risolvere path con FAT per esempio, tu a quale ti riferisci? |
Vagabond |
Credo con gli inode, perchè se non mi sbaglio parlava di UNIX, però non mi ricordo di preciso il testo dell'esercizio. |
Cronovirus |
Per quell'esercizio guarda la videolezione del 27 aprile 2012 prima parte (su virtualclassroom), il punto esatto è 1 ora e 7 minuti!
Se poi non ti è ancora chiaro riscrivi qui che ne riparliamo |
Vagabond |
Già è più chiaro ora, grazie!
Ma quindi, se ho capito bene, per accedere ad esempio a /usr/ast/mbox come nella videolezione sono 2 accessi per /usr (inode e blocco), idem per /ast e 1 per /mbox (solo l'inode perchè mi serviva solo trovare il file), quindi in totale 5. Oppure sto sbagliando tutto? |
Cronovirus |
Allora:
1) L'i-node di root è già caricato in memoria, che ti dice che l'i-node relativo alla directory usr è il numero 6
2) accedi all'i-node 6 che ti dice che il contenuto è nel blocco 132
3) accedi al blocco 132 (che è la directory usr) che ti dice che l'i-node corrispondente a ast è il 26
4) accedi all'inode 26 e ti manda al blocco 406
5) il blocco 206 (che è la directory /usr/ast) ti dice che l'i-node corrispondente a mbox è il 60
6)accedi all'inode 60 che ti rimanda al blocco X -> il file lo trovi nel blocco non nell'inode (che invece contiene tutte le informazioni riguardo al file)
Quindi secondo me sono 6 se vuoi accedere al file, 5 se vuoi arrivare solo al blocco che contiene il file |
|
|
|