Corso di Laurea in Informatica Applicata – La Spezia

27 Giugno2005

Sistemi Operativi

Prova Scritta


1. Spiegare il funzionamento della system call linux per la creazione di threads a seconda del valore 0 o 1 del parametro VM_CLONE.

2. Quali delle seguenti istruzioni assembler:

    1. TRAP (o, equivalentemente, SVC: Supervisor Call)

    2. MOV RB ADDR e MOV RL ADDR (Scrittura di un indirizzo nel registro base e nel registro limite)

    3. Test and Set Lock (TSL)

sono permesse solo in modo supervisore? Motivare la risposta.

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


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


5. Si supponga che il processo A richieda l’ultimo lettore di nastro. Così facendo si arriva in una situazione di stallo?


Processo

Lettore di nastro

Plotter

Stampante

Perforatore di nastro

A

3

0

1

1

B

0

1

0

0

C

0

1

0

0

D

1

1

0

1

E

0

0

0

0



Processo

Lettore di nastro

Plotter

Stampante

Perforatore di nastro

A

1

1

0

0

B

0

1

1

2

C

3

1

0

0

D

0

0

1

0

E

2

1

1

0

La prima tabella indica le risorse assegnate mentre la seconda le risorse ancora da chiedere. Le risorse ancora assegnabili sono R=(1 0 2 0), cioè sono ancora disponibili: 1 lettore di nastro, 0 plotter, 2 stampanti e 0 perforatrici.


6. Supponendo di dover rimpiazzare una pagina di memoria tra quelle indicate in tabella, quale sceglierebbero le seguenti strategie?

a) Clock algorithm

b) FIFO

c) LRU


Pagina

Tempo Caricamento

Ultimo riferimento

Bit di uso


1

126

279

0

2

230

260

1

3

120

272

1

4

160

280

1


7. Molte volte la prima parte di ogni file UNIX e’ tenuta nello stesso blocco del disco del suo i-node. Quali sono i vantaggi di questa scelta?


8. Dato un file system NTFS con blocchi di dimensione 4KB, e il seguente MTF record del file Pippo, individuare i blocchi fisici nei quali sono contenuti i seguenti byte del file A:

1. 58710

2. 5822

3. 33313




9. Descrivere l’organizzazione di un sistema di tabelle di pagine a due livelli.

Quante pagine devono risiedere contemporaneamente in memoria? (Motivare la risposta)


10. Descrivere l’Error reporting nel software di I/O indipendente dai dispositivi.