You are on page 1of 23

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA

FACULTAD DE INGENIERA
ESCUELA DE CIENCIAS Y SISTEMAS
MANEJO E IMPLEMENTACIN DE ARCHIVOS A
Ing. lvaro Daz Ing. Oscar Paz Campos
Aux. Flix Garca Aux. Georgina Estrada

ENUNCIADO PROYECTO FASE 1

PRIMER SEMESTRE 2017


Introduccin
El curso de Manejo e Implementacin de Archivos se busca que el estudiante aprenda los
conceptos sobre la administracin de la informacin en los diferentes dispositivos, tanto en
hardware como software, sistemas de archivos, particiones, entre otros conceptos, para
despus introducirse en las bases de datos. La primera fase consiste en la simulacin de las
distintas estrategias de colocacin en un disco duro para el almacenamiento de archivos,
as como tambin la comprensin sobre teora de particiones en discos duros, utilizando
conocimientos adquiridos en el curso y el laboratorio.

Objetivos
Aplicar y Comprender claramente la teora de particiones (primaria, lgica y extendida).
Aprender a administrar archivos y escribir estructuras en C
Comprender el sistema de archivos
Comprender y aplicar la teora dada en clase sobre los sistemas de archivos.
Aprender la estructura y tcnicas de programacin en el lenguaje C.
Realizar diferentes implementaciones y forma de acceso a un archivo, para manejo de
informacin.
Generar reportes del estado del disco duro y la informacin que se almacena.
Aplicar el formato rpido y completo en una particin
Crear una aplicacin de comandos
Aplicar la teora de ajustes
Aplicar los Mtodos de Asignacin de espacio contina, indexada y enlazada.
Aplicar la teora de particiones
Utilizar GraphViz y archivos de texto para mostrar reportes
Descripcin
Consiste en realizar una aplicacin la cual es capaz de simular el control y manejo de un disco duro,
en la cual podr generar discos, particionar y administrar. As mismo deber poder crear y eliminar
archivos con informacin con el fin de poder simular las distintas estrategias de colocacin en un
disco duro. Esta aplicacin es totalmente en consola desarrollado en lenguaje C por lo que no tendr
interfaz grfica.

La aplicacin tiene como funcionamiento 2 teoras principales:

Teora de Particiones.
Estrategias de Colocacin.

Comandos
La aplicacin ser totalmente en consola, a excepcin de los reportes en Graphviz. La aplicacin
consta nicamente de una consola en la cual el usuario podr ingresar comando que le servirn
para la realizacin de las diferentes acciones posibles. Algunas normas que debe cumplir se
presentan a continuacin, no distinguir entre maysculas y minsculas. Hay parmetros
obligatorios y opcionales que se identificarn al inicio con un smbolo (& obligatorios) y
(%opcionales). Solo se puede colocar un comando por lnea. No se podr utilizar alguna
herramienta para interpretar estos comandos (flex, bison u otros). Se recomienda hacer un
autmata sencillo para interpretar los comandos.

Si se utiliza un parmetro que no est especificado en este documento, debe mostrar un mensaje
de error. Se utilizarn espacios en blanco para separar cada parmetro. Los parmetros pueden
venir en cualquier orden.

Si un comando necesita ms de una lnea se utilizar \^ al final de la lnea para indicar que
contina en la siguiente lnea. Tambin se podrn ejecutar archivos de scripts con estos
comandos. Se podr comentar cada comando Los comentarios de estos scripts empezarn con #
dichos comentarios son nicamente de lnea. Estos y otros comandos se explicarn en detalle a
continuacin.
Administracin de disco
Para la administracin del disco se contar con una serie de comandos con los cuales se podrn
modificar cualquier caracterstica lgica del sistema del disco, con estos comandos se realizar la
creacin de archivos que simularn ser un disco duro, en dicho archivo se podr dar formato con
el sistema de archivos. Estos comandos estn disponibles desde que se inicia el programa. Estos
comandos son:

MKDISK
Este comando crear un archivo binario que simular un disco duro, estos archivos binarios
tendrn la extensin dsk y su contenido al inicio ser \0. Deber ocupar fsicamente el tamao
indicado por los parmetros, (no importa que el sistema operativo no muestre el tamao exacto).
Recibir el name del archivo que simular el disco duro y tendr los siguientes parmetros:

