Você está na página 1de 9

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA

FACULTAD DE INGENIERIA
ESCUELA DE CIENCIAS Y SISTEMAS
MANEJO E IMPLEMENTACION DE ARCHIVOS
Ing. Oscar Paz Campos
Aux. Victor Corado
Junio 2,015

ENUNCIADO PRIMER PROYECTO


SISTEMA DE ARCHIVOS EXT3(THIRD EXTENDED FILE SYSTEM EXT2+JOURNALING)

INTRODUCCIN
El proyecto consiste en la creacin de un sistema de archivos EXT3. El sistema de archivos tendr
aspectos similares al sistema GNU/Linux. Aplicando los conceptos adquiridos en el curso y laboratorio
de Manejo e Implementacin de Archivos sobre estos temas.

OBJETIVOS

Comprender el funcionamiento de los sistemas de archivos.


Aplicar el concepto de formateo, MBR y Gestor de Arranque.
Aprender y complementar conceptos del lenguaje C.
Aprender el manejo de distintos tipos de archivos en lenguaje C.
Manipular el uso de archivos en el entorno GNU/Linux.
Implementar diferentes estructuras de datos para el manejo de los sistemas de archivos en
lenguaje C.
Realizar diferentes implementaciones y formas de acceso a un archivo, para manejo de
informacin.

DESCRIPCION
Para administrar un disco duro montado se contar con la ayuda de un MBR y un Gestor de Arranque. El
MBR contendr una estructura del registro de los datos de la particin entregando el control al Gestor
de Arranque que mostrar un men desde consola para empezar a utilizar el sistema de archivos.
El sistema de archivos tendr caractersticas y funcionalidades de GNU/Linux. Que permitir el manejo
de diferentes operaciones sobre archivos y directorios.

Manejo de informacin de
archivos y su respectivo
mapa de bits sistema

Contiene informacin
sobre todo el sistema

SUPER BLOQUE

BITMAP

BITMAP

TABLA DE
INODOS

BLOQUE DE
DATOS

Manejo de los i-nodos


con caractersticas
similares a los del
sistema de archivos ext
y su respectivo mapa de

TABLA DE
INODOS

Manejo de los i-nodos


con caractersticas
similares a los del
sistema de archivos ext
y su respectivo mapa de

Manejo de informacin de
archivos y su respectivo
mapa de bits sistema

BLOQUES DE
DATOS

LOG(BITACORA)

Bitcora del sistema,


registro de operaciones.

ESTRUCTURA DE SISTEMAS DE ARCHIVOS EXT3


ESTRUCTURA MASTER BOOT RECORD
La estructura del Master Boot Record contiene la siguiente informacin:
mbr_byte_particion:
Contiene el byte donde inicia la particin.
mbr_tipo_sistema_archivos:
Contiene el tipo de sistema de archivos.
mbr_tipo_particion: Contiene
el tipo de particin.
mbr_particion_activa:
Indica si la particin es la activa, est ser la por defecto que iniciar para realizar operaciones sobre el
sistema de archivos.
mbr_size_bytes:
Contiene el tamao en bytes del sistema de archivos.

OPCIONES DE LA APLICACIN
1. CREACIN Y FORMATEO DE PARTICIONES.
Esta funcin es administrada por medio de la consola, que gua cada paso para crear la particin
y formatear el disco.
El sistema contara con distintas opciones:

CREAR NUEVO DISCO DURO: permite crear un nuevo disco duro virtual con un nombre y un
tamao especfico. El tamao del mismo podr ser un mltiplo de 4, ej. 4Mb, 8Mb, 16Mb,
32Mb, etc. (Mb=Tamao del Archivo Binario, simulando un Disco Duro Virtual). El estudiante
deber calcular la cantidad de cada estructura que necesita utilizar para 4Mb y luego utilizar
este clculo como base para discos de otros tamaos, mltiplos de 4.

CREAR PARTICION: Permite crear una particin de cualquier tamao (menor al tamao del
disco duro), y pueden crearse n particiones con la limitante del tamao del disco. Estas
particiones no tendrn formato.

FORMATEAR PARTICION:
Este simplemente formatea el disco duro creado, al sistema de archivos EXT3.

2. MONTAR PARTICION.
Selecciona una particin ya formateada de las disponibles y se empieza a trabajar en el sistema
de archivos EXT3.

2. MANEJO DE DIRECTORIOS
Los directorios deben ser nicos, esto quiere decir que no debe haber dos directorios con el
mismo nombre en un mismo path o ubicacin.

CREAR DIRECTORIO: permite agregar un nuevo directorio. No se efecta si la ruta en la cual


se desea crear no existe, es decir deben existir las carpetas padre para poder crearse.

ELIMINAR DIRECTORIO: permite eliminar un directorio incluyendo sus subdirectorios y


archivos.

LISTAR DIRECTORIO ACTUAL: lista los datos del directorio actual sus subcarpetas y
archivos.

LISTAR DIRECTORIO RECURSIVO: lista los datos del directorio actual sus subcarpetas y
archivos, realizndolo en forma recursiva.

BUSCAR DIRECTORIO: muestra la ubicacin de los directorios que coinciden con el nombre
Ejemplo, si se busca el directorio con nombre mia:
/usr/
/usr/lib/
/usr/lib/mia

3. MANEJO DE ARCHIVOS
Los archivos deben ser nicos, esto quiere decir que no puede haber dos archivos con el mismo
nombre en un mismo path o ubicacin.

CREAR/GUARDAR ARCHIVO: permite guardar un archivo que ha sido creado o modificado


en cualquier directorio existente, no debe de efectuar si la ruta en la cual se desea crear o
eliminar no existe.

LEER/VER ARCHIVO: permite recuperar los caracteres de un archivo y mostrarlos al usuario.


ELIMINAR ARCHIVO: permite eliminar un archivo indicndole el path completo.
EDITAR ARCHIVO: recupera la informacin de un archivo especfico lo muestra en un editor,
permite modificarlo y guardar los cambios realizados. No sobre-escribir ni eliminar y volver a
crearlo.

BUSCAR ARCHIVOS: muestra la ubicacin de los archivos que coinciden con el nombre
Ejemplo, si se busca mia.txt:
/usr/
/usr/lib/
/usr/lib/mia.txt

RENOMBRAR ARCHIVO: permite cambiar el nombre de un archivo indicndole el path


completo.

4. REPORTES
Los reportes se generarn en un archivo de texto, el formato para este reporte es criterio del
estudiante, el formato SUGERIDO: "0,0,1,0,1,0" o "0|0|1|0|1|0"
Los reportes para Ext3 son
1. Reporte del Bitmap de tabla de i-nodos
2. Reporte del Bitmap de bloque de datos
3. Reporte de Bitcora.

5. FUNCIONES ESPECIALES
RUTA INODOS BLOQUES: Se ingresar la ruta de un archivo y se mostrar
grficamente los inodos (con sus metadatos) que se usaron para llegar hasta este
archivo o carpeta, este se mostrar en forma de rbol con los datos de cada inodo y los
bloques consultados. Para esto se puede utilizar la herramienta Graphviz o imprimirlo
en consola.
MOSTRAR BLOQUES ARCHIVO: Se ingresar la ruta de un archivo o carpeta y se
mostrar la informacin que est guardada en los bloques asociados a este ordenados
por bloque.
MOSTRAR BLOQUE SEGN ID: Se ingresar el id del bloque y se mostrara la informacin
que esta guardada en este bloque.

DESCRIPCIN Y FUNCIONAMIENTO DE CADA BLOQUE DEL SISTEMA


ARCHIVOS EXT3
1. SPER BLOQUE:
Ser el encargado de guardar toda la informacin importante y clave del sistema de archivos,
tanto esttica (tamao de estructuras) como dinmicas (espacio libre) simular a como se guarda
en el super bloque del sistema de archivos EXT3. Esta estructura es muy importante en los
sistemas de archivos EXT3 tan importante que se mantiene copias de esta por todo el disco ya

que si se llega a destruir puede recuperarse la mayor informacin posible, esto se simular en
este sistema de archivos por lo tanto se deber guardar una copia de seguridad al final de este
sistema de esta particin. La informacin que deber tener el super bloque del sistema de
archivos EXT3 ser:
DATOS EN LA ESTRUCTURA
sb_numero_inodos
sb_numero_bloques
sb_tamanio_bloque
sb_numero_magico
sb_bloques_freee
sb_inodos_free
sb_mount_time

sb_write_time

sb_mount_count
sb_ap_bitmap_ficheros
sb_ap_bitacora
sb_first_inodo
sb_first_bloque
sb_fist_free_bitmapinodo
sb_first_free_bitmapbloque
sb_first_free_ficheros

DESCRIPCIN
Cantidad de i-nodos que tiene el sistema de
archivos.
Cantidad de bloques de datos que tiene el
sistema de archivos.
El tamao dado a cada bloque.
Firma del disco duro
Cantidad de bloques de datos libres.
Cantidad de i-nodos libres.
Contendr la ltima fecha de montaje
(dd/mm/yyyy hh:mm). Es decir la ltima vez
que se montel sistema en lectura/escritura
como el time_t
Indicara la ltimafecha y hora en la cual se
desmonto el sistema habindolo montado
como lectura/escritura.
Cantidad de veces que se montel sistema.
Apuntados al inicio del bloque de bitmap
deficheros y enlaces simblicos.
Apuntador al inicio del bloque de la bitcora.
Este ser un apuntador al inodo del directorio
raz
Este ser un apuntador al primer bloque de
datos.
Primer bit libre en el bitmap de i-nodo
Primer bit libre en el bitmap de bloque de
datos.
Primer bit libre en el bitmap delbloque de
ficheros y enlaces simblicos.

2. BITMAP DE BLOQUES Y BITMAP DE INODOS:


2.1 BITMAP DE BLOQUES
En este se guarda de manera binaria la informacin de losbloques de datos que se
encuentran ocupados o libres.
1 = Ocupado
0 = Libre o desocupado

