Publicado: Vie Jun 13, 2008 5:49 pmAsunto: Unix file system
Hola a todos, tengo que implementar un file system de Unix en C. O sea crear una especie de disco virtual con tamaño de bloques determinados e implementar primitivas tales como montar_sistema_archivos() crear_archivo() borrar_archivo(), etc. La función montar_sistema_archivos() debe COPIAR el “disco" a memoria sin ningún cambio, y todas las operaciones van a trabajar directamente en esa copia.
El sistema de archivos se almacena en disco que se simulará en un archivo Unix llamado “file.sys”. Este será sólo una secuencia de bytes. El tamaño del archivo está fijo en 64KB.
La idea de este trbajo es entender como funciona un file system, pero mi problema es q ni sé de donde arrancar.
Miembro No. 23461 Registrado: Aug 25, 2007 Mensajes: 361 Ubicación:
Galicia - España
Publicado: Sab Jun 14, 2008 2:57 amAsunto: Re: Unix file system
Si sabes cual es el tamaño de la "partición" fichero file.sys que supongo que también debería ser fijo, lo primero sería decidir que los primeros x bytes de ese fichero van a ser la "FAT" (yo te diría que leyeses sobre este que es más fácil que los sistemas unix).
Tienes que decidir como será tu FAT, cual será el tamaño máximo de nombre de archivo, que atributos guardaras, etc, ... y junto con esto un puntero a la posición del archivo dentro de file.sys, Por cada fichero que tengas tendrás una entrada del tipo anterior, así que cada vez que tengas que usar un fichero miraras en la FAT si ya existe uno con ese nombre, ...
Supongo que cuando montes el sistema cargaras el FAT como una lista y cuando acabes volverás a grabarlo.
Además yo haría un tamaño de bloque igual a tamaño de fichero para evitar fragmentación y mantendría otra lista con los bloques libres. _________________ Di no a las bombas de racimo
Mi blog: Conocimiento Abierto
Publicado: Lun Jun 16, 2008 8:21 pmAsunto: Re: Unix file system
podrias usar quotas... con el sistema de ficheros... _________________ "Quiero cambiar al mundo pero no me dan los RPM"
----------------------------
Tony Blair
Linux User # 433253
Ubuntu User # 9562
-----------------------------
No sé en que materia te estan pidiendo esto, pero me imagino que debes haber visto algo de programación.
Muchas de esas funciones que quieres implementar las dan como tarea en las materias de estructura de datos, lo simulan con árboles binarios.
De ser así, puedes buscar como se crea y se usa un árbol binario, y como hacer para que simule un sistema de archivos, la estructura del árbol binario, en este caso tu sistema de archivos se puede guardar en un archivo secuencial sin mayor problema y cargar cuando se requiera.
No puedes publicar nuevos temas en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en encuestas en este foro