Corso di Laurea in Informatica Applicata – La Spezia

Sistemi Operativi  Prova Scritta 6 Settembre 2004




PRIMA PARTE
1. In Unix quali strutture dati vengono utilizzate per la gestione dei processi ? Quali informazioni contengono ? Sono residenti in memoria ?

2. Quali criteri utilizza lo schedulatore della memoria di un sistema bach per portare i processi da disco in memoria?

3. Introdurre le tecniche di IPC basate su scambio di messaggi (message passing) e le relative problematiche.

4. Si scriva in pseudo-C (o in altro pseudo-codice) una soluzione corretta per il problema produttore-consumatore usando la tecnica di scambio di messaggi.


5. Si consideri un sistema con 5 tipi di risorse che si trova nello stato seguente:

                Risorse Allocate         Massima Richiesta

Processo P1     1 0 2 1 1                 1 1 2 1 3

Processo P2     1 1 1 1 0                 1 1 2 2 1

Processo P3     1 1 0 1 0                 2 1 3 1 0

Processo P4     2 0 1 1 0                 2 2 2 1 0


Con vettore delle risorse disponibili pari a [0 0 X 1 3]. Applicare l'algoritmo del banchiere per stabilire il valore piu' piccolo di X per cui lo stato è sicuro.

SECONDA PARTE

6. I registri di un controllore DMA sono programmati in modo da trasferire 300 parole dall'inizio del settore del disco 2030 in un buffer collocato all'indirizzo 304 in RAM. Supponiamo inoltre che il trasferimento di un settore dal disco nel buffer del controllore del disco costi mediamente 15ms e che il trasferimento di una parola sul bus costi 30 nanosecondi.

Calcolare il tempo necessario a completare l'operazione del DMA supponendo che il trasferimento avvenga prima nel buffer del controllore del disco all'unità DMA e poi in memoria, e che i ritardi dovuti all'acquisizione del bus e ad eventuali collisioni con altri dispositivi siano trascurabili.

Motivare la risposta.


7. In quali situazioni un sistema operativo deve paginare ?

8. Descrivere l'algoritmo Working Set.

9. Spiegare le principali caratteristiche che devono avere i drivers di Windows 2000 per essere conformi al Windows Driver Model.


10. Dato un file system FAT con blocchi di 4KB (4096 byte) e il seguente frammento di FAT, dire in quali blocchi fisici sono collocati i seguenti byte:
  1. byte 6758 del file che inizia al blocco 33
  2. byte 8192 del file che inizia al blocco 34
  3. byte 4094 del file che inizia al blocco 34
frammento di FAT :

blocco fisico     contenuto della FAT

....

30                     31

31                     37

32                     36

33                     32

34                     35

35                     30

36                     40

37                     41

...