---++ 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). -- Users.AlessandroMei - 08 Oct 2002
This topic: Lab_so_1/AL
>
WebHome
>
ProgettoSO20022003
Topic revision: r11 - 2002-12-04 - LuigiMancini
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback