Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FACULTAD DE INGENIERIA
ESCUELA DE CIENCIAS Y SISTEMAS
MANEJO E IMPLEMENTACION DE ARCHIVOS
Ing. Alvaro Daz A.
Ing. Oscar Paz Campos
Aux. Victor Corado
Aux. Rigoberto Macario
Primera Practica
Introduccin
La prctica consiste en la simulacin de los principales mtodos de asignacin de espacio para
archivos, los cuales son la asignacin contigua, asignacin enlazada y asignacin indexada. As
tambin en la parte de asignacin contigua se tocar el tema de las principales estrategias de
colocacin las cuales son primer ajuste, peor ajuste y mejor ajuste.
Objetivos
Descripcin
La prctica consiste en realizar una aplicacin la cual es capaz de simular el funcionamiento
de los distintos mtodos de asignacin de espacio incluyendo adems las estrategias de colocacin
en la parte de asignacin contigua. Esta aplicacin es totalmente en consola desarrollado en
lenguaje C por lo que no tendr interfaz grfica y las libreras utilizadas sern obligatoriamente del
lenguaje C nativo.
La aplicacin tiene como funcionamiento 3 teoras principales:
ADMINISTRACIN DE DISCO
Estructura general.
El disco se simular con la ayuda de un fichero binario el cual ser administrado exclusivamente a
travs de estructuras en C. Con motivos prcticos se tendr un solo disco con 3 particiones fijas y
creadas al momento de creacin del disco.
El disco debe pesar exactamente 10 MB.
La arquitectura del disco es de la siguiente forma:
MBR
Particion1:
Particion2:
Particion3:
Asignacin
Contigua
Asignacin
Enlazada
Asignacin
Indexada
EL MBR
El Master Boot Record es una parte inicial del disco el cual contiene la informacin de las
particiones en el mismo y su estructura en general, con el fin de administrar este disco para este
caso tendr:
La posicin de la particin 1.
La posicin de la particin 2.
La posicin de la particin 3.
El espacio utilizado y libre de la particion1.
El espacio utilizado y libre de la particion2.
El espacio utilizado y libre de la particion3.
Manejo de Bloques
La particin est compuesta por bloques, cada bloque contendr:
Crear Archivo
Esta opcin permite crear archivos en las particiones seleccionadas; La aplicacin debe de proveer
una interfaz para ingresar el nombre del archivo, y la informacin de dicho archivo. El nombre
ser un ID numrico. Para almacenar el archivo la aplicacin deber dividirlo en n caracteres el
cual es el tamao de dicho bloque, para conocer la cantidad de bloques que se requieren para
almacenarlos, luego se buscarn bloques de datos CONTIGUOS libres y de acuerdo al ajuste que
se est trabajando se almacenar el archivo en los bloques contiguos libres que se
encontraron.
Si al momento de crear un archivo, la particin donde se quiere almacenar est llena,
entonces mostrara un error que indique que esa particin est llena.
Los tipos de ajustes a trabajar son:
Primer ajuste.
Mejor ajuste.
Peor ajuste.
Eliminar Archivo
Se podr indicar el ID del archivo que se desea eliminar, con este se buscaran todos los bloques
que tengan almacenado el archivo con ese id y se eliminarn los datos que se encuentren en
esos bloques y se cambiar el Estado de los mismos a Libre.
Modificar Archivo
El usuario tiene posibilidad de ver en consola o interfaz el archivo que desee, y modificarlo.
(Elimina y Crea).
Consultar Archivo
Se deber poder consultar cualquier archivo conociendo su ID. Se consulta su texto.
El directorio de archivos
Para este tipo de asignacin es necesario utilizar un directorio el cual es como una tabla al inicio de
la particin y se compone de la siguiente forma:
Archivo
Bloque Inicial
1
7
4
2
Nota: para este caso se reservar un directorio para exactamente 500 archivos.
Manejo de Bloques
La particin est compuesta por bloques, cada bloque contendr:
Estructura enlazada:
Crear Archivo
Esta opcin permite crear un archivo preguntando su ID el cual deber ser un nmero entero, luego
su contenido que es texto. La manera de almacenar dado este tipo de asignacin de espacio es
buscar desde el inicio del disco un bloque libre, al encontrar el primer bloque libre se empieza a
almacenar el archivo desde esa posicin y buscado el siguiente bloque libre, enlazando al mismo
tiempo todos los bloques que el archivo ocup, colocando un valor -1 para el ltimo bloque
utilizado para diferenciar el fin del archivo.
Al final se debe registrar el archivo en el directorio.
Eliminar Archivo
Se podr indicar el ID del archivo que se desea eliminar para luego buscar la posicin en el
directorio, eliminarlo de dicho directorio y liberar cada bloque poniendo en el campo puntero un
valor de 0 el cual indicar que dicho bloque no est utilizado. No es necesario eliminar la data.
Modificar Archivo
El usuario tiene posibilidad de ver en consola el archivo que desee, y modificarlo. (Elimina y
Crea es la mejor manera).
Consultar Archivo
Se deber poder consultar cualquier archivo conociendo su ID. Se consulta su texto.
El directorio de archivos
Para este tipo de asignacin es necesario utilizar un directorio el cual es como una tabla al inicio de
la particin y se compone de la siguiente forma:
Archivo
Bloque ndice
1
7
4
2
Nota: para este caso se reservar un directorio para exactamente 500 entradas.
Manejo de Bloques
La particin est compuesta por bloques, cada bloque contendr:
Estructura indexada:
Crear Archivo
Esta opcin permite crear un archivo preguntando su ID el cual deber ser un nmero entero, luego
su contenido que es texto. La manera de almacenar dado este tipo de asignacin de espacio es
buscar desde el inicio del disco un bloque libre, al encontrar el primer bloque libre se inserta una
entrada en el directorio indicando el ID del archivo y el apuntador al bloque ndice, este bloque
ndice almacena punteros hacia bloques que almacenarn el archivo.
Eliminar Archivo
Se podr indicar el ID del archivo que se desea eliminar para luego buscar la posicin en el
directorio, eliminarlo de dicho directorio y liberar cada bloque poniendo en el campo ESTADO un
valor de 0 el cual indicar que dicho bloque no est utilizado. No es necesario eliminar la data.
Modificar Archivo
El usuario tiene posibilidad de ver en consola el archivo que desee, y modificarlo. (Elimina y
Crea es la mejor manera).
Consultar Archivo
Se deber poder consultar cualquier archivo conociendo su ID. Se consulta su texto.
REPORTES
PARTICION 1
Reporte de estados de bloques
En cualquier momento, se debe permitir al usuario que seleccione la particin y proveerle un
reporte de estados de los bloques, se solicitara la ruta de almacenamiento del reporte y dicho
reporte es un archivo de texto con extensin .ids.
La estructura del reporte idDisco.ids debe de ser la siguiente:
Esto en donde dice ID tiene el id del archivo que ocupa esos bloques y en _ los que estn libres
NOTA: Para este reporte, cada lnea posee nicamente informacin de 50 Bloques.
|contenido|contenido|
|contenido|contenido|
|contenido|
|contenido|
|contenido|contenido|
NOTA: Para este reporte, cada lnea posee nicamente informacin de 50 Bloques.
PARTICION 2
Reporte de directorio
Se debe generar un archivo de texto con la estructura del directorio de archivos.
Reporte de bloques
Ester reporte muestra el estado de los campos de los bloques actualmente. El usuario podr
ingresar cuantos bloques quiere reportar, por ejemplo al ingresar un valor 300 se reportaran los
primeros 300 bloques.
|22_;)!!!_-1|23_---------_0|24_mundo_0|25_conten_0|
NOTA: Para este reporte, cada lnea posee nicamente informacin de 30 Bloques.
El formato a reportar un bloque es:
|IDBloque_CONTENIDO_PUNTERO|
Para representar espacios en blanco se utilizar el smbolo guion: -.
PARTICION 3
Reporte de directorio
Se debe generar un archivo de texto con la estructura del directorio de archivos.
Reporte de bloques
Ester reporte muestra el estado de los campos de los bloques actualmente. El usuario podr
ingresar cuantos bloques quiere reportar, por ejemplo al ingresar un valor 300 se reportaran los
primeros 300 bloques.
REPORTE DE BLOQUES
Fecha del Reporte: dd/mm/yyyy - hh:mm:ss
-----------------------------------------------------------------|1_hola!_1|2_---------_0|3_mundo_1|4_conten_1|
|5_hola!_-1|6_---------_0|7_mundo_0|8_conten_0|
|22_;)!!!_1|23_---------_0|{24_1,3,22_2}|25_conten_0|
NOTA: Para este reporte, cada lnea posee nicamente informacin de 30 Bloques.
EL DISCO
Reporte del MBR
Se reportarn en consola todos los campos del MBR y sus valores.
ESPECIFICACIONES:
El lenguaje a utilizar es C.
La interfaz es en consola.
Cada bloque es una estructura de C almacenada en el archivo Binario.
El sistema operativo a utilizar es cualquier distribucin de GNU/Linux (instalacin fsica no
virtual, solo se calificar la prctica sobre una distribucin GNU/Linux).
Se puede utilizar cualquier IDE que se desee, pero no se permiten clases especiales que
estos puedan proporcionar, solamente el lenguaje C como tal.
El manual tcnico deber especificar de lo que realiza cada mtodo de la aplicacin y debe
coincidir con el cdigo de la prctica entregada.
Todo es acceso a disco en tiempo real no se debe implementar memoria para levantar todo
el disco o algo parecido, si se trabaja todo con memoria tendrn una nota de 0.
CONSIDERACIONES
La prctica se entrega en la fecha indicada, se tomar en cuenta que la impuntualidad de la
entrega afectar la nota, as como tambin queda a discrecin del auxiliar recibir algo fuera
del tiempo estipulado. Se verificaran copias de cdigo, cualquier copia de la prctica ser
sancionada con la prdida automtica del Laboratorio y la sancin correspondiente por parte de la
Escuela de Sistemas.
Si alguna persona no puede llegar a la calificacin de la prctica (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. Se determinara si puede o no
realizarse la calificacin de la prctica y bajo qu trminos.
ENTREGA Y CALIFICACIN