• Non ci sono risultati.

Esame di Laboratorio di Sistemi Operativi – 10/2/2005

N/A
N/A
Protected

Academic year: 2021

Condividi "Esame di Laboratorio di Sistemi Operativi – 10/2/2005"

Copied!
1
0
0

Testo completo

(1)

Esame di Laboratorio di Sistemi Operativi – 10/2/2005

Esercizio 0 (“Se copiate, vi caccio”)

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.

Esercizio 1 – Token-ring (22 punti)

In una rete token-ring, i nodi sono organizzati ad anello e si scambiano un “token” che passa da un nodo al successivo.

Quando un processo riceve il token:

stampa “pid: ho ricevuto il token”

attende 1 secondo

stampa “pid: spedisco il token al processo x”

spedisce il token al processo x

dove pid è l'identificatore del processo che stampa, e x è l'identificatore del processo successivo.

Scrivere un programma che genera N processi che comunicano tramite "token-ring". Viene lasciata allo studente la scelta del meccanismo di sincronizzazione/comunicazione (ma vedi punto 2).

Esercizio 2 – Avanzato (8 punti)

Scrivere un programma in grado di "inserirsi" nella catena di processi vista in precedenza. Per farlo, è necessario specificare il pid di uno dei processi giù presente nell'anello, e inserirsi in modo opportuno.

Si suggerisce di utilizzare named pipe; in ogni caso la scelta del meccanismo di sincronizzazione è libera.

Esercizio 3 - Etc log (4 punti)

Si crei un file di log degli accessi ai file presenti in /etc avvenuti nelle ultime 24 ore. Le informazioni devono comprendere: il nome del file, il nome del proprietario, l'ora di accesso. Si dovrà anche contrassegnare quel/quei file che hanno subito delle modifiche.

Esercizio 4 - Per chi ha occhio... (2 punti)

Scrive il più breve script auto-stampante (cioè che produce come output una copia di se stesso).

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

Consegnare gli script e il sorgente del programma C, in attachment separati, entro il tempo a disposizione, via e-mail a:

montreso chiocciola cs.unibo.it o 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

L’unico utente particolare per unix è indicato con lo username "root" e possiede tutti i diritti di accesso su ogni file o directory.. Figura

Come primo esempio di command line, chiederemo alla shell che abbiamo ottenuto sul sistema l’esecuzione di un file eseguibile di nome ls; questo programma mostra la lista dei

• L’invocazione del compilatore C si ottiene dalla linea di comando specificando il nome del file sorgente più altre eventuali opzioni ed argomenti.. • Alcuni compilatori,

Fissare a priori tra client e server una chiave (posta ad esempio in un header file) che sarà utilizzata dal server per creare la

[r]

inizializzato ad un valore positivo indicante il numero di risorse che sono a disposizione per essere condivise.

[r]

uid_t geteuid (void); effective user ID del processo chiamante gid_t getgid (void); real group ID del processo chiamante gid_t getegid (void); effective group ID