• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi 12 settembre 2011

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova Pratica di Laboratorio di Sistemi Operativi 12 settembre 2011"

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi 12 settembre 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): (20 punti) Siano date due directory del file system.

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

Es:

$ cmpsource so.1.0 so.1.1 so.1.0/file.c not in so.1.1 so.1.1/head.h not in so.1.0

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

Esercizio 2: Linguaggio C opzionale: (10 punti)

Controllare anche quali file .c o .h sono presenti in entrambe le directory ma hanno contenuto differente.

L'output dell'esempio deve contenere nel caso linee come:

so.1.0/search.c so.1.1/search.c differ Esercizio 2 Script bash o Python: (10 punti):

Scrivere uno script bash o un programma python 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.

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

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,

Scrivere uno script bash o un programma python che presi in input un file e una directory fornisca la lista dei file nella directory e in tutto il sottoalbero generato che hanno

Esercizio 1 Linguaggio C (obbligatorio): (25 punti) Scrivere il programma lanciatutto che esegua in modo concorrente tutti i file “eseguibili” della directory corrente passando

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..