Gestor de archivos en los formatos FAT y EXT3

Visitas: 52  
Tiempo total: 0 días con 20:47:40 hrs  

Acerca de la aplicación

La aplicación consiste en crear un gestor de archivos en los formatos FAT y EXT3, partiendo desde la creación de los discos duros virtuales de tamaño fijo, a partir de estos se crearan dos particiones primarias en el orden seleccionado, uno de estos estará activo y el otro desactivado, el cual servirá para almacenar toda la información realizado en el activo, es decir que a través de un RAID se almacenara toda la información para su posible recuperación.

El sistema de archivos tiene las funciones básicas las cuales son crear, eliminar y buscar carpetas y archivos, así como también permite modificar el nombre y el contenido de un archivo.

Este también cuenta con las opciones de reportes, el cual mostrar el estado de las estructuras con las cuales se ha creado el sistema de archivos, ya sea EXT3 o FAT.

imagen1

Utilización de la aplicación

A continuación se explicaran las funciones las cuales dispone la aplicación.

imagen2

Para crear un disco seleccione la opción Crear Disco, a continuación ingrese el nombre del disco y el tamaño del mismo, este ultimo debe de ser múltiplo de 4.

imagen3

El menú Listar Discos muestra los discos duros disponibles.

imagen4

Al montar un disco duro se muestran las opciones disponibles, dado que el disco es nuevo, se crean las particiones en el menú Crear particiones.

imagen5

Al crear las particiones en el orden seleccionado, debe de seleccionar si quiere proteger el sistema FAT con contraseña, si es así se le pedirá el nombre de usuario y el password, si no es así no se pedirán los datos del usuario al momento de iniciar sesión o realizar cualquier operación.

imagen6

Al seleccionar el menú Montar partición primaria, se entrar al sistema de archivos que este activo, en este caso se entra al sistema EXT3, así como también mostrar las opciones disponibles del mismo.

imagen7

Para crear una carpeta se selecciona la opción Crear directorio, esta opción pedirá el nombre de la carpeta, así como también se pedirá el nombre de usuario y password si se estableció esta opción, esto es para crear la copia en el sistema FAT, que en este caso es el contrario. Para crear la carpeta el nombre ingresado no tiene que estar repetido en la carpeta, si es el mismo nombre que una carpeta o de un archivo se mostrara un mensaje de error.

imagen8

Para crear un archivo se selecciona la opción Crear y guardar archivo, esta opción pedirá el nombre del archivo, así como también su contenido. Para crear un archivo el nombre ingresado no tiene que estar repetido en la carpeta, si es el mismo nombre que una carpeta o de un archivo se mostrara un mensaje de error. Dado que ya se inicio sesión en el sistema FAT, que es la partición no activa, ya no se pedirá los datos de inicio de sesión de este ultimo sistema y se creara la copia.

imagen9

Para mostrar las funciones eliminar, se creó la carpeta folder_eliminar y el archivo archivo_eliminar.txt.

imagen10

Para eliminar la carpeta, seleccione la opción Eliminar directorio, a continuación ingrese el nombre de la carpeta a eliminar, si la misma contenía mas información se listaran los archivos y carpetas eliminadas.

imagen11

Como se puede observar, la carpeta folder_eliminar fue eliminada correctamente.

imagen12

Para eliminar un archivo, seleccione la opción Eliminar archivo, el mismo pedirá el nombre y mostrar un mensaje confirmando su eliminación.

imagen13

Desmontando el sistema de archivos, en las opciones del disco se seleccionara la opción Desactivar partición, iniciar con desactivada la cual sirve para desactivar la partición activa, en este caso EXT3 y activar la contraria, la cual es FAT.

imagen14

En la imagen anterior se puede observar el sistema de archivos FAT con los archivos creados anteriormente en el sistema EXT3.

imagen15

Para mostrar la opción de Renombrar archivo se creó se crearon los archivos y carpetas necesarias para entrar a la dirección home/jose/old.txt, para renombrar este archivo old.txt se selecciona la opción anteriormente mostrada, se ingresa el nombre del archivo a renombrar y a continuación el nuevo nombre, mostrar un archivo de confirmación.

imagen16

Pare editar el contenido de un archivo, el primer paso es seleccionarlo en el navegador del sistema de archivos, a continuación se mostrar el contenido del mismo con un menú de dos opciones, la opción Editar es la que servirá para editar su contenido, esta opción pedirá el nuevo contenido, a continuación se mostrar un mensaje de confirmación.

imagen17

La opción Listar directorio recursivo muestra todas las carpetas y archivos disponibles en la presente carpeta, así como también el los fólders y subfolders.

imagen18

La opción Buscar directorio sirve para buscar una carpeta que este en la carpeta actual o en cualquier subfolder de la misma, si encuentra la misma mostrara su dirección complete o bien un mensaje de error.

imagen19

La opción Buscar archivo tiene las mismas características que la anterior, únicamente que cada una fue desarrollada únicamente para buscar o carpetas o archivos.

imagen20

Los reportes, esta aplicación cuenta con diferentes reportes para cada tipo de sistema, en el sistema FAT se muestran las opciones de reportes al seleccionar la opción Reportes la cual se muestra en el menú de opciones de disco.

imagen21

