.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi I (http://www.dsy.it/forum/forumdisplay.php?forumid=269)
-- eserc. tabella pagine multilivello ed es. sugli algoritmi di rimpiazzamento pagine (http://www.dsy.it/forum/showthread.php?threadid=43377)


Posted by programmer91 on 30-03-2013 21:25:

eserc. tabella pagine multilivello ed es. sugli algoritmi di rimpiazzamento pagine

non ho capito come si fanno questi 2 esercizi, qualcuno sa come si fanno? Se qualcuno ha magari dei link utili o insomma dei siti in cui trovare esempi di come risolvere questi es ne sarei grato...grazie..
es1(fatto a lezione ma non presente sulle slide):
In un sistema paginato con tabella delle pagine a 2 livelli, e tabelle di 1°livello e 2°livello contenenti fino a 16 elementi e dimensione delle pagine di 32 byte, l'indirizzo virtuale 594 come viene tradotto dal compilatore?

es2 (si trova nella lezione 6 pag 28):
Si consideri un processo di 460 byte, che durante la sua esecuzione referenzia istruzioni ai seguenti indirizzi: 10,11,104,170,73,309,185,245,246,434,458,364.
Il processo viene eseguito su un sistema in cui la memoria centrale ha dimensione 200 byte e le pagine hanno dimensione 100 byte. Quanti sono i page fault che l'esecuzione del sudetto processo genera in un sistema in cui vengono rispettivamente adottati gli algoritmi di rimpiazzamento pagine FIFO, LRU, e ottimale?


Posted by delca85 on 02-04-2013 14:25:

Provo a svolgere il primo problema, è molto probabile che ci siano errori nella soluzione che proporrò.
Sappiamo che sia la tabella di primo che di secondo livello hanno 16 elementi, sono quindi necessari 4 bit per indicizzare gli elementi di entrambe le tabelle. Inoltre, la dimensione delle pagine è di 32 Byte, che richiedono 5 bit negli indirizzi, di conseguenza, l'indirizzo logico è composto da 4 + 4 + 5 = 13 bit.
L'indirizzo logico 594, corrisponde alla pagina 18 e allo spiazzamento 18.
Scrivo 18 in notazione binaria e lo normalizzo a 8: 00010010.
I primi 4 bit (0001) dicono all'MMU di guardare nella tabella di primo livello in quale frame sia stata caricata la prima sottotabella. In quel frame, MMU cercherà l'elemento numero 2, che sarà quello che conterrà la pagina 18, grazie all'informazione degli ultimi 4 bit (0010).
Alla pagina 18, va aggiunto lo spiazzamento 18 per ottenere il dato desiderato.
L'indirizzo tradotto, quindi, secondo me è: <<1, 2>, 18>. In bit:
0001001010010

Per quanto riguarda il secondo problema, ti consiglio di vedere la videolezione del 20 marzo, parte 2, di sistemi operativi 2011/2012, in cui l'esercizio in questione viene svolto alla lavagna dal Professor Bruschi.


Posted by programmer91 on 03-04-2013 10:02:

grazie! ora provo a rifarlo come l'hai fatto tu e vedere se mi viene allo stesso modo, comunque per il secondo problema, ho già visto la videolezione a cui ti riferisci, dove fa quell'esercizio ma non spiega quasi nulla, infatti non ho capito cosa intende lui per accessi alla memoria, scrive una serie di numeri ma non ho capito se si riferisce al n° di volte che utlizza quella pagina contenente l'indirizzo oppure al n° di volte che la carica o scarica dalla memoria.....


Posted by delca85 on 03-04-2013 13:57:

Il secondo problema il prof lo risolve così:
1) traduce i vari indirizzi logici nelle pagine corrispondenti;
2) carica pagina per pagina a seconda dell'algoritmo utilizzato, tenendo conto dei page fault.

Abbastanza chiaro?


Posted by programmer91 on 06-04-2013 11:37:

Si credo che ora ho capito l'esercizio, ma con l'algoritmo ottimale a me vengono 6 page fault, nella videolezione dice che la risposta giusta è quella con 5 page fault...

pagine: 0,0,1,1,0,3,1,2,2,4,4,3
X X X X X X
ho segnato le pagine su cui c'è page fault usando l'algoritmo ottimale, a me sembra giusto così, tu che dici?


Posted by delca85 on 09-04-2013 13:52:

Perchè 6?
Allora page fault per il primo inserimento della pagina 0 e 1 (siamo a 2), alla richiesta di caricamento della pagina 3 ho un terzo pf e, poiché sto seguendo l'algoritmo ottimale, scarico la pagina 0, in memoria centrale ora ho le pagine 3 e 1. Per caricare la pagina 2, scarico la 1, che non userò più, mi ritrovo in memoria centrale le pagine 3 e 2 e i pf finora sono 4. Per caricare la pagina 4, scarico la 2, dato che è quella che userò più in là nel tempo (non mi verrà più richiesta) e questo è il quinto ed ultimo page fault.


Posted by programmer91 on 20-04-2013 13:43:

rispondo ora perchè ho avuto problemi con internet..
ho risolto anche l'ultimo esercizio quello in cui non mi venivano 5 page fault con l'algoritmo ottimale, ho fatto confusione con l'altro algoritmo l'LRU che sostituisce le pagine non usate recentemente e non avevo considerato il fatto delle pagine non più utilizzate in tutto l'intervallo di tempo, infatti ho sostituito la pagina 3 con la pagina 2 e dopo alla fine mi veniva quindi un altro page fault alla fine sulla 3°pagina.
Comunque ora ho capito, grazie!


All times are GMT. The time now is 00:36.
Show all 7 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.