Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2008-2009 Esercitazione Università di Salerno Memoria virtuale 1. Si assuma che un processo abbia m frames (inizialmente tutti vuoti) a disposizione e che una stringa di riferimanto alle pagine di tale processo sia lunga p e coinvolga n distinte pagine. a) Quale é un lower bound sul numero di page fault? b) Quale é un upper bound sul numero di page fault?
esercitazione 2 2. La memoria virtuale di un calcolatore é divisa in pagine di 512 byte. Dati i seguenti frammenti di programma in linguaggio C: int x[32][128]; int r,c;.. for (r=0; r<32; r++) for (c=0; c<128; c++) x[r][c]=0; int x[32][128]; int r,c;.. for (c=0; c<128; c++) for (r=0; r<32; r++) x[r][c]=0; dire quanti page fault vengono generati nell ipotesi che: - per i dati vengano usati 8 page frame, inizialmente non allocati; - i dati di tipo int occupino 4 byte; - la matrice sia memorizzata per righe in modo contiguo e compatto; - gli unici dati allocati in memoria paginata siamo gli elementi della matrice; - si adotti una politica di sostituzione locale delle pagine LRU.
esercitazione 3 3. Supponiamo che il sistema di paginazione usato dal S.O. assegni 3 frame da 512B a ciascun processo e che l algoritmo di sostituzione delle pagine sia LRU. Si consideri il seguente programma... #define N 512 int A[N]; int i,j;... for(i=0; j<n/2; i++) A[i] = A[2*i] + A[N-i-1]; 1) se la dimensione di un intero 4B, qual il numero di page faults? 2) In tal caso, se il tempo medio di servizio di un page fault di 25 millisecondi (25 10 3 sec) ed il tempo di accesso alla memoria di 100 microsecondi (100 10 6 sec), qual il tempo di accesso medio della paginazione su richiesta?
esercitazione 4 4. Si consideri la seguente stringa di riferimento a pagine: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 quanti page fault avvengono in accordo agli algoritmi sottoelencati ed assumedo che siano assegnati 1,2,3,4,5,6, o 7 frame? Si assuma che tutti i frame sono inizialmente vuoti. - FIFO - LRU - OTTIMALE
esercitazione 5 5. Si consideri un sistema in cui la tabella delle pagine di un processo pu avere al massimo 256entry. Unindirizzofisicogeneratodalsistema éscrittosu16bitelaramésuddivisa in 128 frame. a) Quanto é grande lo spazio di indirizzamento logico del sistema? b) Quale dei seguenti indirizzi esadecimali NON é certamente un indirizzo fisico o logico corretto per il sistema sopra descritto? Indirizzi fisici Indirizzi logici FFFF 20000 1FFF 1000F 1000F FFFF 00000 2FFF c) Nelle tabelle delle pagine di questo sistema deve essere presente il bit di validitá? d) Quanto spazio occupa al massimo la tabella delle pagine di un processo di questo sistema, se il sistema usa l algoritmo della seconda chance migliorato?
esercitazione 6 6. In un sistema la RAM ha un tempo di acceso di 1 microsec. Se il sistema adotta la paginazione della memoria (ma non implementa la memoria virtuale), con le tabelle delle pagine mantenute in RAM, ed un TLB con Hit Ratio del 90% e tempo di accesso di 0,1 microsec., quale é l EAT (Effective Access Time) del sistema?
esercitazione 7 7. Si supponga che vi vengano offerte le seguenti memorie aventi lo stesso prezzo e la medesima dimensione: a) Una memoria centrale con TLB che ha le seguenti caratteristiche: - Hit Ratio = 70% - Tempo di accesso alla TLB = 10 ns - Tempo di accesso alla memoria = 100 ns b) Una memoria centrale senza TLB con un tempo di accesso di 125 ns. 1. Quale delle due memorie in offerta acquistereste? Giustificare la risposta. 2. Cambierebbe la vostra risposta se lhit Ratio fosse pari all80%?
esercitazione 8 8. Il working set di un processo W(t, ), e linsieme delle pagine referenziate dal processo nellintervallo di tempo [t, t]. Si studi l andamento dell algoritmo basato su working set W(t, ) con = 5 per la seguente stringa di riferimento alle pagine di memoria e si determini la minima e la massima dimensione del w.s. 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 4, 5, 6, 4, 5, 6, 4, 5, 6
esercitazione 9 9. Si considerino tre processi (A, B e C), che hanno rispettivamente 3, 3 e 4 pagine logiche caricate in altrettante pagine fisiche della memoria. Per ogni pagina, listante di tempo dellultimo riferimento riassunto dalla seguente tabella: processo frame istante ultimo riferimento A 0 10 A 2 2 A 4 13 B 1 3 B 9 12 B 8 5 C 7 8 C 3 11 C 6 6 C 5 4 Si supponga inoltre che non siano rimaste pagine libere in memoria. Dire quale pagina verrebbe rimossa dallalgoritmo di sostituzione se allistante 14 avviene un page fault: a) causato da C, e il gestore della memoria utilizza lalgoritmo di sostituzione LRU b) causato da B, e il gestore utilizza lalgoritmo di sostituzione LRU c) causato da C, e il gestore utilizza lalgoritmo di sostituzione Working Set con parametro di anzianit 8 d) causato da B, e il gestore utilizza lalgoritmo di sostituzione Working Set con parametro di anzianit 8