Práctica 1: Introducción a las llamadas del sistema

Práctica Obligatoria
Sistemas Operativos I
ETIX, curso 2009-2010

 
Introducción | funciones | normas y entrega (plazo de entrega 13/1/2010)

Introducción

La práctica consiste en realizar un programa en lenguaje C al que llamaremos mostrar y que debe servir para mostrar información sobre ficheros o directorios de un modo similar a como lo hace el comando ls, permitiendo además establecer una condición o filtro sobre los archivos que se desean mostrar. El programa funcionará con las siguientes opciones:

$ mostrar [-d <nombredir>] <condicion> [<condicion> ...]

donde

Un <atributo> será simplemente una letra que indica alguno de los atributos del archivo, siguiendo el siguiente código

n  nombre del archivo
s tamaño del archivo
g grupo
u usuario
b número de bloques
m fecha de última modificación

Una <relación> relación puede ser alguno de los símbolos  =, >, <, >=, <= con su significado habitual, además de != que significa "distinto de". En el caso de los atributos s, b el <valor> será numérico. Para los atributos n, g, u el <valor> es cualquier cadena de caracteres (exceptuando los caracteres ' ni & ni espacio en blanco). Para el atributo fecha de modificación m, el valor será una fecha válida con formato dd/mm/aaaa.

El programa hará una búsqueda recursiva por todos los subdirectorios del directorio especificado en <nombredir>, realizando un recorrido en profundidad.

Ejemplos:

  1. Mostrar todos los archivos que cuelgan del directorio practicas cuyo tamaño supere los 500 bytes, su fecha de modificación es anterior al 1 de julio de 2009 y su usuario no es el root.

    $ mostrar
    -d practicas 's>500 & m<=01/07/2009 & u!=root'

  2. Mostrar todos los archivos que cuelgan del directorio raíz y cuyo usuario es 'juan', 'ana' o 'pedro'

    $ mostrar -d /
    'n=juan' 'n=ana' 'n=pedro'

  3. Mostrar los archivos que cuelgan del directorio actual, con nombre entre 'a' y 'c'  o bien que tengan menos de 10 bloques

    $ mostrar 'n>=a & n<=c' 'b<10'


Funciones a usar

Las siguientes funciones realizan llamadas al sistema que serán de utilidad:


Normas y entrega

La práctica se realizará de forma individual o en grupos de dos personas, siendo preferible esto último. La presentación de la práctica tendrá lugar preferentemente en el laboratorio durante el horario de clase y, en el caso de los grupos, es obligatoria la presencia de los dos alumnos que lo componen.

La práctica es obligatoria y, por tanto, aprobarla es imprescindible para aprobar la asignatura. La puntuación de la práctica es de un máximo de 0.7 puntos, si se entrega dentro de plazo, y un máximo de 0,4 si se entrega fuera de plazo (inlcuyendo convocatoria de septiembre o diciembre). Una vez aprobada, su validez comprende un período de dos años.

La entrega se realizará utilizando el sistema de buzón de prácticas. La fecha límite de entrega de la práctica es el miércoles 13 de enero de 2010, quedando inhabilitado el buzón al día siguiente. Tras esta fecha, se abrirá un plazo de defensa en horario de tutorías para aquéllas prácticas entregadas en buzón dentro de plazo pero que excepcionalmente no hayan sido presentadas en el laboratorio.

Última actualización: 01/11/2009