Parmetro Categora Descripcin

&SIZE Obligatorio Este parmetro recibir un nmero que indicar el


tamao del disco a crear. Debe ser positivo y mayor
que cero, si no se mostrar un error.

El tamao del mismo deber ser un mltiplo de 8, ej.


8, 16, 32, etc. (Mb=Tamao del Archivo Binario,
simulando un Disco Duro Virtual). El estudiante
deber calcular la cantidad de cada estructura que
necesita utilizar para 8 unidades y luego utilizar
este clculo como base para discos de otros
tamaos, mltiplos de 8.

Si el valor no es mltiplo de 8 debe mostrar error y


no podr generar el disco.

&PATH Obligatorio Este parmetro ser la ruta en el que se crear el


archivo que representar el disco duro. Si las
carpetas de la ruta no existen debern crearse. Debe
considerar que la aplicacin debe tener los permisos
necesarios para la generacin de carpetas en
cualquier ruta.

NOTA: La direccin de la carpeta nicamente llevar


comillas dobles ( ) cuando algn name dentro de l
direccin contenga espacios, de lo contrario podra
venir sin comillas.

Ejemplo1: /home/user/documents/

Ejemplos2: /home/user/documents/juan
gonzalez/Mis Discos/

&NAME Obligatorio Este parmetro ser el name del disco con extensin
dsk. Si no contiene la extensin dsk debe mostrar un
mensaje de error.

El name nicamente puede estar compuesto por


letras, nmeros y el nico smbolo aceptado ser _
para unir caracteres, como por ejemplo: Disco_1.dsk

NOTA: este parmetro NO se encerrar entre


comillas de ningn tipo.

Este parmetro recibir una letra que indicar las


%UNIT Opcional unidades que utilizar el parmetro size. Podr tener
los siguientes valores:
k que indicar que se utilizarn Kilobytes (1024 bytes)
m en el que se utilizarn Megabytes (1024 * 1024 bytes)
Este parmetro es opcional, si no se encuentra se
crear un disco con tamao en Megabytes. Si se
utiliza otro valor debe mostrarse un mensaje de
error.

Ejemplos:

#Crea un disco de 3000 Kb en la carpeta home


Mkdisk &size->32 &path->/home/user/ \^
&name->Disco1.dsk %uniT&>k

#Se crearn carpetas si no existen


mkdisk &SiZe->8 &pAth->/home/mis discos/DISCO Prueba/ \^
&namE->Disco_3.dsk

#Crear un disco de 16 Mb ya que no hay parmetro unit


Mkdisk &size->16 &path->/home/mis discos/ &NaMe->Disco4.dsk
RMDISK
Este parmetro elimina un archivo que representa a un disco duro mostrando un mensaje de
confirmacin para eliminar, s el usuario acepta realizar el cambio el disco duro debe ser eliminado.
Tendr los siguientes parmetros:

Parmetro Categora Descripcin

&path Obligatorio Este parmetro ser la ruta en el que se eliminar el


archivo que representar el disco duro. Si el archivo no
existe, debe mostrar un mensaje de error.

Ejemplos:

#Elimina Disco_4.dsk
rmDisk &path&>"/home/mis discos/Disco_4.dsk"

FDISK
Este comando administra las particiones en el archivo que representa al disco duro. Se utilizar el
primer ajuste para buscar espacio dentro del disco y crear la particin.

IMPORTANTE: Este primer ajuste solo es para buscar espacio para crear la particin, es diferente
del ajuste que utilizar cada particin para crear los archivos que se utilizar ms adelante en el
proyecto.

Deber mostrar un error si no se pudo realizar la operacin solicitada sobre la particin,


especificando por qu razn no pudo crearse (Por espacio, por restricciones de particiones, etc.).
No se considerar el caso de que se coloquen parmetros incompatibles, por ejemplo en un mismo
comando fdisk llamar a delete y add.
La estructura de cada disco se explicar ms adelante. Tendr los siguientes parmetros:

Parmetro Categora Descripcin

&SIZE Obligatorio Este parmetro recibir un nmero que indicar el


al crear tamao de la particin a crear. Debe ser positivo y
mayor a cero, si no mostrar un mensaje de error.
%UNIT Opcional Este parmetro recibir una letra que indicar las
unidades que utilizar el parmetro size. Podr tener
los siguientes valores:

