Laboratorio II: Sistemi Operativi - a.a. 2001/2002
La consegna va effettuata entro il 21 dicembre 2001 !
Stima del costo delle invocazioni di primitive Linux
Scopo del progetto
Lo scopo del progetto e' la realizzazione di un insieme di misure rigorose dei tempi di esecuzione di alcune funzionalita' del sistema operativo Linux. Le misure
devono essere effettuate in modo da eliminare gli errori di misura (ad esempio, introdotti dal meccanismo di misura, da fenomeni di caching, cambi di contesto, ecc.)
ed utilizzando sia la primitiva di sistema gettimeofday sia il comando time. In particolare, si richiede di:
- Misurare i tempi in millisecondi di lettura dei dati dal disco tramite la primitiva di sistema read e stimare la dimensione ottima per il parametro attuale che contiene i dati letti;
- Misurare i tempi di esecuzione in microsecondi delle principali primitive di sistema al variare dei parametri in ingresso: open, close, read, write, lseek, mount
- Misurare i tempi di esecuzione in microsecondi al variare dei parametri in ingresso delle funzioni di libreria standard del C che invocano l'equivalenti primitive di sistema: fopen, fclose, fread, fwrite, fseek, malloc
- Confrontare le misure effettuate nei precedenti due punti, mettendo in evidenza eventuali differenze di costo;
- E' facoltativo lo sviluppo di un'unico programma di misura di uso generale che possa effettuare tutti gli esperimenti richieste dal progetto.
- E' facoltativo lo sviluppo di un programma costituito da due processi concorrenti che condividano un dato utilizzando IPC shared memory, e che realizzino la mutua esclusione tramite algoritmo di Sistemioperativi.Peterson a 2 processi. Misurare i costi dell'algoritmo di sincronizzazione;
A completamento del progetto ogni gruppo dovra' consegnare una documentazione su carta con chiara l'indicazione dei componenti del gruppo (nome, matricola,
anno accademico e recapito). La documentazione dovra' almeno contenere le informazioni dettagliate di seguito (e' scoraggiato l'uso di cartelline o copertine di
plastica):
Lo scopo del progetto (problema da risolvere, possibili soluzioni...)
Le scelte motivate di progetto (intervallo dei parametri...)
L'organizzazione del codice e delle strutture dati
Descrizione dei test effettuati per dimostrare l'attendibilita' delle misure e l'analisi dei risultati (includere opportuni grafici e tabelle)
Manuali di installazione ed utilizzo. Per questa parte si dovra' usare una organizzazione logica analoga a quella dei manuali UNIX
Come appendice del documento dovra' essere incluso il codice sorgente C (
commentato!).
La consegna va effettuata entro il 21 dicembre 2001 !
--
AntonioValletta - 12 Nov 2001