Administració de Sistemes Operatius
Práctica 2
Estas son las opciones de la segunda práctica de AdmSO, hay que escoger una de ellas.
La presentación será en directo en el aula, o documentado en un fichero tar comprimido apellido1-apellido2-apellido3.tar.gz (el primer apellido de cada uno de los miembros del grupo) que incluya la explicación, el código y capturas de pantallas.
La documentación y las capturas de pantallas deberán estar en un sólo fichero OpenOffice.org, Postscript o PDF (el OpenOffice.org genera PDF). Los ficheros de código fuente deberán ser los originales y en un subdirectorio separado. Debe incluirse un fichero “LEAME” con los requerimientos de módulos o software adicional y las instrucciones para instalarlo y ejecutarlo por si tengo que probarlos.
Para aprobar la asignatura deben tenerse aprobada las dos prácticas. La primera contará el 40% de la nota, ésta contará el 60%. Opcionalmente, si se quiere mejorar la nota, se podrá presentar la práctica del sistema de ficheros de ASO pero adaptado para que funcione a través de la red, es decir cambiar el código que usa las colas de mensajes por otros que usen sockets.
Los grupos deberán ser de 2 o 3 personas. En la documentación se debe incluir una sección que explique que ha hecho o aportado cada uno de los miembros (también se puede documentar cada módulo por separa indicando el autor de cada módulo, como lo creáis más convenientes). La nota de cada uno de ellos podrá diferir (o incluso alguno podrá suspender) de acuerdo a la aportación que han hecho .
Hacer un script en Perl que sea accesible desde web y muestre el tiempo de algunas ciudades, al menos 5 distintas. La información puede obtenerse de es.weather.yahoo.com.
Para no hacer una consulta cada vez, el script debe guardar los datos en cache y sólo debe refrescarse ese fichero pasado un tiempo de expiración (por ejemplo, una o media hora). Además debe haber un script que genere un gráfico simple (por ejemplo una línea o barras verticales) con las temperaturas en los últimos 10 accesos (como máximo).
Se recomienda usar el módulo LWP::Simple para bajarse las páginas web. Se recomienda el uso de los módulos GD para generar el gráfico.
Hacer unos scripts en Perl que permita hacer operaciones sobre los datos de usuarios como un script accesible desde web (CGI de Apache) y desde la líneas de comandos. Para no tocar los datos del sistema, deberá trabajar sobre un directorio “raíz” distinto con la copia de los ficheros del /etc en ese directorio. Los directorios de usuarios también deben crearse bajo esa raíz. Por ejemplo: /temporal/etc/passwd, /temporal/etc/group, /temporal/home/usuario1, /temporal/usuario2...
Las operaciones mínimas deberán ser:
Agregar usuario y crear su directorio.
Borrar usuario.
Ver el uso total de ficheros de cada usuario.
Verificar que no se pasen de un determinado límite.
Agregar o borrar grupos.
Agregar o quitar usuarios a un grupo.
Aunque las operaciones anteriores se hagan sobre ficheros distintos a los del sistema, esos ficheros deberán respetar los formatos originales.
Hacer unos programas en Perl que generen páginas estadísticas del tráfico sobre una interfaz de red (ethernet o wireless). Deberá haber un “daemon” que almacene periódicamente los datos de las lecturas y su “timestamp” en un fichero. Otro programa que se puede ejecutar manualmente o desde el crontab que genere las gráficas (formato PNG) y las páginas HTML que incluyan esas imágenes. Se recomienda el uso de los módulos GD.
Los gráficos deben incluir, como mínimo:
Uno que sea de los últimos 5 minutos.
Otro de la última hora.
Otro del último día.
Deben marcarse los mínimos y máximos con un color distinto. Debe indicarse en la documentación que tipos de promedios y sus coeficientes (si los hubiese) se han usado para calcular medias o promedios en las distintas escalas temporales.