B: que indicar que se utilizarn bytes


K: que indicar que se utilizarn Kilobytes (1024 bytes)
M: en el que se utilizarn Megabytes (1024 * 1024 bytes)

Este parmetro es opcional, si no se encuentra se crear


una particin en Kilobytes. Si se utiliza un valor
diferente mostrar un mensaje de error.

&PATH Obligatorio Este parmetro ser la ruta en la que se encuentra el


disco en el que se crear la particin. Este archivo ya
debe existir, si no se mostrar un error.
NOTA: La direccin de la carpeta nicamente llevar
comillas dobles ( ) cuando algn name dentro de l
direccin contenga espacios, de lo contrario podra venir
sin comillas.
Ejemplo1: /home/user/documents/
Ejemplos2: /home/user/documents/juan gonzalez/Mis
Discos/

%TYPE Opcional Indicar que tipo de particin se crear. Ya que es


opcional, se tomar como primaria en caso de que no se
indique. Podr tener los siguientes valores:
P: en este caso se crear una particin primaria.
E: en este caso se crear una particin extendida.
L: Con este valor se crear una particin lgica.

Nota: Las particiones lgicas slo pueden estar dentro de


la extendida sin sobrepasar su tamao. Deber tener en
cuenta las restricciones de teora de particiones: La suma
de primarias y extendidas debe ser como mximo 4.
Solo puede haber una particin extendida por disco.
No se puede crear una particin lgica si no hay una
extendida.

Si se utiliza otro valor diferente a los anteriores deber


mostrar un mensaje de error.
%FIT Opcional Indicar el ajuste que utilizar la particin para asignar
espacio. Podr tener los siguientes valores:

BF: Indicar el mejor ajuste Best Fit


FF: Utilizar el primer ajuste First Fit
WF: Utilizar el peor ajuste Worst Fit

Ya que es opcional, se tomar el peor ajuste si no est


especificado en el comando. Si se utiliza otro valor que no
sea alguno de los anteriores mostrar un mensaje de error.

%ALLOCATION Opcional Indicar el mtodo de asignacin de espacio. Podr tener


los siguientes valores:
C: Indicar Asignacin Contigua.
E: Indicar Asignacin Enlazada
IX: Indicar Asignacin Indexada

Ya que es opcional, se tomar la Asignacin indexada si no


est especificado. Si se utiliza otro valor que no sea alguno
de los anteriores mostrar un mensaje de error.

%DELETE Opcional Este parmetro indica que se eliminar una particin. Este
parmetro se utiliza junto con &name y &path. Se deber
mostrar un mensaje que permita confirmar la eliminacin
de dicha particin.

Si la particin no existe deber mostrar error. Si se


elimina la particin extendida, deben eliminarse las
particiones lgicas que tenga adentro.
Recibir los siguientes valores:
Fast: Esta opcin marca como vaco el espacio en
la tabla de particiones.
Full: Esta opcin adems marcar como vaci el espacio
en la tabla de particiones, rellena el espacio con el
carcter \0.
Si se utiliza otro valor diferente, mostrar un mensaje de
error.
&NAME Obligatorio Indicar el name de la particin. El name no debe
repetirse dentro de las particiones de cada disco. Si
se va a eliminar, la particin ya debe existir, si no
existe debe mostrar un mensaje de error.

%ADD Opcional Este parmetro se utilizar para agregar o quitar


espacio de la particin. Puede ser positivo o
negativo. Tomar el parmetro %UNIT para las
unidades a agregar o eliminar.

En el caso de agregar espacio, deber comprobar que


exista espacio libre despus de la particin. En el caso de
quitar espacio se debe comprobar que quede espacio en
la particin (no espacio negativo).

Ejemplos:
#Crea una particin primaria llamada Particion1 de 72 kb
#con el peor ajuste y con asignacin indexada en el disco Disco1.dsk
fdisk &sizE->72 &path->/home/Disco1.dsk &name->Particion1

#Crea una particin extendida dentro de Disco2 de 56 kb


