Corso di Laurea in Informatica Applicata – La Spezia

16 Giugno 2003

Sistemi Operativi

 Prova Scritta

 

PRIMA PARTE

 

1. In che cosa differisce una system call da una ordinaria chiamata di libreria ?


2. Nell’ambito della comunicazione tra processi introdurre i semafori e descrivere le operazioni che vengono effettuate su di essi.


3. Presentare un algoritmo (in C o pseudo-codice) che risolva il problema produttore/consumatore usando i semafori.


4. Cinque lavori batch, indicati con le lettere da A ad E,  arrivano al calcolatore approssimativamente allo stesso istante. I processi hanno un tempo di esecuzione di 8, 10, 2, 4 e 8 minuti, rispettivamente, mentre le loro priorita’ (determinate esternamente) sono 2, 4, 5, 1 e 3 (dove 5 rappresenta la massima priorita’). Per ognuno dei seguenti algoritmi di schedulazione determinare il tempo di tornaround (tempo medio di completamento).

 

a)      Round Robin (2 min)

b)      Schedulazione a priorita’

c)      FCFS

d)      SJF

 

Si ignori l’overhead dovuto al cambio di contesto. Nel caso (a) si assuma che il sistema sia multiprogrammato. Negli altri casi si assuma che solo un lavoro alla volta venga mandato in esecuzione fino al completamento.


5. Si considerei un sistema costituito da tre processi, in cui l’unico tipo di risorsa disponibile sia rappresentato da 12 unita’ a nastro. Utilizzando l’algoritmo del banchiere si stabilisca quando gli stati seguenti sono sicuri o non sicuri. Se uno stato e’ sicuro, si mostri secondo quale ordine i processi possono essere terminati.

 

Stato 1:

Processo n.

Risorse allocate

Risorse max

P0

1

4

P1

4

6

P2

5

8

Risorse disponibili

2

 

 

Stato 2:

Processo n.

Risorse allocate

Risorse max

P0

8

10

P1

2

5

P2

1

3

Risorse disponibili

1

 

Se uno stato e’ sicuro il sistema puo’ comunque evolvere, a partire da quello stato, verso uno stato non sicuro.

A partire dallo Stato1, si supponga che a P2 sia assegnata una ulteriore istanza dell’unica risorsa disponibile. Lo stato ottenuto e’ sicuro?


SECONDA PARTE

6. Si consideri una memoria centrale gestita con il metodo delle partizioni multiple. Sono presenti 5 aree libere di dimensione  100K, 500K, 200K, 300K, 600K (elencate in ordine di indirizzo crescente). Si consideri una sequenza di quattro processi, P1, P2, P3 e P4, che necessitano, rispettivamente, di 212K, 417K, 112K, 426K, e si descriva come vengono allocati in memoria dagli algoritmi First-fit, Best-fit e Worst-fit. Si confrontino le situazioni risultanti.  A quanti KB ammonta  nei  tre casi la frammentazione interna?


7. Descrivere l’algoritmo di sostituzione di pagine WSClock (algoritmo dell’orologio basato sul Working Set)

 

8. Un disco possiede 5000 cilindri numerati da 0 a 4999. Il driver del disco sta attualmente servendo una richiesta al cilindro 153. La coda di richieste in attesa in ordine FIFO e’:

 

85, 1470, 913, 1774, 948, 130

 

Qual e’ la distanza totale (indicata in cilindri) che deve percorrere il braccio del disco per soddisfare tutte le richieste in attesa, per ciascuno dei seguenti algoritmi di scheduling?

 

a)      First-Come First-Served

b)      Shortest Seek First

c)      Ascensore (a salire)

d)      Ascensore con topologia circolare (a salire)


9. Come viene verificata la consistenza di directories e  files  in Unix e Windows ?

 

10. Si descrivano gli aspetti principali della struttura di NTFS.