ARCHITETTURA DI SISTEMI OPERATIVI
28 Febbraio 2000
1. Realizzare il seguente grafo di precedenza con i costrutti cobegin-coend
1
2. In un sistema UNIX cosa produce il comando mv /home/pippo /usr/pluto? Come viene
effettivamente realizzato? Questa funzione è indipendente dalla appartenenza dei due pathname a
file system differenti?
3. Che cosa produce il comando ls ab?*.c[134-6]|wc? Ed il comando ls –l \
/dev|grep ^c|wc?
4. Implementazione di un monitor sveglia
5. Implementare uno shell script che produca il seguente output:
1
23
456
7 8 9 10
……
e che si interrompa (opzionale: dopo aver stampato una riga completa) quando l’utente digita
CTRL-C.
6. Implementare un programma awk che prenda come input l’output dello shell script precedente e
produca in uscita la media dei valori presenti in ciascuna colonna del file.
PROGETTO DI SISTEMI OPERATIVI
28 Febbraio 2000
Si implementi in linguaggio C un programma che realizzi un centralino aziendale con le seguenti
caratteristiche:
 può servire al massimo 10 comunicazioni contemporaneamente
 può servire al massimo 5 comunicazioni in entrata contemporaneamente
 può servire al massimo 5 comunicazioni in uscita contemporaneamente
Il padre, che si comporta da centralino, crea N figli corrispondenti agli utenti interni ed M figli
corrispondenti agli utenti esterni.
Ciascun utente interno aspetta un numero A (random) di secondi e poi effettua una chiamata per un
utente esterno (1-M random) della durata di D (random) secondi. La stessa cosa avviene per gli utenti
esterni che chiamano gli interni.
La chiamata deve essere realizzata creando una apposita pipe che sarà utilizzata dai due processi per
scambiarsi il proprio pid e sarà distrutta alla fine di ogni chiamata.
Il processo chiamante produce in output una riga contenente tutte le informazioni utili a verificare la
correttezza del programma: il proprio pid, il numero del destinatario, il pid che il destinatario gli
restituisce come contenuto della chiamata.
Il processo centralino produce in output ogni 15 minuti la statistica del traffico in ingresso ed in uscita
in termini di numero totale di chiamate e loro durata media.
PROGETTO DI SISTEMI OPERATIVI
28 Febbraio 2000
1. Data la seguente stringa di riferimenti a pagina: 1234531154323345241345 calcolare il demand
point per la strategia Page Fault Frequency con parametro di controllo C=3.
2. Illustrare le caratteristiche ed il tipico uso della system call popen.
3. Descrivere il funzionamento della crittografia a chiave pubblica? Come vengono scelte le chiavi?
4. Quali link sono previsti per il file system di Unix. Elencare vantaggi, svantaggi e limitazioni
conosciuti.