Sei sulla pagina 1di 1

Università degli studi di Napoli “Parthenope” - Corso di Laurea in Informatica

Laboratorio di Sistemi Operativi


Docente: A. Staiano
Prova scritta 10/12/2007
Matricola 1 2 3 4 tot
/9 /6 /6 /9 /30

Il candidato risolva gli esercizi proposti nel tempo massimo di 3 ore. Non è consentito avvalersi di libri,
appunti o altro sussidio. I risultati degli esercizi vanno messi in una cartella, compressa ed inviata
all’indirizzo (antonino.staiano@uniparthenope.it) specificando nell’oggetto la stringa “LABSO” seguito da
Nome, Cognome, Matricola e Data dell’Esame.

1. 9 punti (SOLO PER CFU 12)


Si realizzi un programma in C e Posix sotto Linux che, con l’ausilio della libreria Pthread, lancia 3 thread
che leggono concorrentemente altrettante directory specificate dall'utente. I thread, inoltre, scrivono in
una variabile il numero di file della directory, tra le tre esaminate, contenente il minor numero di entrate.

1. 9 punti (SOLO PER CFU 10)


Realizzare un programma in C e Posix sotto Linux che realizzi una struttura di processi ad albero
ternario, tale che ogni processo si metta in attesa che i suoi figli terminino. Ogni figlio termina dopo aver
atteso per un numero di secondi pari al livello dell'albero al quale si trova, allo scadere del quale stampa
a schermo il proprio pid diviso 100 ed elevato alla i-ma potenza, dove i è il livello dell'albero a cui il
processo figlio si trova e comunica al genitore la sua terminazione.

2. 6 punti (PER CFU 12 e 10)


Scrivere un programma C che rimuove un hard link da tutti i file regolari della directory corrente, ad
eccezione dell’eseguibile stesso e stampi il nome di ciascun file, la dimensione ed i permessi di lettura,
scrittura ed esecuzione per il gruppo.

3. 6 punti (PER CFU 12 e 10)


Elaborare uno script che sul file introduzione.txt realizzi quanto segue:
z si ricerchino all’interno del file sopra nominato tutte le occorrenze della parola “is”, si contino e si
visualizzi a video il totale
z successivamente, si chieda all’utente di cancellare o meno tutte le righe che contengono la parola
“is” (si preveda una domanda a cui l’utente possa rispondere con S = si e N = no) e nel caso
affermativo si ponga il risultato nel nuovo file “parziale.txt”
z si stampino a video il numero dei caratteri della riga più lunga del file introduzione.txt
Il testo del file introduzione.txt è:
Pattern recognition is the scientific discipline
whose goal is the classification of objects into a number of categories
or classes.
A pattern is a generic object: images, signals waveform etc.
Pattern recognition an integral part in most machine
intelligence systems built for decision making.

4. 9 punti (PER CFU 12 e 10)


Progettare un programma in C e Posix per realizzare un meccanismo di comunicazione bidirezionale,
tramite pipe, tra un processo padre ed un processo figlio, in modo che il processo padre legga un
messaggio da tastiera e lo comunichi al processo figlio mentre il processo figlio stampa il messaggio
ricevuto dal padre e gli comunichi lo stesso messaggio all'inverso.

Potrebbero piacerti anche