• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi 17 gennaio 2017

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova Pratica di Laboratorio di Sistemi Operativi 17 gennaio 2017"

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi 17 gennaio 2017

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.

Non usare system o popen o simili! Non fare exec di “ssh -c”.

Esercizio 1: Linguaggio C (obbligatorio) 20 punti

Scrivere un programma che conti I file ordinari e le directory presenti nel sottoalbero della directory passata come parametro (o della directory corrente se non viene passato alcun parametro).

Ogni file o directory deve venir contato una sola volta anche se e’ presente con diversi nomi a causa dei link fisici.

Ogni altro tipo di file che non sia file ordinario o directory (e.g. socket, named pipe, file speciali, link simbolici) devono essere ignorati.

Esercizio 2: Linguaggio C: 10 punti

Completare il programma precedente in modo che classifichi I file in base al numero di nomi (link) che hanno.

L’output deve indicare quanti file hanno un solo nome, quanti ne hanno due, tre e cosi’ via.

Si devono tenere in considerazione solamente I link presenti all’interno del sottoalbero.

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

Scrivere uno script che faccia il merge dei contenuti due directory:

merge a b c

Tutti i file (non le directory) esistenti in a e in b devono essere spostati in c. Nel caso due file con lo stesso nome compaiano sia in a sia in b, il file spostato in c deve essere quello piu' recentementente modificato, l’altro deve rimanere nella directory di origine.

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

mytar crea il file indicato come secondo parametro e registra in esso tutti i file regolari presenti nella directory (ddd nell'esempio).. Ogni

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

Alla fine il file passato come parametro deve mantenere il proprio contenuto ma le aree inutilizzate (blocchi da 1K completamente a 0) devono essere non allocati.. Per provare

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

Esercizio2: (5 punti): Scrivere in C un programma che stampi quanti file, quanti link simbolici, file speciali, quante directory sono presenti nella directory corrente.. Esercizio

Al termine dell'esecuzione la directory b deve contenere un link ad ogni file (non alle directory) contenuti in tutto il sottoalbero con radice in a.. b e' flat: non