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 ?