• Non ci sono risultati.

Prova Pratica di Laboratorio di Sistemi Operativi 19 luglio 2010

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova Pratica di Laboratorio di Sistemi Operativi 19 luglio 2010"

Copied!
1
0
0

Testo completo

(1)

Prova Pratica di Laboratorio di Sistemi Operativi 19 luglio 2010

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 che crei un processo figlio. Il processo genitore e il processo figlio devono essere collegati da due pipe, una per la comunicazione genitore- figlio, una per la comunicazione figlio-genitore. Il processo figlio deve rispedire al genitore ogni messaggio ricevuto dalla pipe di input nell'altra (echo). Il processo genitore deve per 100000 volte spedire un messaggio di 40 byte al processo figlio e aspettare da questo che il messaggio venga rispedito.

Scopo dell'esercizio e' di verficare quanto tempo viene impiegato per il “ping” di 100000 messaggi su pipe.

Esercizio2: Linguaggio C (15 punti): Copiare l'esercizio precedente ma al posto delle due pipe utilizzare i messaggi dell'IPC di system V tramite le system call msgget, msgsend, msgrecv.

Anche in questo caso misurare il tempo e verificare quale implementazione di IPC sia piu' veloce fra pipe e messaggi.

Esercizio 3 Script: (10 punti): Lo script deve prendere in input un file e invertire le righe pari con quelle dispari.

Se l'input e' hello world goodbye moon l'output deve essere

world hello moon goodbye

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

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

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

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

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

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

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