ELO-330: Programación de Sistemas
Tarea 2: Histograma de Tamaños de Directorios

Objetivos: ejercitar uso de pipas, el desarrollo de programas que pieden servicios a otros programas. Ejercitar el manejo de fork, exec, y señales.

Nombres: htd : Histograma de espacio en bytes usado en disco por directorios del usuario.

Sintaxis: htd 

Descripción
    Este programa permite graficar el histograma normalizado del espacio en bytes de disco usado por los directorios de su cuenta.  Así usted puede identificar para cada rango de tamaños de directorios, el porcentaje de directorios en ese rango. Para definir el número de categorías del histograma, para determinar el número de categorías k htd usa:
  
siendo x el  tamaño de cada directorio en bytes excluyendo subdirectorios, y h está dado por:

 htd despliega dos gráficas, una contiene el histograma y otra contiene la FFT del histograma. Este último requerimiento es para que usted vea la conveniencia de usar algún otro programa como matlab, scilab o octave.
  
Esta tarea sigue las normas generales del ramo para evaluación de tareas y procedimiento de entrega.

Por razones de velocidad se pide que la implementación de este comando no use de archivos temporales.

Ayuda:
   - Revise el comando du, en particular su opción --block-size=1 y -S
   - Revise los ejemplo de manejo de pipes.
   - Vea este ejemplo para generar gráficos usando Matlab. También lo puede hacer usando SciLab, el cual usted puede instalar gratuitamente. Otra opción gratuita es Octave. Aquí está la versión Octave de este programa, es igual a la versión Matlab (notar que sólo cambia el nombre del ejecutable, los comandos son los mismos). Por ahora no tenemos Octave en Aragorn, pero usted lo puede bajar y probar en su casa ... y en el futuro contribuir para hacer de este algo aún mejor para sus futuros usuarios.
   - Revise la tarea del año 2008 y su mejor solución. En años anteriores hay otras similares con FFT incluida.
   - Haga su tarea de a poco y con tiempo. Con gusto atenderé todas sus preguntas en especial en clases y horas de atención!