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' 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.

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 qui

-- GiorgioRichelli - 24 Nov 2004

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r8 - 2004-12-21 - GiorgioRichelli






 
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