#Tiene el peor ajuste y asignacin Enlazada
fdisk %TyPE->E &path->/home/Disco2.dsk %Unit->K \^
&name->Particion2 &sizE->56 %Allocation->E
#Crea una particin lgica con el mejor ajuste, llamada Particion3,
#de 1 Mb en el Disco3 y asignacin contigua
fdisk &sizE->1 %tipo->L %unit->M %fit->BF \^
%Allocation->C &path->/mis discos/Disco3.dsk name->Particion3
#Intenta crear una particin extendida dentro de Disco2 de 200 kb
#Debera mostrar error ya que ya existe una particin extendida
#dentro de Disco2
fdisk %tipo->E &path->/home/Disco2.dsk &name->Part3 \^
%Unit->K &sizE->200
#Elimina de forma rpida una particin llamada Particion1 fdisk %delete->fast &name-
>"Particion1"\ &path->"/home/Disco1.dsk"
#Elimina de forma completa una particin llamada Particion1 fdisk &name->"Particion1"
%delete->full \ &path->"/home/Disco1.dsk"
#Agrega 1 Mb a la particin Particion4 del Disco4.dsk
#Se debe validar que haya espacio libre despus de la particin fdisk %add->1 %unit->M
path->"/home/mis discos/Disco4.dsk" \
&name->"Particion 4"
MOUNT
Este comando montar una particin del disco en el sistema. Cada particin se
identificar por un id que tendr la siguiente estructura: VD % LETRA % NUMERO. Por
ejemplo: vda1, vda2, vdb1, vdc1 La letra ser la misma para particiones en el mismo
disco y el nmero diferente para particiones en el mismo disco.

Si nicamente viene la palabra reservada MOUNT deber mostrar un listado de


particiones montadas.

Parmetro Categora Descripcin

&PATH Obligatorio Este parmetro ser la ruta en la que se encuentra el


disco que se montar en el sistema. Este archivo ya
debe existir.

&NAME Obligatorio Indica el name de la particin a cargar. Si no existe debe


mostrar error.

Ejemplos:
#Monta las particiones de Disco1.dsk
mount &path->/home/Disco1.dsk &name->Part1 #id->vda1
mount &path->/home/Disco2.dsk &name->Part1 #id->vdb1
mount &path->/home/Disco3.dsk &name->Part2 #id->vdc1
mount &path->/home/Disco1.dsk &name->Part2 #id->vda2
#Si se coloca el comando mount sin parametros mostrar en la consola las particiones montadas.
id->vda1 &path->"/home/Disco1.dsk" &name->"Part1"
id->vdb1 &path->"/home/Disco2.dsk" &name->"Part1"
id->vdc1 &path->"/home/Disco3.dsk" &name->"Part2"
id->vda2 &path->"/home/Disco1.dsk" &name->"Part2"

UNMOUNT
Desmonta una particin del sistema. Se utilizar el id que se le asign a la particin al momento
de cargarla.

Se debe poder desmontar por listado de particiones. Recibir los siguientes parmetros.
Parmetro Categora Descripcin

&idn Obligatorio Especifica una lista de id de las particiones


que se desmontar. Si no existe algn id
deber mostrar un error.
Ejemplos:

#Desmonta la particin con id vda1 (En Disco1.dsk)


unmount &id1->vda1
#Si no existe, se debe mostrar error
unmount &id1->vdx1
#Desmonta una lista de particiones.
unmount &id1->vda1 &id2->vdb2 &id3->vdc1

DISK FREE (df)

Este comando muestra la informacin del nombre del dispositivo, el total de bloques, el espacio
total del disco, el espacio de disco utilizado, el espacio disponible en el disco. Si alguno de los
parmetros no aparece entonces se visualizar el resultado en bytes.

Parmetro Categora Descripcin

%k Opcional Este parmetro ser para visualizar toda la informacin


del sistema de archivos y el uso de bloques de 1024 bytes.

%m Opcional Este parmetro ser para visualizar toda la informacin del


sistema de archivos y el uso de bloques de 1024 * 1024 bytes

%h Opcional Este parmetro ser para mostrar los tamaos en formatos


legibles por humanos mediante el uso de %h (imprime los
resultados en formato legible por el hombre (por ejemplo, 1K
2M 3G)).

%i Opcional Con el parmetro %i mostrar la informacin del nmero de


bloques utilizados y su porcentaje en el sistema de archivos.

#Filesystem Type 1K&blocks Used Available Use% id


# DISK1 FREE 78361192 23186116 51130312 32% vda1
# DISK2 FREE 24797380 22273432 1243972 95% vdb1

Df %k

#Filesystem Type blocks Used Available Use% id


