Sei sulla pagina 1di 2

Universidad de Carabobo

Facultad de Ciencias Experimentales y Tecnologa


Departamento de Computacin
Sistemas Operativos

Taller III - I-2015: Manejo de archivos en UNIX

Objetivos
Utilizar las herramientas que proveen los sistemas operativos UNIX para el manejo de archivos.

Pre-laboratorio

Investigar sobre los siguientes aspectos:

1. Cmo est compuesto un archivo?


2. Cules mecanismos ofrecen los sistemas UNIX para el manejo de archivos?
3. Funciones de la librerias stat.h y dirent.h

Laboratorio

Para el desarrollo del taller se requiere que programe una aplicacin en lenguaje C, que controle un directorio
del sistema operativo GNU/Linux y que cumpla con los siguientes requisitos:

1. Los datos de entrada de la aplicacin deben provenir nicamente de un archivo tipo texto, ubicado
en la ruta /etc/taller so 3/taller3.ini. Su proyecto debe identificar que este archivo exista antes
de realizar cualquier otra tarea. En caso de que el archivo no exista, se debe notificar al usuario y
terminar inmediatamente. El formato del archivo de configuracin est definido en la seccin de
consideraciones.

2. La aplicacin debe examinar una vez cada cierto tiempo, el contenido del directorio
/var/log, para identificar los cambios que hayan ocurrido en los archivos de log del
sistema desde la ltima revisin. Se deben omitir los sub directorios y los archivos con
extension .gz. Para verificar los archivos debe utilizar el comando del shell md5sum mediante
las llamadas al sistema fork y exec. Por cada archivo a ser procesado su aplicacin debe crear
un subproceso el cual se encargar de ejecutar el comando md5sum. El resultado del comando
debe ser retornado al proceso padre mediante una tubera annima creada con la llamada al
sistema pipe. Se debe crear una tubera por cada subproceso.

3. Con las sumas de verificacin de cada archivo el proceso inicial debe determinar cules de los
archivos en cuestin han cambiado con respecto a la revisin anterior, comparando si la suma
del archivo en la revisin anterior es diferente de la suma en la revisin actual (debe asumir
que al momento de ejecutar el programa, antes de realizar la primera verificacin, la suma de
cada archivo es cero. Lo mismo sucede para los archivos que fueron creados entre cada par de
revisiones). Todos los archivos que fueron modificados tienen que ser mostrados al usuario, junto
con su peso en kilobytes.

Consideraciones

Todas las notificaciones al usuario se tienen que hacer por pantalla.


El archivo de configuracin consta de dos lneas: La primera lnea contiene la instruccin [CONFIG] y en
la segunda lnea la palabra interval con un signo = seguido del intervalo que tiene que esperar su
aplicacin para revisar el directorio.
Utilice las funciones opendir() y stat() para el manejo de los directorios y archivos, adems de la macro
IS_DIR para comprobaciones del directorio.
Tiempo estimado de realizacin: 3 horas.

Potrebbero piacerti anche