2.2 BITMAP DE INODOS:


Es igual al bitmap de bloques solo que aqu se describe a los inodos en el orden que se
encuentran en la tabla de inodos y siguiendo la misma metodologa:
1 = Ocupado
0 = Libre o desocupado

3. TABLA DE I-NODOS
En este bloque se guardan todos los inodos, con sus apuntadores hacia sus respectivos bloques
de datos. La estructura de un inodo debe contener:
Datos
Llave
i_date_mod
i_tam_archivo
i_asig_bloques
i_time_last_access

i_ctime
i_block1
i_block2
i_block3
i_block4
i_Iblock

Descripcin
Indicara el id del inodo
Fecha y hora del ltimo cambio al contenido de esta estructura
Indicar el tamao del archivo(en bytes)
Numero de bloques asignados
Tiempo de ltimo acceso. Es decir la fecha en la cual se accedi a
este inodo para obtener informacin de sus carpetas o archivos
hijos.
Fecha y hora de creacin del inodo
Bloque directo 1
Bloque directo 2
Bloque directo 3
Bloque directo 4
Bloque indirecto

Es importante de hacer notar que un i-nodo no guarda el nombre del archivo. Las
direcciones de bloques de datos sern 4directos y un indirecto.

4. BLOQUE DE DATOS
Los bloques de datos son multifuncionales de tamao 64bytes. Pueden ser utilizados
para guardar informacin del archivo. O contener una estructura interna para el
apuntador al bloque indirecto que apunta a ms bloque de datos y permite un archivo
con ms capacidad.

Bloque de datos para


guardar informacin

Hola

mundo
Inodo
Esto es
una

prueb
a

Hola
Bloque de datos que
contiene una estructura con
apuntadores a otros bloques
para archivos de tamao ms
grande.

Hola

LOG BITCORA
La bitcora maneja todas las transacciones que realiza el sistema de archivos (respaldo
para recuperacin), la cual tiene maneja la siguiente informacin.
DATO EN LA ESTRUCTURA
log_tipo_operacion
log_tipo
log_nombre
log_contenido
log_fecha

DESCRIPCIN
El tipo de operacin a realizarse
Si es archivo (0), si es directorio(1)
Nombre archivo o directorio(path
completo)
Si hay datos contenidos(512)
Fecha de transaccin

ESPECIFICACIONES

El lenguaje a utilizar es C puro, NO UTILIZAR C++ NI LIBRERIAS QUE NO SEAN APROBADAS.


El sistema operativo a utilizar es cualquier distribucin de GNU/Linux (instalacin fsica, solo
se calificar la prctica sobre una distribucin de GNU/Linux).
El manual tcnico deber incluir una especificacin de lo que realiza cada mtodo de la
aplicacin y debe coincidir con el cdigo del proyecto entregado (la descripcin de mtodos
es solo parte del contenido del manual). El proyecto debe de incluir con las especificaciones
dadas, si no se incluye tendrn una nota de 0 ya que se considerara copia.
Manual de usuario.
El proyecto se realizar de forma individual.
No se permite nada en Memoria entindase listas, vectores etc., para el manejo de los
archivos/carpetas. Todo es acceso al disco en tiempo real.

El archivo binario no debe crecer.

Para el manejo de leer/escribir en el archivo binario de debe realizar como en la Prctica 1


con lenguaje de C.

CONSIDERACIONES A TOMAR EN CUENTA

El Proyecto se entrega en la fecha indicada, se tomar en cuenta que la impuntualidad


en la entrega afectar la nota, as como tambin queda a discrecin del Auxiliar el
recibir algo fuera del tiempo estipulado.
Se verificarn copias de cdigo, cualquier copia del Proyecto ser sancionada con la
prdida automtica del Laboratorio y la sancin correspondiente por parte de la
Escuela de Sistemas.
No se permite el uso de cdigo bajado de Internet para el Proyecto.
Si alguna persona no puede llegar a la calificacin de proyecto (excepto a las personas
que ya han definido con los Auxiliares que trabajan), debe informar con anticipacin
tanto al Auxiliar como al Ingeniero indicando el motivo de su falta, el Ingeniero
determinar si puede o no realizarse la calificacin del Proyecto y bajo qu trminos se
har si esto se realiza.

ENTREGA Y CALIFICACIN
Fecha de entrega de Proyecto: Viernes 19 de junio de 2015
Hora de entrega: 7:30 8:00 am, enfrente de la escuela de sistemas.
Lugar, Da y Hora de calificacin: a definir
Forma de Calificacin: Presencial, y conforme asignacin en horario, si el estudiante no se
encuentra cuando se le llame este pasar al ltimo, y si por alguna razn se le vuelve a llamar
por segunda ocasin y no estuviese, ya no se le califica.

Entregables: Se deber entregar un CD tanto la Documentacin (Manual Tcnico y Manual


de Usuario) como el cdigo fuente de la aplicacin, as como el ejecutable. Los nombres de los
archivos fuente debern llevar el siguiente formato: NombredelArchivo_Carnet.extensin
(miarchivo_201101001.c).

Você também pode gostar