#DISK1 FREE 75G 23G 49G 32% vda1
# DISK2 FREE 24M 22M 1.2M 95% vdb1
Df %h

#Filesystem Type Inodes IUsed IFree IUse% id


#DISK1 FREE 29G 25G 2.6G 91% vda1
#DISK2 FREE 24M 22M 1.2M 95% vdb1

Df %i %h

DISK USED (du)

Se usa para estimar el uso de espacio en disco duro de un archivo, un directorio en particular o de
archivos en un sistema de archivos.

Parmetro Categora Descripcin

%n Opcional Especifica una lista de n directorios o


archivos ms pesados en nuestro sistema
de archivos. Por defecto el valor es 1.

&h Obligatorio Especifica la cantidad en M, G o como considere ms


entendible.

&path Opcional Especifica el tamao actual de un directorio o archivo en


particular, si no se muestra este parmetro por defecto se
tomar a evaluar todo el sistema de archivos.

Du &h &n->5

#215G Videos
#171G Linux
#68G Documentos
#50G Msica
#28K mageia&2013.txt

Du &h %n->3 %path->/home/usr


#Este mostrar los 3 primeros directorios o archivos que ocupen ms espacio del directorio
# /home/usr
#215G Videos
#171G Linux
#68M hola.txt
DU &H
#este mostrar el directorio o archivo que ocupe ms espacio en el sistema de archivo.
#215G Videos

Estructuras Discos
Los discos sern archivos binarios que tendrn informacin del MBR, y espacio con particiones o
bien, espacio sin utilizar. La siguiente figura es un ejemplo de los bloques en un disco con
particiones en el que ya se ha eliminado una particin:

Master Boot Record


Cuando se crea una particin debe utilizarse el primer ajuste para crearla. En la figura anterior
debera utilizarse el primer bloque libre para crear una nueva particin. El MBR tendr los
siguientes campos:

Name Tipo Descripcin

mbr_tamao int Tamao total del disco en bytes

mbr_fecha_creacion time Fecha y hora de creacin del disco

mbr_disk_signature int Nmero random, que identificar de forma


nica a cada disco

mbr_partition_1 partition Estructura con informacin de la particin 1

mbr_partition_2 partition Estructura con informacin de la particin 2

mbr_partition_3 partition Estructura con informacin de la particin 3

mbr_partition_4 partition Estructura con informacin de la particin 4


El contenido de la estructura partition ser el siguiente:

Name Tipo Descripcin

part_status char Indica si la particin est activa o no

part_type char Indica el tipo de particin, primaria o


extendida. Tendr los valores P o E

part_fit char Tipo de ajuste de la particin. Tendr los valores BF (Best), FF


(First) o WF (worst)

part_start int Indica en qu byte del disco inicia la


particin

part_size int Contiene el tamao total de la particin en bytes.

part_name char[16] Name de la particin

Extended Boot Record


Las particiones extendidas tendrn una estructura diferente. Se utilizar una estructura llamada
EBR (Extended Boot Record) en forma de lista enlazada, que ser como la siguiente:

Name Tipo Descripcin

part_status char Indica si la particin est activa o no

part_fit char Tipo de ajuste de la particin. Tendr los valores BF (Best),


FF (First) o WF (worst)

part_start int Indica en que byte del disco inicia la particin

part_size int Contiene el tamao total de la particin en bytes.

part_next int Byte en el que est el prximo EBR. &1 si no hay


siguiente

part_name char[16] Name de la particin


La estructura lgica de la particin extendida ser como la siguiente:

EBR inicial siempre debe existir, aunque se elimine la primera particin.

Para crear el archivo del disco se recomienda utilizar un char[1024] como buffer para crear el
archivo, si se utiliza un char[1] normalmente se tarda demasiado al momento de crear el
archivo.

MKFS
Este comando realiza un formato completo de la particin, se dar formato con EC(en la siguiente
fase se realizar con el sistema de archivos que se indique).

Parmetro Categora Descripcin

&id Obligatorio Indicar el id que se gener con el comando mount de la fase anterior.
Si no existe mostrar error. Se utilizar para saber la particin y el disco
que se utilizar para hacer el sistema de archivos.

%type Opcional Indicar que tipo de formato se realizar. Ya que es opcional, se


