• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi 22 luglio 2011

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova Pratica di Laboratorio di Sistemi Operativi 22 luglio 2011"

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi 22 luglio 2011

Esercizio 0 (“Se copiate, vi cacciamo”)

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 Linguaggio C (obbligatorio): (25 punti) Scrivere il programma lanciatutto che esegua in modo concorrente tutti i file “eseguibili” della directory corrente passando ad ognuno gli stessi parametri (quelli usati nell'invocazione di lanciatutto).

NB: eseguibili=che possono essere eseguiti, script o binari

modo concorrente=il programma attiva tutti un processo per ogni file eseguibile (senza aspettare che termini il precedente per lanciare il successivo).

Il programma deve terminare quando tutti i processi attivati sono terminati.

Nota importante: In tutti gli esercizi in C e' vietato l'uso delle funzioni di libreria “system” e “popen”.

Esercizio 2 Script bash o Python: (10 punti):

Siano date due sottoalberi del file system (il programma e' pensato per due versioni di una gerarchia sorgente).

Lo script deve cercare i file .c e .h presenti nei due sottoalberi evidenziando:

– quali sono presenti in un solo sottoalbero

– quali sono presenti in entrambi i sottoalberi ma hanno contenuto differente.

Es:

cmpsource so.1.0 so.1.1 so.1.0/file.c not in so.1.1

so.1.0/p/q/search.c so.1.1/p/q/search.c differ so.1.1/h/head.h not in so.1.0

(L'ordine delle segnalazioni in output non e' importante).

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

Consegnare lo script e il sorgente del programma C, in attachment separati, entro il tempo a disposizione, via e- mail a: 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:

Se volete che il vostro lavoro venga giudicato, lasciate aperta la vostra sessione (incluso il vostro editor) e lasciate il laboratorio. Verrete richiamati uno alla volta per una breve discussione sul vostro elaborato.

Riferimenti

Documenti correlati

se esiste miofile.9 deve essere rinominato in miofile.10 se esiste miofile 8 deve essere rinominato in miofile 9 e cosi' via fino a miofile.2, rinominato miofile 3. ora se miofile.1

Scrivere un programma che per ogni file .c nella directory corrente chiami il compilatore gcc per generare il file oggetto (.o) a meno che esista gia' nella directory un file

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

se dir1 contiene i file pippo, pluto e paperino e la directory paperopoli e quest'ultima contiene i file paperino, qui quo e qua, all'interno di dir2 divranno essere contenuti

L'informazione puo' 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

lancian deve essere completato in modo che lo standard output di tutti le copie venga unificato ed emesso come standard output del programma lancian, in modo ordinato: l'intero

Il programma deve cercare i file .c e .h presenti nelle due directory evidenziando quali sono presenti in una sola

Esercizio 2 Script bash o Python: (10 punti): Scrivere uno script bash o un programma python che metta in ordine tutti i file di un sottoalbero dal piu' vecchio al piu' recente..