• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi – 15/02/2006

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova Pratica di Laboratorio di Sistemi Operativi – 15/02/2006"

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi – 15/02/2006

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 – (15 punti)

Scrivere un programma C che prese in input da riga comando il pathname di molteplici FIFO (almeno 1, numero imprecisato) metta in output tutto cio' che arriva da qualsiasi di esse.

Il programma non deve usare fork ma una chiamata a scelta fra select o poll.

Esercizio 2 – (10 punti)

Scrivere un programma in linguaggio C che attivi un programma e stia in attesa, se per qualche motivo il programma controllato termina lo deve lanciare nuovamente.

e.g.

respawn mydeamond -a -b -c

attiva mydaemond con i parametri indicati, se mydaemond termina viene rilanciato nello stesso modo. (Hint usare wait o meglio waitpid).

Esercizio 2b - (+5 punti)

Mostrare il motivo della terminazione del processo.

Esercizio 3 – (15 punti)

Svolgere lo stesso compito dell'esercizio 2 con uno script BASH. Si chiede che lo script controlli ogni 10 secondi la presenza del processo da ps, se non esiste piu' lo deve riattivare.

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

Consegnare lo 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

PROVAPRATICA, i nomi dei file in attachment devono contenere il vostro cognome (per evitare confusioni in fase di

correzione). INOLTRE:

Riferimenti

Documenti correlati

deve creare il file 'file1' recuperando il contenuto dal file generato da myt2 dell'esercizio1 Esercizio 3: Script bash o Python: (10 punti):. Il comando che dovrete implementare

Quindi il programma “dovrebbe” stampare una riga di log per ogni file o directory creata o cancellata in tutto il sottoalbero che ha nella directory-base la radice.. Nota:

Il risultato del programma, stampato su standard output, deve essere un solo numero intero: la somma del numero di caratteri presenti nelle n-me colonne di tutti i file regolari,

Il risultato del programma, stampato su standard output, deve essere un solo numero intero: la somma del numero di caratteri presenti nelle n-me righe di tutti i file regolari,

l'ouput significa che se contiamo tutti i caratteri contenuti nella prima riga di tutti i file in mydir otteniamo 234 (mydir/file1 puo' avere 40 caratteri nella prima riga,

L'informazione deve essere trovata scandendo la directory proc, infatti ad ogni processo attivo corrisponde una directory in /proc che ha come nome il numero del processo (ad esempio

Lo script o il programma python prende il nome di una directory come parametro e deve listare i file nella directory che hanno un file corrispondente con nome scritto al contrario

Creare uno script o un programma python in grado di creare file con contenuti casuali e sequenze di byte nulli: l'eseguibile risultante deve avere un numero variabile di parametri,