tomar como un formato completo si no se especifica esta opcin.
Podr tener los siguientes valores:
Fast: en este caso se realizar un formato rpido.
Full: en este caso se realizar un formato completo.
La diferencia entre estos dos tipos se explicar ms adelante.

%add Opcional Este parmetro se utilizar para aumentar o reducir el tamao del
sistema de archivos, el valor puede ser positivo o negativo.
En caso de que sea negativo se debe validar que no se elimine
informacin dentro del sistema al momento de reducir el sistema de
archivos.
En el caso de que sea positivo se debe validar que no sobrepase el
tamao de la particin.

%unit Opcional Este parmetro recibir una letra que indicar las unidades que
utilizar el parmetro +add. Podr tener los siguientes valores:
B: que indicar que se utilizarn bytes
K: que indicar que se utilizarn Kilobytes (1024 bytes)
M: en el que se utilizarn Megabytes (1024 * 1024 bytes)
Este parmetro es opcional, si no se encuentra se utilizarn
Kilobytes.

%FS Opcional Indica el sistema de archivos con el cual se dar formato a la particin.
Si el comando no se indica se tomar por defecto el formato EC que
indica estrategias de colocacin, sin embargo debe considerar que en
la siguiente fase se agregarn sistemas de archivos.

#Se realizar el formato de la partcion 1 del disco 1 al sistema de archivos EC


MkfS &id->vda1 %type->fast %FS->EC

#Se agregarn 30k al sistema de archivos


MkfS &id->vda1 %add->30 %unit->k

EC (Estrategias de colocacin)
Debe de realizarse una funcin matemtica que adecue el nmero de bloques que existirn en dicha
particin partiendo de la premisa del tamao de cada bloque(50 Caracteres), el tamao total de la
particin y tomando en cuenta que cada particin al inicio tendr un bitmap o mapa de bits que
indicara que bloques estn libres y cules no lo estn. Bsicamente el tamao de una particin es el
siguiente:

Tamao Particin = Bitmap + N Bloques

El bitmap posee un 1 si el bloque est ocupado y un 0 si esta libre, bsicamente el bitmap


es un conjunto lineal de 1s y 0s. En base a esos datos es que la funcin matemtica debe de obtener
una cantidad mxima de Bloques para cada particin.

BLOQUE
Name Descripcin

Nombre Nomre del archive


consta de 15
caracteres como
mximo

informacion Tamao total del


bloque de 50
bytes
ADMINISTRACION DE ARCHIVOS
MKFILE
Este comando permitir crear un archivo, Tendr los siguientes parmetros:
Parmetro Categora Descripcin

&id Obligatorio Especifica el id de la particin en la que se crear el archivo. Si no


existe debe mostrar error.

&name Obligatorio Este parmetro ser el nombre con el cual ser identificado el archivo
a crear

&contenido Obligatorio Este parmetro ser el contenido del archivo a generar. El


contenido deber ser agregado entre comillas dobles

#Se crear un archivo con el nombre archivo0


Mkfile &id->vda1 &name->archivo0 &contenido->Este es un texto para el archivo que se estar
generando en el sistema

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.

rm
Este comando permitir eliminar un archivo Tendr los siguientes parmetros:
Parmetro Categora Descripcin

&id Obligatorio Especifica el id de la particin en la que se eliminar el archivo. Si no


existe debe mostrar error.

&FILEID Obligatorio Este parmetro ser el nombre del archivo que se eliminar.
Si no existe el archivo, debe mostrarse un mensaje de error.
Debern poder eliminarse una lista de archivos.

#Se eliminar el archivo con nombre archivo0


Mkfile &id->vda1 &FILEID->archivo0

#Se eliminar los archivos con nombre archivo1, archivo3, archivo4


Mkfile &id->vda1 &FILEID->archivo1 &FILEID->archivo3 &FILEID->archivo4
REPORTES
Se debern generar los reportes con el comando rep. Se generarn en graphviz. Se puede utilizar
html dentro de los reportes si el estudiante lo considera necesario. Deber mostrarlos de forma
similar a los ejemplos mostrados.

IMPORTANTE: Esta parte es obligatoria para tener derecho a la calificacin de los aspectos que
muestre el reporte. Si falta alguno de los reportes no se calificar. Por ejemplo si no hace reporte
de bloques, no tendr derecho a la calificacin de todos los aspectos relativos a los bloques, ya
que no se puede comprobar que el estudiante haya implementado dicha funcionalidad.

