Progetto di Laboratorio di Sistemi Operativi I

Informatica e Tecnologie Informatiche

Anno Accademico 2002-2003

Scopo del progetto

Lo scopo del progetto è di sviluppare dei piccoli tool per l'analisi dell'occupazione di memoria di singoli processi e dell'occupazione totale di tutti processi del sistema.

Progetto

  • Punto 1
    • Realizzare un programma mem.c che prenda come parametro dalla linea di comando un numero intero strettamente positivo n, allochi n byte usando la primitiva malloc, effettui una attesa passiva di 15 secondi, liberi la memoria e termini.
    • Realizzare un programma meminit.c che effettui tutte le operazioni di mem.c ed inoltre, appena allocata la memoria richiesta, la inizializzi a zero.
  • Punto 2
    • Realizzare un programma monitor.c che, dato un identificatore di processo ID, scriva sia su video e sia su file l'occupazione di memoria in Kbyte del processo. Per occupazione di memoria si intende sia l'occupazione totale del processo ID, sia l'occupazione delle sole pagine caricate in memoria centrale (mantenendo distinte le due informazioni).
    • Usare il programma monitor.c per controllare l'occupazione di memoria di mem.c e meminit.c al variare dei parametri di input. Giustificare i risultati ottenuti.
  • Punto 3
    • Scrivere un programma monitormem.c che prenda come parametro dalla linea di comando un file eseguibile, crei un processo figlio che esegua il file stesso, e stampi a video le informazioni dell'occupazione di memoria del processo figlio. Il programma monitormem.c può essere realizzato come estensione del programma monitor.c usato per effettuare le misure del Punto 2.
  • Punto 4 (Facoltativo)
    • Scrivere un programma memoriatotale.c che elenchi tutti i processi attivi nel sistema, la relativa occupazione di memoria, ed il totale della memoria occupata nel sistema e delle pagine caricate in memoria centrale.

Per le operazioni sugli archivi utilizzare esclusivamente le chiamate di sistema: open, read, write, close, ecc. A completamento del progetto ogni gruppo dovra' consegnare una documentazione su carta con chiara indicazione sulla copertina 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, etc.).
  • Le scelte motivate di progetto (intervallo dei parametri, etc.).
  • Descrizione degli errori previsti e loro gestione.
  • Descrizione dei criteri di formattazione usata per l'output
  • L'organizzazione del codice e delle strutture dati.
  • Descrizione dei test effettuati ed analisi dei risultati.
  • Manuali di installazione ed utilizzo (in formato testo). 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!).

Modalità di consegna

I sorgenti in C del progetto e la relazione in formato elettronico dovranno essere presenti nella cartella del gruppo entro le ore 12 di mercoledì 8 gennaio 2003, quando l'accesso a tali cartelle sarà disabilitato. Entro la stessa data ed ora dovranno essere consegnate anche le rispettive relazioni in formato cartaceo al terzo piano di via Salaria 113, nello studio di Luigi V. Mancini o nello studio di Alessandro Mei (qualsiasi sia il vostro canale), oppure, in nostra assenza, nell'ufficio dei tecnici (Gabriella Cavallo, Emanuele Gabrielli).

-- AlessandroMei - 08 Oct 2002

Edit | Attach | Watch | Print version | History: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r11 - 2002-12-04 - LuigiMancini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback