Corso di Laurea in Informatica Applicata – La Spezia

5 Aprile  2005

Sistemi Operativi – Prima  prova intermedia

 


 

 ESERCIZIO n. 1

Cos'è una corsa critica?

ESERCIZIO n. 2
Si scriva in pseudo-C (o in altro pseudo-codice) l'algoritmo di Peterson per la mutua esclusione

ESERCIZIO n. 3
Descrivere l'algoritmo di  schedulazione di Windows 2000

ESERCIZIO n.  4
(a) Spiegare il significato delle chiamate di sistema fork ed exec di UNIX.
(b) Per ciascuna di esse dare una condizione che ne causa il fallimento.

ESERCIZIO n. 5
Spiegare il funzionamento dei meccanismi hardware e del nucleo del sistema operativo per l'invocazione delle system call.

ESERCIZIO n. 6
Dei seguenti elementi dire quali sono condivisi tra thread di uno stesso processo e quali invece sono privati:
a)    File aperti
b)    Spazio di indirizzamento
c)    Stack
d)    Program Counter
Dire inoltre se esistono dei meccanismi che permettono ai thread di proteggere gli eventuali elementi privati da altri thread dello stesso processo. In caso affermativo spiegare quali sono tali meccanismi, in caso negativo spiegare perché non esistono.

ESERCIZIO n. 7
Si consideri il problema di servire una sequenza di richieste di lettura di blocchi utilizzando un file server con singolo thread di controllo (FA) e un file server multithreaded (FB). Se il blocco si trova nel buffer cache, il tempo necessario per acquisire la richiesta, processarla e servirla è di 15ms. Se il blocco non si trova nella cache sono necessari ulteriori 70 ms per accedere al disco.
Supponendo che 1/5 delle richieste di lettura provochi un cache miss, calcolare quante richieste al secondo possono essere processate da FA e da FB.


ESERCIZIO n. 8
Dato il seguente stato dei processi A, B, C, D, E dire quali processi sono in stallo. Motivare la risposta.

Risorse esistenti: [8,3,6,7]

                        Risorse Assegnate                    Risorse necessarie
                           R1  R2  R3  R4                           R1  R2  R3  R4
Processo A        2     0     0     4                                2     0     2     3
Processo B        2     1     2     1                                0     2     1     1
Processo C        0     0     1     1                                2     1     0     1
Processo D        1     0     2     1                                0     1     1     0
Processo E        1     2     0     0                                2     0     1     0


ESERCIZIO n. 9
In base a quali criteri viene scelta la durata del quanto in  un sistema di schedulazione round-robin classico?


ESERCIZIO n. 10
Discutere una tecnica per prevenire lo stallo eliminando la condizione di serialità (o mutua esclusione).