COGNOME NOME 27 giugno 2006 ________________________________ Sistemi Operativi e Distribuiti MATRICOLA 4 1) Esercizio Si consideri un sistema a memoria virtuale composto da 4 PAGINE VIRTUALI e 3 FRAME FISICI. Data la seguente stringa di riferimento: 1 2 3 2 1 2 4 2 3 2 4 2 Si calcoli il rendimento dell’ algoritmo di rimpiazzamento delle pagine LFU (Least Frequently Used) LFU 1 F OTTIMALE 1 F 2 1 F 2 1 F 3 2 1 F 3 2 1 F 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 4 2 1 F 3 2 4 F 4 2 1 3 2 4 3 2 1 F 3 2 4 3 2 1 3 2 4 3 2 4 F 3 2 4 3 2 4 3 2 4 RENDIMENTO = 4/6
2) Domanda Il candidato illustri le system call per l’accesso ai file a basso livello Le system call per accesso a file a basso livello si occupano di dare al programmatore l’astrazione dei dati da blocchi a byte­stream e per farlo svolgono 4 operazioni fondamentali: open(filename); close(fileID); read(fileID, buffer, size); write(fileID, buffer, size); seek(fileID, pos); ­ apre il file (crea un descrittore interno) ­ chiude il file (dealloca le strutture in memoria se necessario) ­ legge size byte da un file ­ scrive size byte in un file ­ la prossima lettura sarà effettuata dalla posizione pos Dove filename è un riferimento per rintracciare un descrittore di file esterno, fileID è un riferimento ad un descrittore di file interno, buffer una zona di memoria per il transito dei dati e gli altri parametri sono degli interi. [pagina 316] 3) Domanda il candidato illustri scopo (contestualizzandolo) e funzionamento della system call trap Una system call trap è un messaggio asincrono (trap) che un processo chiede al sistema operativo di mandare alla CPU. La system call trap viene mandata alla CPU quando un processo tenta di eseguire il codice relativo ad una system call; tipicamente le operazioni svolte da una system call hanno bisogno di essere eseguite in modalità privilegiata dalla CPU (modalità kernel). Quando il processore riceve una TRAP passa in modalità kernel, interrompe il processo in esecuzione ed esegue il codice relativo alla system call richiesta tramite interrogazione della trap table. Nel momento in cui la funzione della system call termina viene ripristinata l’esecuzione del processo chiamante ad il processore torna a funzionare in modalità utente. [pagina 49] Per rispondere alle domande e risolvere gli esercizi presenti su questo foglio utilizzare SOLO questo foglio (fronte e retro) COGNOME NOME 27 giugno 2006 ________________________________ MATRICOLA 4 Sistemi Operativi e Distribuiti 4) Esercizio Il candidato soddisfi le seguenti richieste di lettura da disco usando le seguenti strategie di servizio del disco: Shortest­Seek­Time­First, Look, Circular Scan. Il disco è composto da 400 tracce (0­399). La testina si trova inizialmente sulla traccia 350. Il costo lo consideriamo proporzionale solo al numero di tracce da passare (3 volte il numero di tracce che la testina deve passare per raggiungere la traccia da servire). Il costo della operazione di homing è 100. La sequenza da servire è: 12 234 76 380 X 100 50 280 124 8 X sono le ultime due cifre della vostra matricola 5) Domanda Il candidato disegni il grafo di modelizzazione processi­risorse che rappresenti la seguente situazione: ­ quattro processi (P0, P1, P2, P3) ­ due risorse di tipo stampante (equivalenti tra di loro) ­ tre risorse di tipo processore (equivalenti tra di loro) ­ il processo P0 ha richiesto e acquisito una risorsa processore ­ il processo P1 ha richiesto una risorsa stampante, dopo avere acquisito due risorse processore ­ il processo P2 ha richiesto una risorsa stampante ­ il processo P3 ha acquisito due risorse di tipo stampante, e sta richiedendo una risorsa di tipo processore Il candidato commenti il grafo così ottenuto dicendo se rappresenta una situazione di deadlock e perchè.
Per rispondere alle domande e risolvere gli esercizi presenti su questo foglio utilizzare SOLO questo foglio (fronte e retro) 
Scarica

Sistemi Operativi e Distribuiti