• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi 15 febbraio 2019

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova Pratica di Laboratorio di Sistemi Operativi 15 febbraio 2019"

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi 15 febbraio 2019

Esercizio 0 (“Se copiate, vi cacciamo”)

Rendete la vostra directory home inaccessibile ad altri utenti (sia in lettura che in esecuzione). Si puo’

tenere una sola directory in /public che abbia come nome il vostro username e.g.

“/public/giovanni.rossi” e che abbia permessi 700.

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

Esercizio 1: Linguaggio C (obbligatorio) 20 punti

Usando il servizio inotify(7) scrivere il programma doandelete.

Questo programma viene attivato con un unico parametro che deve essere una directory vuota (controllare la coerenza del parametro!).

Quando viene aggiunto un file alla directory questo viene eseguito e cancellato.

Esercizio 2: Linguaggio C: 10 punti

Si estenda il programma dell'esercizio 1 in modo che se vengono aggiunti molteplici file questi vengano eseguiti in modo concorrente.

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

Scrivere uno script bash o un programma python che preso in input il file /usr/include/x86_64-linux- gnu/asm/unistd_64.h crei in output un file .C corretto che contenga la definizione di un array:

char *syscall_name[] = {

"read",

"write", ....

}

Il vettore syscall_name deve far corrispondere al numero di ogni system call il suo nome come stringa.

Esercizio 4: (“Consegnate! E’ ora!”):

Consegnare lo script e il sorgente dei 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

Scrivere uno script bash o un programma python che mostri quali processi stanno usando piu' descrittori, (ad alcune directory /proc/nnn e' vietato l'accesso perche' sono di

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”

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

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