• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi 19 gennaio 2011

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova Pratica di Laboratorio di Sistemi Operativi 19 gennaio 2011"

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi 19 gennaio 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.

Esercizio1 Linguaggio C (obbligatorio): (20 punti)Scrivere un programma redir che facendo uso della getopt_long consenta di eseguire un comando ridirezionando o no l'input e l'output.

Deve funzionare come segue:

redir ls -l si comporta come “ls -l”

redir -o file ls -l si comporta come “ls -l > file”

redir -i infile -o outfile sort si comporta come “sort <infile >outfile”

redir -h fornisce un semplice help

al posto dei parametri brevi devono poter essere usati i parametri --in,--out,--help

Esercizio2: Linguaggio C (15 punti): il programma cathup si deve comportare come segue:

cathup file

copia cio' che riceve da standard input nel file file0 fino a quando non riceve un segnale SIGHUP, a quel punto chiude il file file0 e copia cio' che riceve da standard input sul file file1. Un nuovo SIGHUP deve di volta in volta fare in modo che l'output venga posto in file2 file3 e cosi' via.

Esercizio 3 Script: (10 punti): Scrivere uno script che faccia il merge (tramite link) dei contenuti due directory:

newmerge a b c

La directory c deve contenere un link a tutti i file esistenti in a e in b. Nel caso un file con lo stesso nome compaia sia in a sia in b, il link creato in c deve riferirsi al file piu' recentementente modificato.

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.

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

Riferimenti

Documenti correlati

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:

Scrivere un programma python (o uno script bash) che dato come parametro il pathname di una directory ponga in output il numero dei file e delle directory contenute nel

Scrivere un programma python o uno script bash che scandisca il sottoalbero relativo alle directory passate come parametri (o alla direcotry corrente se non ci sono parametri)

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

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

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 programma deve cercare i file .c e .h presenti nelle due directory evidenziando quali sono presenti in una sola