Solución problema 2 Septiembre de 2000

Anuncio
Problema 2. Septiembre de 2000
Dado un disco de 4 GBytes con tamaño de bloque de 1KBytes se quieren analizar los
dos siguientes sistemas de ficheros:
1.- Sistema de ficheros tipo UNIX con las siguientes características:
Representación del fichero mediante nodos-i con 10 direcciones directas a bloque, un
indirecto simple, un indirecto doble y un indirecto triple y direcciones de bloque de 4
bytes. El sistema utiliza un mapa de bits para la gestión del espacio vacío.
2.- Sistema de ficheros tipo MS-DOS (FAT) con las siguientes características:
Entradas de 4 bytes y tamaño de agrupaciones de 4 bloques.
Se pide:
A- ¿Cuál es el tamaño máximo de los ficheros en cada sistema de ficheros?
B- ¿Qué tamaño ocupan la FAT y el mapa de bits en cada caso?
C- Se desea abrir un fichero llamado datos.txt que se encuentra en el directorio user y
acceder a los bytes 133.120.500 (32.500 * 4096 + 500) y 134.144.750 (32750 * 4096
+750). Si nos encontramos en el directorio raíz, ¿cuál será el número de accesos a
disco para realizar la anterior operación en cada sistema de ficheros?
D- ¿Dónde se almacenan los atributos del fichero en cada sistema de ficheros? ¿Qué
problemas puede presentar este sistema de atributos en MS-DOS?
Solución problema 2 Septiembre de 2000
AUnix:
10 bloques directos a bloque
1024/4 bloques con indirección simple
(1024/4)^2 bloques con indirección doble
(1024/4)^3 bloques con indirección triple
Tamaño máximo de fichero:
(10 + 256 + 256^2 + 256^3)bloques * 1024Bytes/bloque = 16Gbytes
La máxima longitud de fichero que podría ser alcanzada con este esquema es de
aproximadamente 16 Gbytes. Al ser el disco de 4 Gbytes, el fichero estaría limitado
por este tamaño.
MS-DOS:
Usando la FAT descrita en el enunciado el tamaño máximo de fichero viene
determinado por el tamaño de disco, 4GBytes, ya que la FAT es simplemente una lista
enlazada y el direccionamiento especificado es suficiente para apuntar a todas las
agrupaciones (4 bytes = 32 bits; 2^32 = 4GB).
NOTA: Se ha considerado despreciable el tamaño que ocupan el mapa de bits y la
FAT en cada uno de los casos.
BMS-DOS:
Tenemos un disco con 4GBytes con 1KByte de tamaño de bloque y 4KBytes de
tamaño de agrupación. De esta forma en la FAT se necesita 1 Mega entradas. Cada
entrada de la FAT apunta a una agrupación y tiene un tamaño de 4Bytes, por lo que
el tamaño total de la FAT es de 4MBytes.
UNIX:
El mapa de bits incluye 1 bit para cada recurso existe, es decir, un bit por cada
bloque de disco o nodo-i. En total se tienen que controlar 4 Mega bloques por lo que
son necesarios 512 bloques para el mapa de bits, es decir 512 KBytes (4Mbloques*1
bit/8 bits/byte= 512 KBytes).
Nota: hay que tener en cuenta que en MS-DOS se ha direccionado a nivel de
agrupación y en UNIX a nivel de bloque.
CMS-DOS:
Para poder acceder al fichero se necesitan los siguientes accesos a disco:
1 lectura del directorio raíz para localizar el directorio user
1 lectura del directorio user para localizar el fichero datos.txt
Una vez localizado el fichero son necesarios los siguientes accesos:
Los bytes a leer se encuentran en las agrupaciones 32500 y 32750, por tanto se
necesitan 32750 accesos a la FAT para localizar las agrupaciones más 2 accesos para
leer los datos pedidos de disco.
En total 32754 accesos.
UNIX:
Para acceder al fichero:
Traer el bloque / a memoria y buscar la entrada /user
Traer el nodo-i de /user a memoria
Traer un bloque de /user a memoria y buscar la entrada de datos.txt
Traer el nodo-i de datos.txt a memoria
Por tanto para acceder al fichero necesitamos 4 accesos a memoria.
Para leer los datos hay que acceder a los bloques 32500 * 4 = 130000 y 32750 * 4 =
131000
Para direccionar estos bloques necesitamos los punteros de triple indirección del
nodo-i (con los punteros de doble indirección se llega al bloque: 10+256+256*256=
65802). Accesos requeridos:
3 para acceder a los 3 niveles de indirección
1 para acceder al bloque donde se encuentra el primer byte
3 para acceder a los 3 niveles de indirección
1 para acceder al bloque donde se encuentra el segundo byte
Total 12 accesos.
D.En MS-DOS los atributos se guardan en la entrada del directorio, mientras que en
UNIX se almacenan en el nodo-i.
Los problemas que se presentan en MS-DOS son que al modificar los atributos hay
que acceder a la información de los directorios y la complicación que supone el crear
enlaces a archivos.
Descargar