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%.
Realizzare un programma che:
- riceva come argomento sulla command line il nome di un file di
input, il contenuto del quale e' 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 N-D.
Si puo' assumere che le directory non siano parzialmente sovrapposte,
ovvero che non sia possibile visitare due volte lo stesso sottoalbero.
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.
-- GiorgioRichelli
- 14 Nov 2004 |