• Non ci sono risultati.

Esame di Laboratorio di Sistemi Operativi – 27/01/2004

N/A
N/A
Protected

Academic year: 2021

Condividi "Esame di Laboratorio di Sistemi Operativi – 27/01/2004"

Copied!
1
0
0

Testo completo

(1)

Esame di Laboratorio di Sistemi Operativi – 27/01/2004

Esercizio 0 (“Se copiate, vi caccio”)

Rendete la vostra directory home inaccessibile ad altri utenti (sia in lettura che in esecuzione). Rimuovete tutti i file che vi appartengono dalla directory /public.

Esercizio 1 (“Di nuovo alberi!”) a) 18 punti

Scrivete un programma così organizzato. Un processo progenitore genera un albero binario di processi (i.e., il progenitore ha due figli, ognuno di questi due figli ha due figli, e così via. La profondità dell'albero è N. Scegliete un N piccolo, tipo 3 o 4.

b) 8 punti

I processi foglia (quelli che non hanno figli) generano un numero casuale fra 1 e 10 e lo comunicano al loro processo padre. Il processi intermedi ricevono i dati dai loro processi figli, li sommano assieme e spediscono il risultato al loro processo padre. Il processo progenitore non fa nulla.

Tutti i processi devono stampare esaurientemente la loro attività: chi sono, la loro posizione nell'albero (tipo: liv. 2 – destra), cosa ricevono e cosa inviano.

c) 4 punti

Una volta ottenuto il risultato, il processo genitore lo comunica a tutti i processi sottostanti.

Risolvete l'esercizio tramite PIPE.

Esercizio 2 (“Finto tripwire”) (6 punti)

Scrivete uno script che prende in input da linea di comando il path di due directory, che si suppone abbiano lo stesso contenuto (suggerimento per fare test: copiate una directory in un'altra), e verifichi se sono stati modificati dei file (ad esempio, uno è più aggiornato dell'altro). Stampare le eventuali differenze.

Esercizio 3 (“Consegnate! E’ ora!”):

Consegnare gli script e il sorgente del programma C, in attachment separati, entro il tempo a disposizione, via e-mail a:

montreso chiocciola cs.unibo.it o renzo chiocciola cs.unibo.it. Il subject del mail deve essere uguale a LSO- PROVAPRATICA-7, i nomi dei file in attachment devono contenere il vostro cognome (per evitare confusioni in fase di correzione).

Riferimenti

Documenti correlati

Scrivete uno script chiamato dfind-<vostrocognome>, che prende in input da linea di comando una lista di directory e cerca se in una qualsiasi di queste directory esistono

a) (6 punti) Scrivere uno script che prende in input da linea di comando il path di una directory, e per ogni file contenuto nella directory effettua la seguente trasformazione:

Completare l'esercizio precedente, facendo in modo che la partita termini non appena un processo raggiunge i 15 punti (un punto per ogni volta che l'altro processo difende il

Il processo P N attende di ricevere un valore da P N-1 , lo confronta con il proprio, e stampa il valore massimo tra i due (corrispondente al massimo assoluto). Nota: al fine

fig contenuto in <dir>, convertire tale file in due file con estensione .eps e .pdf, solo se tali file non esistono oppure sono meno recenti del file <file>.fig. •

Ad ogni turno di gioco, ognuno dei processi giocatori (i) sceglie tra “carta, forbice e sasso” (ii) stampa la propria scelta (iii) comunica la propria scelta all’arbitro..

Tutti gli altri processi devono stampare il proprio identificatore, i valori ricevuti dai figli e la somma così ottenuta.. Risolvere il problema

Scrivere uno o più script (di qualunque tipo, shell, awk, etc.) che stampi (i) il voto medio delle persone con il cognome che inizia con A-L, sia per lo scritto che per il voto