La opción Reporte de Bloques de datos muestra la dirección del archivo txt creado con la información de cada bloque del sistema de archivos FAT.

imagen22

La opción Reporte de Bitácora mostrar la información almacenada en la bitácora de cada operación realizada en la partición, si alguna acción fue realizada por parte del RAID como copia de la partición activa se mostrara en este reporte.

imagen23

La opción Mostrar mbr del menú opciones de disco muestra la información almacenada en el mbr del disco duro creado.

imagen24

La opción Ver datos actuales del sistema muestra la información almacenada, si la partición activa es FAT mostrar el Boot, si es EXT mostrara el Superbloque respectivamente.

imagen25

Al seleccionar la opción Formatear partición del menú opciones de disco, este dará formato a las particiones del disco, es decir que si el orden de particiones en el disco es de EXT3 – FAT y las mismas contienen archivos, el resultado final serán las mismas particiones en el mismo orden sin información.

imagen26

La opción Formatear disco da formato al disco, es decir que elimina cualquier configuración que tenga, el resultado será el disco sin ningún tipo de formato.

imagen28

Para el sistema de archivos EXT3 se muestra el menú de Funciones especiales.

imagen29

Al seleccionar la opción Rutas inodos bloques de archivos y carpetas se pedirá la ruta a evaluar, una vez ingresada se mostrar la información de cada inodo y cada bloque consultado que se utilizo para llegar al archivo o carpeta mencionada.

imagen30

En la anterior imagen se presenta el último bloque e inodo consultados, en los bloques se reemplaza el carácter de salto de línea por los símbolos /#.

imagen31

Con la opción Mostrar bloque según id se muestra la información del bloque indicado, el bloque indicado es el numero del mismo, en este caso el id 1 es la raíz del sistema EXT3.

imagen32

Para finalizar se presenta el menú de reportes del sistema FAT, se puede observar que la opción que no cambia es Reporte de Bitácora, aquí se presentan dos opciones de reportes que son los que hacen la diferencia entre estos sistemas de archivos.

imagen33

Las opciones Reporte del Bitmap de tabla de i-nodos y Reporte del Bitmap de bloque de datos, muestra el estado del bitmap para ambos tipos de estructuras.

Requerimientos del usuario

Para poder utilizar la aplicación, el usuario deberá de estar bajo el entorno GNU-Linux. Para poder editar el programa desde su código fuente, es necesario contar con los compiladores c/c++, para instalarlo solo debe de escribir el siguiente código en la terminal de Linux:

$ sudo aptitude install build-essential

Con este paquete podrá correr los archivos ejecutables así como también editar su código fuente con el compilador de c.

Planteo inicial de la solución

Dado que la aplicación consiste en la creación de discos, estos serán con archivos binarios, existirán más de un disco, así que en el sistema operativo GNU-Linux se creara una carpeta llamada sistema con los permisos necesarios para que el programa cree todos los archivos binarios que cada uno representara un Disco.

Así como también, para alojar los reportes generados por el usuario se creara una segunda carpeta llamada reporte, en esta se guardaran los archivos txt que el usuario genere al momento de utilizar la aplicación.

El disco duro y sus particiones se representan gráficamente de la siguiente manera:

im1

En esta imagen se puede observar, como la primera estructura utilizada para crear el sistema de archivos es el MBR, el cual indica cual es la partición activa, así como también la que servirá de copia.

im2

El sistema de archivos EXT3 está compuesto por las estructuras mostradas en la imagen anterior.

im3

Así como también se puede observar el sistema FAT, algo que se puede observar es como la estructura de la bitácora se repite en ambos sistemas, a partir de esto se puede observar que se usara la misma estructura para ambos sistemas de archivos.

!Antes de correr el programa revisa los permisos del ejecutable que genera el compilador C, si no observaras el mensaje No No No No No en toda la pantalla!

Aquí puedes descarga el código de la aplicación desde mi servidor!

http://www.elconspirador.com/wp-content/uploads/2014/03/proyecto1_200915162.zip

Mensaje del desarrollador

Este proyecto lo desarrolle lo más rápido posible, pero más de una persona observara que entre todas las líneas de código, en ningún momento utilice la función malloc, lo que causa inexactitud.

Explicación de la función malloc:
http://www.elconspirador.com/2015/01/30/utilizacion-de-memoria-y-recursividad-en-c/

Cuando estudias sistemas, es como programar ciego, ninguno te va a dar un curso sobre como programar en c.

Cualquier persona que descargue el código deberá de analizarlo, la razón es que observe en los logs de visitas que bastantes estudiantes visitan esta publicación durante varias horas, así que, el lector no es el único que leyó estas letras en algún instante de tiempo.

Detalles

Autor: redacTor.

Curso: Manejo e Implementación de archivos.

Comentarios: No es una aplicación comercial, tiene errores que resolví conforme programaba y aprendía, es decir que tal vez tiene código repetitivo por que el tiempo es uno de los factores de todo estudiante de mi carrera.

A lo largo de su ejecución podrás encontrar algunas limitaciones o errores lógicos pero son mínimos, a partir de mi código puedes ver como se utilizan las estructuras y como se generaliza la información.


Para recibir boletines de información, por favor escribe tu correo electrónico:

Por favor ingrese un correo electrónico valido.
Registrado correctamente!