Corso di Laurea in Informatica Applicata – La Spezia

19 Maggio 2003

Sistemi Operativi – Seconda  prova intermedia



1. A cosa servono le tabelle bdevsw e cdevsw di UNIX e cosa contengono ?

2. Un floppy disk ha 40 cilindri. Il il tempo di spostamento tra del braccio tra un cilindro e il suo vicino (seek time) e'  7 ms, il tempo di rotazione (rotation time) del dischetto e' 220 ms e il tempo di trasferimento di un settore e' 20 ms.

a) Quanto tempo e' necessario per leggere un file costituito da 20 blocchi (ciascun  blocco e' di un settore)  e memorizzato in modo che blocchi logicamente contigui nel file distino mediamente 12 cilindri l'uno dall'altro sul dischetto ?
b) Quanto tempo e' necessario per leggere un file costituito da 100 blocchi (ciascun  blocco e' di un settore)  e memorizzato in modo che blocchi logicamente contigui nel file distino mediamente 2 cilindri l'uno dall'altro sul dischetto ?
c) Quanto tempo e' necessario per leggere un file costituito da 10 blocchi (ciascun  blocco e' di due settori contigui)  e memorizzato in modo che blocchi logicamente contigui nel file distino mediamente 12 cilindri l'uno dall'altro sul dischetto ?


3. In Windows 2000 quali sono le possibili categorie di page fault e come vengono gestite  dal sistema operativo?

4. A cosa serve l' algoritmo PFF e come viene  applicato al controllo del carico ?

5. Facendo riferimento a una ambiente di gestione memoria con paginazione su richiesta, si consideri un processo caratterizzato dalla sequente stringa di riferimenti a pagina:

                1 0 3 5 6 9 1 19 15 18 9 15 1 3 5 1 9 19 9 3

Al processo sono  assegnate 5 pagine  fisiche. Supponendo un regime iniziale di paginazione pura, si calcoli il numero di errori di pagina (page-fault), utilizzando come algoritmo di sostituzione di pagine
a)      LRU
b)      FIFO

6. Descrivere il meccanismo della gestione della block cache nel file system di un sistema operativo.  A cosa serve il commando sync di UNIX ?

7. Nei file fistem utilizzanti free list e' possible tenere in memoria fisica solo un blocco di puntatori  alla volta. In alcune situazioni cio' porta ad I/O intensivo ma non necessario su disco.  Descrivere il problema e discutere una soluzione.

8. Consideriamo il caso di scrittura di una stringa sulla stampante (senza spooling) usando I/O gestito ad interrupt attraverso chiamata di sistema bloccante.  Scrivere il codice eseguito in seguito all chiamata di sistema di stampa e la corrispondente procedura di servizio all'interrupt  (usare pseudo-C o altro meta-linquaggio) e commentarli.

9. In computer moderno l'indirizzamento virtuale e' a 32 bit.
a) Considerando una dimensione di pagina di 4KB, quanti entry ha la tabella delle pagine di un singolo processo ?
b) Elencare le  soluzioni HW e SW  che vengono utilizzate per gestire le tabelle delle pagine.

10. Quali sono le principali tecniche  che vengono utilizzate per accellerare la ricerca nelle directories ?