---++ Progettino Propedeutica al progetto stesso, ma del tutto facoltativa, è la realizzazione di un _progettino_ che, se presentato insieme al progetto vero e proprio, potrà incrementarne il punteggio del 25%. ---+++ Problema Realizzare un programma che: * riceva come argomento sulla command line il nome di un file di input, il contenuto del quale e' [[%ATTACHURL%/progettino.input][indicato nel seguito]] * esplori ricorsivamente il contenuto delle directory, specificate nel file di input, controllando la data e l'ora dell'ultima modifica (mtime) a ciascun file * riporti in un file il path completo di tutti i files piu' vecchi di una data & ora, anch'essa indicata nel file di input La visita dell'albero delle directory deve essere effettuata in parallelo da un massimo di N processi distinti (N anch'esso contenuto nel file di input). Ovviamente il numero di processi impiegato protrà essere minore di N se il numero di directory (detto _D_) da esplorare sia esso stesso minore di N. Nel caso in cui, invece, il numero directory _D_ sia maggiore di N, uno dei processi esplorerà le rimanenti. Ad esempio, con 10 directory e 3 processi, il primo ed il secondo processo esploreranno tre directory, il terzo quattro. Si puo' assumere che: * le directory non siano parzialmente sovrapposte, cioe' che nel file di input non appaia una directory e, successivamente, una sua sottodirectory * non sia possibile visitare due volte lo stesso sottoalbero (e.g. non esistano link simbolici "all'indietro") Se nella scansione dovesero venire incontrati oggetti diversi da file o directory (es. socket, device, etc.) questi possono essere ignorati. Il file di output dovrebbe riportare l'output in modo _ordinato_ includendo cioè, nella stessa porzione di file, tutti i file appartenenti ad un medesimo sottoalbero. #InPut Il file di input conterrà quindi: * il nome del file di output * la data e l'ora di "soglia" per l'inclusione di un di un file nell'output (secondo una sintassi "ragionevole") * il numero massimo di processi da utilizzare per la visita delle directory * un elenco di pathname (directory) da esplorare Analogamente al progetto vero e proprio, anche il progettino dovrà essere adeguatamente documentato (descrizione dell'algoritmo, delle strutture dati, etc). ---+++ Consegna Con le stesse modalità del progetto, descritte [[ProgettoSO20042005#ModalitaConsegna][qui]] * [[%ATTACHURL%/progettino.input][progettino.input]]: Esempio File di Input -- Users.GiorgioRichelli - 24 Nov 2004
This topic: Lab_so_1/AL
>
WebHome
>
Progettino20042005
Topic revision: r8 - 2004-12-21 - GiorgioRichelli
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