Corso di Laurea in Informatica Applicata – La Spezia

15 Settembre 2003

Sistemi Operativi

 Prova Scritta

PRIMA PARTE

 

1. Cosa sono e a cosa servono  i semafori ? Con quali primitive vengono gestiti?


2. Si consideri la seguente variante del problema produttore-consumatore:

 

In un sistema sono presenti n produttori e un consumatore. Ogni produttore produce  oggetti di tipo diverso dagli altri produttori. Il consumatore decide di volta in volta che tipo di oggetto vuole consumare. Proporre uno schema di sincronizzazione tra produttori e consumatore utilizzando i semafori e supponendo che ogni produttore abbia  a disposizione un buffer ad una posizione.


3. Dire quali delle seguenti operazioni possono essere permesse in modalità utente:

a)      Disabilitazione delle interruzioni.

b)      Invio di un comando ad un dispositivo.

c)      Invocazione di una system call.

Motivare le risposte.

 

4. Discutere i tre casi che causano l’attivazione della schedulazione in Windows 2000


5. Si consideri la seguente situazione in un sistema:

 

Risorse Allocate

Processo

Dischi

Nastri

Scanner

CD

A

3

2

0

1

B

0

4

2

1

C

4

2

1

1

D

2

0

0

4

E

1

0

3

2

 

 

Richieste massime

Processo

Dischi

Nastri

Scanner

CD

A

8

6

0

2

B

5

4

2

10

C

4

2

4

3

D

2

4

0

4

E

1

3

4

2

 

 

Risorse disponibili

Dischi

Nastri

Scanner

CD

0

4

2

1

 

Utilizzando l’algoritmo del banchiere,  specificare quali delle seguenti richieste possono essere soddisfatte (cioe’ se dopo che la richiesta viene soddisfatta il sistema sia in uno stato sicuro):

a)      C chiede uno scanner

b)      A chiede due nastri


 

SECONDA PARTE

 

6. In un sistema a memoria virtuale occorre scegliere tra le seguenti

pagine quale fare uscire dalla memoria centrale:

Pagina
Entrata
Riferita
R
M

0

 126

280

1

0

1

 230

265

0

1

2
 140
270
0
0

3

110

285

1

1

 

Quale pagina sceglie ciascuno dei seguenti algoritmi?

a)      FIFO

b)      LRU

c)      NRU

 

7. Che differenza c’e’ in UNIX tra la tabella dei descrittori di file aperti (open file description table) e la tabella di descrittori dei file (file description table) di un processo?


8. Calcolare  la dimensione ottimale di pagina di memori in un S.O. basato su memoria virtuale in modo da minimizzare  la frammentazione interna.

 

9. Descrivere i due metodi piu’ usati per tenere traccia dei blocchi liberi in file system.


10. Quali sono i principali passi che un interrupt handler deve fare a seguito del completamento di un interrupt hardware ?