• Non ci sono risultati.

Esame di Laboratorio di Sistemi Operativi – 6/09/2004

N/A
N/A
Protected

Academic year: 2021

Condividi "Esame di Laboratorio di Sistemi Operativi – 6/09/2004"

Copied!
1
0
0

Testo completo

(1)

Esame di Laboratorio di Sistemi Operativi – 6/09/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 (“Pachinko”) (24 punti) (*)

Scrivete un programma che crei un albero binario di processi di altezza N. Si noti che il processo "padre originale" non fa parte dell'albero. Ad ognuno dei nodi foglia viene associato un valore numerico, scelto casualmente fra 0 e 1000.

Il processo padre genera un segnale, che spedisce al suo unico figlio. I processi dell'albero si comportano nel modo seguente:

nodi non foglia: aspettano un segnale dal genitore e inoltrano il segnale ad uno dei loro figlio, scelto casualmente nodi foglia: stampano un messaggio che dice "hai vinto la quantità x!", dove x è il valore associato al nodo. Dopo di che, inviano un segnale di "risposta" al loro genitore, che viene propagato fino al nodo padre.

Una volta ricevuto il segnale di risposta, il nodo padre riprende a giocare da capo.

Esercizio 2 ("Grep a tre lettere") (8 punti)

Scrivere uno script che prende in input (da linea di comando) una stringa e una lista di file; lo script deve

riportare il numero di occorrenze di tutte le sottosequenze di tre lettere della stringa nei file cercati. Ad esempio,

se la stringa cercata è windows, lo script deve riportare un output del tipo:

win

7

ind

12

ndo

13

dow

14

ows

5

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-3, i nomi dei file in attachment devono contenere il vostro cognome (per evitare confusioni in fase di correzione).

INOLTRE:

Se volete sottoporvi alla discussione, lasciate aperta la vostra sessione (incluso il vostro editor) e lasciate il laboratorio. Verrete richiamati uno alla volta per discutere il vostro elaborato.

(*) Per avere un'idea di cosa sia il Pachinko, date un'occhiata a http://www.japan-guide.com/e/e2065.html (non durante il compito!). Se andate in Giappone, andate in una sala Pachinko e date un'occhiata agli alienati che la frequentano. Al ritorno, i giocatori di video-poker vi sembreranno laureati al MIT....

Riferimenti

Documenti correlati

• Usiamo il comando condizionale e quello che abbiamo imparato sulle funzioni per costruire una pagina che:. – proponga una lista di siti numerati

comparirà una console JavaScript con un’indicazione più precisa dell’errore (e’ anche possibile impostarla automaticamente dalle preferenze). La console ci permette di eseguire

[r]

[r]

[r]

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

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:

Scrivere uno script che stampi su stdout una serie di righe di tabella html, una per data, contenente una colonna per la data, una colonna per il compito di concorrenza e una