Corso di Laurea in Informatica Applicata – La Spezia

Sistemi Operativi

Prova Scritta 28 Maggio 2002

1 Discutere le problematiche di progetto per i sistemi a scambio di messaggi (Message Passing Systems)

2 Presentare un algoritmo (in C o pseudo-codice) che risolva il problema Produttore-Consumatore basato su scambio di messaggi.

3. Qual'è la strategia di scheduling adottata da Windows 2000?

Supponiamo che il quanto di tempo sia di 20ms e che un thread T1 a priorità 12 sia appena passato in esecuzione supponiamo inoltre che immediatamente dopo un thread T2 anch'esso a priorità 12 termini una lettura da terminale. Quanto deve attendere T2 prima passare in esecuzione?

 

4. Si considerino 7 job che arrivano in sequenza ad un sistema batch, con tempi di esecuzione rispettivamente di 10, 14, 23, 6, 27, 30, 11 (in minuti). Si schedulino i job in ordine FIFO (First In First Out -- cioe' in ordine di arrivo) e SJF (Shortest Job First), e si valuti il tempo di turnaround e il throughput.

5. Elencare le condizioni necessarie affinché si verifichi lo stallo, e motivare la risposta.

6. Un tipico descrittore di pagina contiene, oltre al numero identificativo della pagina fisica, anche alcuni bit quali: Modificata, Riferita, Cache disabilitata, Presente/assente. Spiegare come e a che scopo questi bit vengono utilizzati dal gestore della memoria.

7. Quante operazioni di disco sono necessarie per cercare l’i-node del file /usr/ast/courses/os/handout.t? Supponi che l’i-node della directory radice sia in memoria, ma che non sia in memoria nessun altro elemento presente nel cammino. Supponi inoltre che tutte le directory stiano in un blocco di disco.

8. Descrivere l'algoritmo per la gestione della memoria Buddy di Linux

9. Descrivere le tecniche di buffering nei device drivers e i loro vantaggi.

10. Che pendenza di cilindro è necessaria per un disco a 7200 giri al minuto, con un tempo di posizionamento da traccia a traccia di 1 msec? Il disco ha 200 settori di 512 byte l’uno su ogni traccia.