Page Fault: algoritmo ottimale Clicca QUI per vedere il messaggio nel forum |
xSharKMaNx |
Ciao ragazzi,
qualcuno mi potrebbe spiegare l'algoritmo ottimale?
Non capisco esattamente quando andare a sostituire la pagina...
L'algoritmo ottimale ci dice: sostituisci la pagina che verrà
referenziata dopo molto tempo
http://img268.imageshack.us/img268/7436/algopt.jpg
Allora mi viene un dubbio:
Nella colonna 7 abbiamo: 0 - 1 - 4
dove il 4 è stato sostituito con il 3
Nella colonna 10 abbiamo: 2 - 1 - 4
dove il 2 è stato sostituito con lo 0
A questo punto il mio dubbio è, perchè nella colonna 7
invece di modificare il 3 con il 4 non abbiamo modificato lo 0 con il
4 ?
Grazie
Dani |
LG2100 |
Nella colonna 7 abbiamo
Lo 0 che verrà referenziato dopo 1 istante
L'1 che verrà referenziato dopo 2 istanti
e il 3 che verrà referenziato dopo 4 istanti
L'algoritmo ci dice dunque di sostituire quello che verrà referenziato dopo (cioè il 3). Se così non avessimo fatto, quindi se per esempio avessimo modificato lo 0 con il 4 avremmo avuto un altro page fault immediatamente dopo, e dunque avremmo ottenuto
code:
------------------------------------
4 | 0 | 1 | 2 | 3 | 4 |
------------------------------------
4 | 0 | NO | 0 | NO | 4 |
1 | 1 | | 2 | | 2 |
3 | 3 | | 3 | | 3 |
------------------------------------
PF | PF | | PF | | PF |
che totalizza 4 page fault, per un totale di un page fault in più rispetto all'algoritmo ottimo
nella colonna 10 abbiamo sostituito lo 0 perchè non sarà più referenziato. |
xSharKMaNx |
Gentilissimo come sempre LG.
Ti ringrazio
Ero talmente distratto che non stavo controllando la riga 1 bensì controllavo dalla 2 alla 4. |
|
|
|