• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi 17 febbraio 2017

N/A
N/A
Protected

Academic year: 2021

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

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi 17 febbraio 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 ager in grado di invecchiare file.

Il programma deve poter prendere una lista di file come parametri o nessun parametro, nel qual caso invecchierà tutti I file della directory corrente. “invecchiare” significa predatare il tempo di ultimo accesso e di modifica di 10 giorni.

Esempio:

$ ls -l file

-rw-r--r-- 1 renzo renzo 0 Feb 17 09:07 file

$ ./ager file

$ ls -l file

-rw-r--r-- 1 renzo renzo 0 Feb 7 09:07 file Esercizio 2: Linguaggio C: 10 punti

Completare l’esercizio 1 ponendo una gestione opportuna dei parametri in linea comando che preveda di poter modificare solo la data di accesso o quella di modifica, di definire il tempo di “invecchiamento” e un help.

Si possono inserire altri parametri ritenuti opportuni.

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

Il programma deve elencare I file della directory corrente divisi per suffisso (e al termine l’elenco di quelli privi di suffisso.

es:

.c: primo.c var.c main.c .h: primo.h const.h .odt: relazione.odt

makefile README COPYING 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

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,

L'informazione deve 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 esempio

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

Lo script o il programma python prende il nome di una directory come parametro e deve listare i file nella directory che hanno un file corrispondente con nome scritto al contrario