• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi 17 luglio 2014

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova Pratica di Laboratorio di Sistemi Operativi 17 luglio 2014"

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi 17 luglio 2014

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!

Esercizio 1: Linguaggio C (obbligatorio): (20 punti)

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 oggetto relativo allo stesso sorgente che sia piu' nuovo (ultima modifica) del sorgente.

Tutti I parametri devono essere passati al compilatore.

Es:

genobj -I . -ggdb

se nella directory corrente esistono I file uno.c e due.c e il file due.o deve richiamare gcc -I. -ggdb -c uno.c

e, solo se due.o ha ultima modifica precedente a due.c, deve chiamare gcc -I. -ggdb -c due.c

Esercizio 2: completamento (10 punti)

Scrivere un programma genexe che generi l'eseguibile a partire da tutti I file oggetto della directory corrente.

genexe prog -lm

il primo parametro e' il nome dell'eseguibile da generare, tutti gli altri parametri devono essere passati al gcc.

Prima di generare l'eseguibile genexe deve controllare che tutti I file oggetto siano piu' recenti (ultima modifica) del relativo sorgente (se esiste). In caso contrario non si deve generare l'eseguibile ma terminare con un output di errore:

“run genobj first”

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

Il comando che dovrete implementare come script shell o programma python e' mytx.

Tale comando elenca tutti i file di una directory.

mytx ddd ddd.tx

Ogni riga del file di output (secondo parametro) deve contenere la lunghezza, uno spazio e il nume del file. Dopo l'ultima riga deve inserire una riga bianca.

ddd.t2 deve contenere l'elenco dei file regolari. Il primo campo e' un numero intero seguito da uno spazio, tutto cio' che segue fino alla fine riga e' il nome del file.

es.

12 file1

235 file di prova

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

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

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

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 colonne di tutti i file regolari,

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

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

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

Il programma deve consentire di porre l'output in un file diverso dallo standard output tr amite un parametro -o oppure --out seguito dal nome del file. Esercizio 3 Script: (10