Sistemas Operativos Ingenierı́a Técnica de Sistemas 2006 Práctica #8 (Mini Sistema de Ficheros (mfs)) Ejercicio 1 (Parte Obligatoria) Implementar las funciones suficientes para que mfs get, mfs put, mfs cp y mfs ls funcionen. Notese que para que estos programas realicen su función mfs mkfs también tiene que funcionar. Es suficiente con que solo exista un directorio raı́z y que la asignación de espacio a los ficheros sea contigua. Para las entradas en directorio, es sufciente con usar una tabla con nombres de tamaño fijo. Usar un inodo por bloque. Ejercicio 2 (Borrado de ficheros(mfs rm)) Escriba la función mfs unlink() para que se puendan borrar ficheros. Ejercicio 3 (Inodos) Permitir más de un inodo por bloque. Ejercicio 4 (Renombrar ficheros (mfs mv)) Escriba la función mfs rename() para que se puedan renonmbrar ficheros. Ejercicio 5 (Implementra opcion -l al comando mfs ls) Escriba la función mfs stat() para que se puedan consegir información adicional de cacda fichero. Ejercicio 6 (Links (mfs ln)) Escriba la función mfs link() para que se le pueda dar más de un nombre a un fichero. Modificar mfs unlink() de forma acorde. Ejercicio 7 (Subdirectorios) Escriba la función mfs mkdir() y mfs rmdir() para que se puedar crear/borrar subdirectorios. Modifiquense también las otras funciones que lo requieran. Ejercicio 8 (Subdirectorios (2)) Modifique mfs cp() y mfs mv() para que acepten argumentos de la forma: programa <lista ficheros>directorio, para poder trabajar con una lista de ficheros cuando el destino es un directorio. Ejercicio 9 (Directorios) Usar tamaño variable para cada entrada en el directorio. Ejercicio 10 (Asignación no contigua para los ficheros) Escribir un programa mfs debug que dado un sistema de ficheros, escriba por pantalla superbloque, inodos y bloques, con información relevante. Ejercicio 11 (Asignación no contigua para los ficheros (dificil)) Modifique la asignación de bloques uando una estructura arborea como la de UNIX. Con tener punteros doblemente indirectos es suficiente.