rep
Recibir el nombre del reporte que se desea y lo generar con graphviz y en archivo de texto segn
se requiera, en una carpeta existente.

Parmetro Categoria Descripcin

&name Obligatorio Name del reporte a generar. Tendr los siguientes


valores:
Mbr
disk
block
Bm_block

Si recibe otro valor que no sea alguno de los anteriores,


debe mostrar un error.

&path Obligatorio Indica una carpeta y el reporte que tendr el reporte. Si


no existe la carpeta, deber crearla. Si lleva espacios se
encerrar entre comillas

&id Obligatorio Indica el id de la particin que se utilizar. Si el reporte es


sobre la informacin del disco, se utilizar el disco al que
pertenece la particin. Si no existe debe mostrar un error.

Ejemplos

rep &id=vda2 &Path="/home/user/reports/reporte 2.jpg" \^


&name=bm_arbdir
rep &id=vda1 &Path="/home/user/reports/reporte 3.txt" \^
&name=MBR
5.1 REPORTES DE BITMAPS
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"
Con un mximo de 20 bit de informacin por lnea a generada.
Los reportes sern:

bm_block

REPORTES GRFICOS

Block
Para verificar si la estructura lgica del sistema es la correcta, se debe de realizar una
grfica en Graphviz mostrando todos los directorios y subdirectorios mostrando su
orden jerrquico similar a la siguiente:
Disk
Este reporte mostrar la estructura de las particiones (mostrar name de la particin, el tipo,
tamao total, Si la particin ya tiene formato, debe incluir el numero de bloques total, numero
de bloques ocupados y numero de bloques libres) y el mbr del disco.

Ejemplo:

Disco1.dsk

MBR
En este reporte se deben mostrar todos los datos que se indicaron anteriormente en el MBR y la
informacin de cada EBR si existieran particiones lgicas dentro de cada particin Extendida.
Nota:
El formato FAST, nicamente limpia con 0s los bitmap bloques. El FULL aplica un formato FAST y
adems limpia los bloques

Exec
El programa podr ejecutar scripts con el comando exec. Debe mostrar el contenido de la
lnea que est leyendo y su resultado. Tambin debe mostrar los comentarios del script.
Parmetro Categoria Descripcin

&path Obligatorio Especifica el nombre del script que se va a ejecutar.

Ejemplo:
#ejecuta el script
exec /home/Desktop/calificacion.sh
ESPECIFICACIONES
El lenguaje a utilizar es C.
El sistema operativo a utilizar es cualquier distribucin de GNU/Linux (instalacin fsica,
solo se calificar la fase 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 (esto es solo parte del
contenido).
Manual de usuario.
El proyecto se realizar de forma individual.
Los Reportes Grficos son OBLIGATORIOS para poder tener derecho a calificacin,
ya que es el nico medio para verificar el funcionamiento del sistema.
Si no ejecuta con comando exec NO SE CALIFICAR

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.
No se permite la modificacin de cdigo durante la calificacin. El estudiante no
tendr acceso al cdigo fuente.

El archivo binario que representa a los discos una vez generado NO DEBE CRECER.
No se permite la utilizacin de estructuras en memoria (listas, arboles, etc.) para el
manejo de los archivos o carpetas
ENTREGA Y CALIFICACION
Fecha de entrega de Proyecto: viernes 24 de febrero de 2017.

Hora de entrega: 10:00 PM va correo electrnico

SECCIN PAR: georgina.estrada78@gmail.com


SECCIN IMPAR: auxarchivos2017@gmail.com
ASUNTO: [MIA]Fase1_carn

Lugar, Da y Hora de calificacin: Se enviar un calendario para calificacin.

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 calificar.

Entregables: Se deber entregar en un comprimido que incluya la Documentacin


(Manual Tcnico y Manual de Usuario) y el cdigo fuente de la aplicacin, as como el
ejecutable. Los nombres de los archivos fuente debern llevar el siguiente formato:
[MIA]NamedelArchivo_Carnet.extensin (Ejemplo: [MIA]archivo_201101001.c).

Se requiere que tengan como mnimo lo siguiente para poder realizar la calificacin:

Comando EXEC
Reportes
Particiones (primarias)
Mount y Unmount

You might also like