Está en la página 1de 26

Problemas de Sistemas de Archivo

SO2 Abril 2.000

PROBLEMAS RESUELTOS
Cuesti n 1 o
Dado un disco de cabeza m vil con 200 cilindros, numerados de 0 a 199 se considera que: o

Actualmente sirve una solicitud en el cilindro 143. Previamente se solicit el acceso al cilindro 125. o La cola de solicitudes se mantiene en orden FIFO: 86, 147, 91, 177, 94, 150, 102, 175, 130.

Se pide: Determinar el movimiento total de la cabeza necesario para satisfacer estas solicitudes con los siguientes algoritmos de planicaci n de disco: o FCFS. SSTF. SCAN. LOOK. C-SCAN.

Cuesti n 2 o
Dado un disco de cabeza m vil con 200 cilindros, numerados de 0 a 199 y con un tiempo promedio de acceso (rotacion o + transferencia) de 20 unidades de tiempo se trata de determinar el tiempo total de servicio que se requiere para atender las siguientes peticiones: (0,30), (40,10), (45,40), (60, 60), (100,50), (120, 5), (140, 100), (160, 120) donde la primera componente de cada petici n se reere al instante de tiempo en el que se efect a dicha petici n y la o u o segunda componente indica el cilindro al que se pretende acceder. Se considera que el tiempo de posicionamiento entre cilindros contiguos es igual a 1 unidad de tiempo. Aplicar para el c lculo del tiempo total de servicio los siguientes algoritmos: a FCFS. SSTF. SCAN. LOOK. 1

Nota: El cabezal del disco se encuentra inicialmente posicionado en el cilindro 0 y el servicio de las peticiones se realiza en el sentido de n meros de cilindro crecientes. u

Cuesti n 3 o
Dada una estructura de disco de doble cara con 80 cilindros y 18 sectores por pista y un tama o de sector de 512 bytes, n se pide:

Cuesti n 4 o
Dado un disco de 20 Mb de capacidad total con los siguientes par metros: a

Se pide:

Calcular el mejor y peor caso en el n mero de accesos a bloques de disco para leer el 33 u MS-DOS situado en el directorio raz en el siguiente caso: Suponiendo que la cach de la FAT en memoria es 1K. e 2

C-SCAN.

Determinar la capacidad del disco. Dada la correspondencia entre sectores fsicos y l gicos, se trata de determinar la direcci n fsica (cilindro, cabeza, o o sector) del n mero de sector l gico 1234. u o De forma an loga se desea determinar cual es el n mero de sector l gico asociado a la direcci n fsica (47, 1, 15). a u o o Cilindro 0 ........ 0 0 ........ 0 1 ........ ........ 79 Cabeza 0 ........ 0 1 ........ 1 0 ........ ........ 1 Sector 0 ........ 17 0 ........ 17 0 ........ ........ 17 Sector l gico o 0 ............. 17 18 ............. 35 36 ............. ............. 2879

Clusters (bloques) de tama o 1K. Sectores de 512 bytes. n N meros de bloque de 16 bits. u

Calcular el n mero de bloques necesarios para la gesti n de bloques libres mediante: u o Lista enlazada. Mapa de bits. Determinar la estructura del disco si lo utilizamos enteramente para MS-DOS: Calcular el n mero de sectores reservados a la FAT y su copia. u Calcular el n mero de sectores reservados para el directorio raz (considerar un m ximo de 512 entradas). u a Determinar el n mero de clusters de datos disponibles. u cluster de un chero

NOTA: En los dos ultimos apartados de esta cuesti n 4 se asumir que las lecturas en la FAT y en el directorio raz o a obtienen un bloque entero, en lugar de un solo sector.

Cuesti n 5 o
Determinar el tama o m ximo te rico (sin tener en cuenta el tama o real que tendr el dispositivo sobre el que deba n a o n a residir el chero) de un chero UNIX, especicando los bloques direccionados con cada tipo de puntero. Los par metros a corresponden a los siguientes valores:

Realizar el mismo c lculo para un chero en MINIX con los siguientes par metros: a a

Cuesti n 6 o
Determinar la estructura de un disco de 20 Mb en MINIX con los siguientes par metros: a

Se pide:

Realizar el mismo c lculo si el chero se encuentra en el directorio \PRUEBA que contiene 33 entradas en total. a

Punteros a zonas de datos de 32 bits. Tama o de bloque 1K (1 zona = 1 bloque). n Estructura de nodo-i: 10 punteros directos. 1 puntero indirecto. 1 puntero indirecto doble. 1 puntero indirecto triple.

Punteros a zonas de datos de 16 bits. Tama o de bloque 1K (1 zona = 1 bloque). n Estructura de nodo-i: 7 punteros directos. 1 puntero indirecto. 1 puntero indirecto doble.

Punteros a zonas de datos de 16 bits. Tama o de bloque 1K (1 zona = 1 bloque). n Tama o de nodo-i de 32 bytes. n N mero m ximo de nodos-i: 512. u a

Especique claramente todas las estructuras de datos que forman el sistema de archivos y los bloques que ocupan. En caso de resultar da ada la estructura del mapa de bits de zonas, piense la forma de reconstruirla con la inforn maci n de la que se dispone en el resto de estructuras del sistema de archivos (se supone que estas se conservan o inalteradas).

Cuesti n 7 o
Suponga que se ha desarrollado una versi n de MINIX en la cual el tama o del bloque se ha cambiado a 128 bytes (1 o n bloque = 1 zona). Suponga tambi n que se dispone de un disco duro (/dev/hd5) formateado con bloques de 128 bytes, con capacidad e para almacenar 10240 bloques con un n mero m ximo de cheros posibles igual a 127. u a En este disco existen tres directorios: Directorio / Directorio /bin Directorio /lib Con 10 entradas (todas las entradas incluidas) Con 16 entradas (dem) Con 20 entradas (dem)

La longitud de todos los cheros es de 768 bytes, salvo dos cheros, /bin/mediano y /bin/grande cuyas longitudes respectivas son 1024 bytes y 10240 bytes. SE PIDE: 1. C mo est estructurado el disco. o a 2. N mero de bloques para el mapa de nodos-i. u 3. N mero de bloques para el mapa de zonas. u 4. N mero de bloques de nodos-i. u 5. N mero total de zonas de datos. u 6. N mero de nodos-i utilizados. u 7. N mero de zonas utilizadas para: u (a) Contener datos convencionales de cheros regulares. (b) Contener entradas de directorios. (c) Contener referencias a otros bloques. Justique adecuadamente sus respuestas.

Cuesti n 8 o
En el sistema operativo MINIX se introducen los siguientes cambios en el dise o del sistema de cheros: n

El tama o de bloque se reduce a 32 bytes. n El tama o de una entrada de directorio se reduce a 8 bytes (2 bytes para el n mero de nodo-i y 6 para el nombre del n u chero). El tama o del nodo-i se reduce a 16 bytes. Los primeros 8 bytes se emplean para almacenar informacion general n (atributos de chero), representada en la gura por XX, y los 8 bytes restantes para almacenar los punteros a las zonas pertenecientes al chero: dos punteros directos, un indirecto simple y un indirecto doble, tal y como muestra la gura: XX n mero de zona 0 u n mero de zona 1 u indirecto indirecto doble 4

A continuacion se indican los contenidos de los bloques de un dispositivo de bloques que contiene un sistema de cheros MINIX. El tama o de este dispositivo de bloques es de 32K y el n mero m ximo de cheros que puede contener n u a es 99. Unicamente se han representado los contenidos relevantes para la resoluci n del problema, indic ndose con un o a los campos vacos. La leyenda superior B- i indica que el n mero de bloque es el i, y el resto indica el contenido del u bloque. B- 61 62 63 B- 59 3 1 6 7 B- 64 16 3 20 B- 67 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 B- 68 85 86 87

B- 7 00 0 0 0 0 XX 57

B- 8 XX 58 XX 59 60 61

B- 15 XX 64 XX 88

B- 17 XX 65 66 67 68 XX 90

B- 57 1 1 2 3 B- 62 12 13 14 15 SE PIDE:

. .. bin users

B- 58 2 1 4 5 B- 63 16 17 18 19

. .. cc mined

. .. dso00 dso01

B- 60 8 9 10 11 B- 88 17 3 21

dso02 dso03 dso04 dso05

dso06 dso07 dso08 dso09

dso10 dso11 dso12 dso13

. .. msh.c

. .. msh.c

1. Obtener el arbol de directorios contenido en el dispositivo de bloques. 2. Indicar, ordenadamente, los n meros de bloque a los que se ha de acceder al ejecutar la llamada u open("/users/dso11/msh.c", O RDONLY) y el motivo por el que se accede a dichos bloques. 3. Indicar el tama o en bloques del chero /users/dso10/msh.c. n NOTA: En esta cuesti n se asume que el nodo-i n 0 ocupa espacio en el area de nodos-i. En la pr ctica este nodo-i o a no utiliza espacio en ningun sistema UNIX, ya que el valor cero se utiliza para indicar que una entrada de directorio ha sido borrada. Sin embargo, en este problema los c lculos ser n m s sencillos si asumimos que tambi n ocupar espacio. a a a e a

Cuesti n 9 o
Se desea dise ar un sistema de archivo UNIX para unos discos de 320 Kb cuyos bloques van a ser de 1 Kb (1 zona = n 1 bloque). 5

SE PIDE: 1. Cu l podr ser el tama o mnimo de un puntero a zona ? a a n 2. Cu ntos punteros podr n ubicarse en una misma zona ? a a 3. Si se necesita 32 bytes por cada nodo-i y de ellos 16 pueden destinarse a punteros a zona, qu esquema de los e siguientes es preferible y por qu ? e (a) Que todos los punteros sean directos. (b) Todos los punteros directos, excepto un puntero indirecto simple. (c) Todos los punteros directos, excepto dos punteros indirectos simples. (d) Todos los punteros directos, excepto un puntero indirecto simple y otro indirecto doble.

Cuesti n 10 o
Se tiene un dispositivo de almacenamiento de 32 Kb, con bloques de 512 bytes (1 zona = 1 bloque). Este dispositivo va a ser inicializado para poder utilizar un sistema de archivo similar al de MINIX con entradas de directorio de 16 bytes, un m ximo de 31 archivos y nodos-i de 16 bytes de los cuales 60 bits pueden dedicarse a punteros directos a zona. Se a supone que el tama o de los punteros a zona es el mnimo posible. n SE PIDE: 1. Decidir c mo quedar estructurado el disco. Es decir, cu ntos bloques se dedican a cada una de las estructuras que o a a mantiene el sistema de archivo. 2. Cu l ser el tama o m ximo de un archivo ? a a n a 3. Asumiendo que no se permite crear enlaces fsicos, cu ntas entradas podr tener como m ximo un directorio ? a a a Cu ntos bloques podr llegar a ocupar ? a a 4. Cu ntos bloques pueden llegar a quedar libres si se crea el m ximo n mero de archivos posible, pero todos ellos a a u con tama o mnimo ? n 5. Determinar c mo quedar n los mapas de bits de nodos-i y de zonas despu s de realizar las acciones que se citan o a e a continuacion (y en ese orden). Se supone que un 1 en el mapa de bits indica que el elemento representado est a libre. Adem s, se supone que siempre se utiliza el nodo-i o zona libre con n mero m s bajo. a u a Comentar tambi n qu bloques tiene asignados cada archivo. e e Las acciones son las siguientes:

Inicializar el disco. Crear un directorio /dir1. Crear un directorio /dir2. Crear y escribir un archivo /dir1/a de 2.000 bytes. Borrar el directorio /dir2. Crear y escribir un archivo /dir1/b de 4.900 bytes. Crear y escribir un archivo /dir1/c de 3.500 bytes. Borrar el archivo /dir1/a. A adir datos al archivo /dir1/c. Se a ade 1 Kb al nal del archivo. n n

6. Determinar el contenido de los archivos de tipo directorio que hayan quedado tras realizar las acciones citadas en el punto anterior. 6

Cuesti n 11 o
Dado un disco de cabezal m vil con 100 cilindros, numerados del 0 al 99 donde: o

Actualmente se est sirviendo una petici n sobre el cilindro 50. a o La petici n anterior fue realizada sobre el cilindro 30. o Quedan las siguiente peticiones por atender: 81, 23, 95, 70 y 48.

SE PIDE: 1. Determinar cu ntos cilindros se recorrer n para servir estas peticiones utilizando: SSTF y LOOK. a a 2. Decidir si alguna de las dos estrategias anteriores es la optima. En caso negativo, describir una estrategia optima para el caso en que se conozcan las peticiones a atender. Decidir si esta estrategia sigue siendo v lida si llegan m s a a peticiones mientras se est n sirviendo las ya encoladas. a

Cuesti n 12 o
Se tiene un sistema de archivo UNIX sobre un dispositivo con los directorios que a continuacion se describen y donde s lo se han usado los nodos-i que aparecen en tales entradas de directorio. o Adem s, se supone que cuando se necesita crear un nuevo archivo, este utiliza el nodo-i libre con el n mero m s a u a pequeno posible. 1 1 2 4 5 6 . .. users unix dev bin 5 1 11 13 11 . .. tty0 tty1 console 6 1 20 21 22 23 . .. ls cat less sh

2 1 10 12

. .. felipe alfonso

10 2 23 25

. .. mysh ed

12 2

. ..

SE PIDE: 1. Dibujar la estructura de directorios. 2. Determinar c mo quedar n, dando su contenido, los archivos tipo directorio tras realizar sobre el sistema los sio a guientes mandatos: $ $ $ $ $ $ $ $ cp ln mv rm rm ln cp mv /users/felipe/mysh /users/alfonso/sh /users/alfonso/sh /users/alfonso/bash /users/felipe/ed /bin /dev/tty0 /bin/sh -s /unix /users/alfonso/sistema /users/felipe/* /users /bin/cat /unix

Nota: Se supone que el usuario que efect a estas operaciones posee los derechos de acceso necesarios para que u ninguna de ellas provoque un error.

SOLUCIONES

Cuesti n 1 o
1. Algoritmo FCFS: Las peticiones se sirven en orden de llegada. Cil. actual 143 86 147 91 177 94 150 102 175 Cil. a servir 86 147 91 177 94 150 102 175 130 Desplaz. 143 - 86 = 147 - 86 = 147 - 91 = 177 - 91 = 177 - 94 = 150 - 94 = 150 - 102 = 175 - 102 = 175 - 130 = TOTAL: (cil.) 57 61 56 86 83 56 48 73 45 565

2. Algoritmo SSTF: Se sirve primero aquella petici n que implique un menor desplazamiento. El asterisco (*) simboo liza la posici n actual de la cabeza de lectura/escritura. El cilindro a servir aparece subrayado. o Cil. actual 143 147 150 130 102 94 91 86 175 Cilindros pendientes 86, 91, 94, 102, 130, *, 147, 150, 175, 177 86, 91, 94, 102, 130, *, 150, 175, 177 86, 91, 94, 102, 130, *, 175, 177 86, 91, 94, 102, *, 175, 177 86, 91, 94, *, 175, 177 86, 91, *, 175, 177 86, *, 175, 177 *, 175, 177 *, 177 Desplaz. 147 - 143 = 150 - 147 = 150 - 130 = 130 - 102 = 102 - 94 = 94 - 91 = 91 - 86 = 175 - 86 = 177 - 175 = TOTAL: (cil.) 4 3 20 28 8 3 5 89 2 162

3. Algoritmo SCAN: Ya que el ultimo cilindro servido fue el 125 y nos encontramos en el 143, supondremos que la direcci n de servicio es ascendente. Se realizan dos pasadas, la primera ascendente en la que servimos todas los o cilindros entre la posici n actual y el nal del disco (cilindro 199). Tras esto partimos del cilindro 199 en direcci n o o descendente y servimos todos los cilindros pendientes. Direc. servicio Ascendente Descendente Cilindros servidos 147, 150, 175 y 177 130, 102, 94, 91 y 86 Desplaz. 199 - 143 = 199 - 86 = TOTAL: (cil.) 56 113 169

4. Algoritmo LOOK: Igual que el anterior, pero al servir en orden ascendente no llegamos al nal del disco sino que invertimos el sentido de servicio al llegar al cilindro 177. Direc. servicio Ascendente Descendente Cilindros servidos 147, 150, 175 y 177 130, 102, 94, 91 y 86 Desplaz. 177 - 143 = 177 - 86 = TOTAL: (cil.) 34 91 125

5. Algoritmo SCAN circular (C-SCAN): Suponemos sentido de servicio ascendente. Al llegar al ultimo cilindro del disco (el 199), volvemos al cilindro 0 sin servir ninguna petici n y desde all iniciamos de nuevo el servicio en o orden ascendente. Direc. servicio Ascendente Descendente Ascendente Cilindros servidos 147, 150, 175 y 177 Ninguno 86, 91, 94, 102 y 130 Desplaz. 199 - 143 = 199 - 0 = 130 - 0 = TOTAL: (cil.) 56 199 130 385

Cuesti n 2 o
Emplearemos las siguientes abreviaturas:

CA: Cilindro actual. CS: Cilindro a servir. Desp: Desplazamiento en cilindros desde el actual al que debe ser servido. TS: Tiempo de servicio del cilindro a servir. Incluye posicionamiento, rotaci n y transferencia. Su valor ser igual, o a en este problema, a:
F D ( & $ " GEC'BA! 9 @ 7  4 2 8653 0 1 ( & $ " )'%#!      

1. Algoritmo FCFS: Inst. 0 50 90 140 180 210 275 390 430 2. Algoritmo SSTF: Inst. 0 50 80 120 150 210 235 350 390 CA 0 30 40 60 50 10 5 100 120 Cola petic. *, 30 10, *, 40 10, *, 60 5, 10, 50, * 5, 10, *, 100 5, *, 100, 120 *, 100, 120 *, 120 Vaca CS 30 40 60 50 10 5 100 120 Desp 30 10 20 10 40 5 95 20 TS 50 30 40 30 60 25 115 40 CA 0 30 10 40 60 50 5 100 120 Cola petic. 30 10, 40 40, 60 60, 50, 5, 100 50, 5, 100, 120 5, 100, 120 100, 120 120 Vaca CS 30 10 40 60 50 5 100 120 Desp 30 20 30 20 10 45 95 20 TS 50 40 50 40 30 65 115 40 -

3. Algoritmo SCAN: Suponemos que una vez se ha programado una operacion SEEK sobre el controlador de disco no hay manera de abortarla. Adem s, cuando no queden peticiones en el sentido actual, se programa un SEEK hasta a el nal del disco en ese sentido. 9

4. Algoritmo LOOK: Inst. 0 50 80 120 150 210 235 350 390 CA 0 30 40 60 50 10 5 100 120 Cola petic. , 30 10, , 40 10, , 60 5, 10, 50, 5, 10, , 100 5, , 100, 120 , 100, 120 , 120 Vaca
I I H H I H H H

5. Algoritmo C-SCAN: Suponemos que una vez se ha programado una operacion SEEK sobre el controlador de disco no hay manera de abortarla. Adem s, cuando no queden peticiones en el sentido actual, se programa un SEEK hasta a el nal del disco en ese sentido. Inst. 0 50 80 120 259 458 483 508 568 638 678 CA 0 30 40 60 199 0 5 10 50 100 120 Cola petic. , 30 10, , 40 10, , 60 5, 10, 50, 5, 10, 50, 100, 120, , 5, 10, 50, 100, 120 , 10, 50, 100, 120 , 50, 100, 120 , 100, 120 , 120 Vaca
I H H H H H H H H H

Cuesti n 3 o
1. Capacidad del disco. Tendremos que averiguar cuantos sectores tiene el disco y despu s multiplicar la cifra e obtenida por el tama o del sector. As: n N m. sectores u 2.880 = = N m. caras u 2 * * N m. cilindros u 80 * * Sectores / pista 18

La capacidad del disco en Kb ser : 2.880 * 0.5 = 1.440 Kb ya que el tama o de sector es de medio Kb. a n

10

H H

Inst. 0 50 80 120 259 358 398 468 528 553

CA 0 30 40 60 199 120 100 50 10 5

Cola petic. , 30 10, , 40 10, , 60 5, 10, 50, 5, 10, 50, 100, 120, 5, 10, 50, 100, 5, 10, 50, 5, 10, 5, Vaca

CS 30 40 60 199 120 100 50 10 5 -

Desp 30 10 20 139 79 20 50 40 5 -

TS 50 30 40 139 99 40 70 60 25 -

CS 30 40 60 50 10 5 100 120 -

Desp 30 10 20 10 40 5 95 20 -

TS 50 30 40 30 60 25 115 40 -

CS 30 40 60 199 0 5 10 50 100 120 -

Desp 30 10 20 139 199 5 5 40 50 20 -

TS 50 30 40 139 199 25 25 60 70 40 -

2. Direcci n fsica del bloque l gico 1234. Suponemos un solo sector por bloque. o o Las direcciones fsicas tienen la siguiente estructura: (n m. cilindro, n m. cara, n m. sector) u u u Adem s, la numeracion se sigue del siguiente modo: hasta que no se han numerado todos los sectores de una cara a no se pasa a la siguiente cara del mismo cilindro y hasta que no se hayan numerado todas las caras de un cilindro no se pasa al siguiente. Por tanto, para obtener la direcci n fsica efectuaremos lo siguiente: o (a) Dividiremos la direcci n l gica por el n mero de sectores por pista. O sea: o o u 1234 div 18 = 68 1234 mod 18 = 10 Esto quiere decir que con la direcci n l gica 1234 se han podido llenar 68 caras y se est referenciando el o o a und cimo sector (ya que empezamos a numerarlos a partir de cero) de la sexag sima novena cara. e e (b) Dividiremos el n mero de caras completas obtenido en el punto anterior por el n mero de caras por cilindro u u que admite el disco. As: 68 div 2 = 34 68 mod 2 = 0 Esto se interpreta como que hemos podido completar 34 cilindros y estamos en la primera cara del trig simo e quinto. Por tanto, la direcci n fsica pedida es: ( 34, 0, 10 ) o Es decir, cilindro 34, cara 0, sector 10. 3. Direcci n l gica para la direcci n fsica ( 47, 1, 15 ). o o o Suponiendo direcciones fsicas de la forma ( i, j, k ), basta con aplicar la f rmula: o
W  x v W s W U V $ b p b U ( ed  b ` $ W & V U " $ y%p wP uti%%rBqihgfcYaYX3TTTE( S  d  a9 Q RP

El resultado obtenido es:


D G 9 @ F 9 9 ( 9 B ! T9 ( 9 T  D Grh( 9 ( 9 T Q RP

Con lo que el n mero de bloque l gico es el 1725. u o

Cuesti n 4 o
1. Bloques necesarios si se utiliza lista enlazada. La lista enlazada propiamente dicha utiliza un puntero al nal de cada bloque para enlazarlo con el siguiente bloque libre. O sea, se utilizan los propios bloques libres para mantenerlos en la lista. Por tanto, no es necesario ningun bloque adicional para mantener el control sobre qu e bloques tenemos libres. En algunos casos, para compactar la lista, se utilizan unos pocos bloques libres para guardar (de manera similar a un ndice enlazado) todos los n meros de los bloques disponibles. Esto no aporta ninguna variaci n al caso comentado u o en el p rrafo anterior, pues estos bloques se van liberando a medida que se van asignando bloques disponibles. Al a nal, si se asignan todos los bloques a cheros, no queda ningun bloque dedicado a mantener la lista enlazada.

11

2. Bloques necesarios si se utiliza mapa de bits. El tama o de bloque es de 1.024 bytes, con lo que en cada bloque tendremos 8.192 bits para mantener el mapa. n Nuestro disco tiene 20 Mb. Eso representa 20 * 1.024 bloques, o sea, 20.480 bloques. Por tanto, utilizando mapa de bits necesitamos:
$ " x %B%us Q D F 6D D %qF D %qF 9 9   F GD Q RP

3. Estructura del disco. (a) Tama o de la FAT (en sectores): n Como utilizamos n meros de cluster de 16 bits, en un sector de 512 bytes se podr n mantener 256 n meros u a u de cluster. Por tanto, tendremos 256 entradas de la FAT en cada sector. El n mero de clusters en nuestro disco ha sido calculado previamente y es igual a 20480. (En la pr ctica es u a ligeramente inferior, puesto que la informacion mantenida en la cabecera no se organiza en clusters, sino en sectores, y no puede utilizarse para mantener cheros. Sin embargo, esto no afecta demasiado a la hora de efectuar los c lculos: el n mero correcto de clusters es 20383 como veremos dentro de un momento, pero al a u dividirlo entre 256 y redondearlo hacia arriba dar el mismo resultado.) a Por tanto:
F  F j 6 F G6D p x ` U " $ V $ BYiTT6Brb v B` P " b p $ p " ` $ s GaYagiiU  h f e gwdqb

(b) Directorio raz (en sectores): Una entrada de directorio MS-DOS ocupa 32 bytes. Por tanto, en un sector tendremos:
j 9 a D 9 r 25m Y qb l 2 4 0   ' YYkqb 0 p x ` U " $ V $ BY5BTG%rb v %` P " b p

Si el directorio raz mantiene un m ximo de 512 entradas, deberemos asignarle: a


D D j a9 9 r $ " p x ` U " $ %%BY5Ban P

(c) Clusters de datos: Del total de 20480 bloques que posee el disco, tenemos reservados los siguientes:

Por el sector de arranque primario o MBR (Master Boot Record): 1 sector (medio bloque). Por el sector de arranque de la partici n DOS: 1 sector (medio bloque). o Por la FAT y su copia: 80 + 80 = 160 sectores (80 bloques). Por el directorio raz: 32 sectores (16 bloques).

O sea, en total 97 bloques. Por tanto, para clusters de datos tendremos 20480 - 97 = 20383 clusters. 4. Mejor y peor caso para leer el cluster 33 de un archivo del directorio raz. Mejor caso Tarea Lectura y b squeda del archivo en el primer bloque del u directorio raz. Encontramos la entrada de directorio de ese archivo en este primer bloque del raz. Obtenemos, por tanto, el n mero del primer cluster del archivo. u Recorrido de la FAT para buscar el trig simo tercer cluster e del archivo. Todos los n meros de cluster explorados se u encuentran en la cach para la FAT. e Acceso al cluster pedido. Accesos 1 Acumul. 1

12

Peor caso Tarea Lectura y b squeda del archivo en los sectores del directorio raz u (Existen 16 bloques en el raz). Encontramos la entrada de di rectorio del archivo en el ultimo bloque del directorio. Recorrido de la FAT para buscar el trig simo tercer cluster del e archivo. Todos los n meros de cluster explorados se encuentran u en distintos bloques de la FAT y, adem s, el primero de ellos no a estaba en la cach . e Acceso al cluster pedido. 5. Idem pero suponiendo que el archivo se encuentra en \PRUEBA. Mejor caso Tarea Lectura y b squeda del directorio \PRUEBA en el primer bloque u del directorio raz. Econtramos su entrada de directorio en este primer bloque. Leemos su entrada de directorio y obtenemos su primer n mero de cluster. u Buscamos la entrada del archivo en el primer cluster del directorio \PRUEBA y lo encontramos. Recorrido de la FAT para buscar el trig simo tercer cluster del e archivo. Todos los n meros de cluster explorados se encuentran u en la cach para la FAT. e Acceso al cluster pedido. Accesos 1 Acumul. 1 Accesos 16 Acumul. 16

32

48

37

1 0

2 2

Peor caso. Recu rdese que en un cluster de 1Kb podemos guardar hasta 32 entradas de directorio. Esto implica e que el directorio \PRUEBA necesita dos clusters. Tarea Lectura y b squeda del directorio \PRUEBA en los bloques del u directorio raz. Encontramos el directorio en el ultimo bloque del directorio raz. Con ello obtenemos el n mero de su primer u cluster. Buscamos el archivo entre las primeras 32 entradas del directorio \PRUEBA y no lo encontramos. Buscamos en la FAT el n mero del siguiente cluster del directou rio. No est en la cach . a e Leemos la ultima entrada del directorio (en el segundo de sus clusters) y encontramos all el archivo buscado. Recorrido de la FAT para buscar el trig simo tercer bloque del e archivo. Todos los n meros de cluster explorados se encuentran u en distintos bloques de la FAT y, adem s, el primero de ellos no a estaba en la cach . e Acceso al cluster pedido. Accesos 16 Acumul. 16

1 1 1 32

17 18 19 51

52

13

Cuesti n 5 o
Para determinar el tama o m ximo de un archivo en un sistema UNIX debemos tener en cuenta dos cifras: n a

El n mero m ximo de bloques que puede llegarse a mantener. Esto se determina a partir del tama o de los punteros u a n a zona, ya que no podremos tener una partici n de disco mayor que este lmite y un archivo no puede extenderse o por m s de una partici n. a o Cu ntos punteros a zona pueden llegarse a guardar a partir de un nodo-i, teniendo en cuenta los niveles de indireca ci n que pueden mantenerse. o

El tama o m ximo del archivo ser el menor de estos dos valores. n a a Veamos los dos casos presentados: UNIX. Seg n el lmite debido al tama o de puntero, tenemos que el tama o m ximo sera: u n n a
p o

tam. partici n = 2 o Seg n el n mero de punteros tendremos: u u

bloques = 4 Gbloques

En una misma zona podr llegar a haber 1024 / 4 = 256 punteros a zona, ya que una zona tiene 1024 bytes y cada a puntero ocupa 4. Por tanto, el n mero de punteros a zona ser : u a Tipo de puntero Directos en nodo-i. Indirecto simple. Indirecto doble. Indirecto triple. TOTAL: Punteros directos 10 256 256 = 65.536 256 = 16.777.216 16.843.018
p o

Por tanto, esta cifra obtenida es menor que la anterior y el tama o m ximo del archivo ser de: n a a 16.843.018 bloques = 16.842.018 Kb MINIX. Debido al tama o de puntero, el tama o m ximo es en este caso: n n a
s 8r q w

16064 Gbytes

tam. partici n = 2 o Seg n el n mero de punteros tendremos: u u

bloques = 64 Kbloques

En una zona podr haber 1024 / 2 = 512 punteros a zona, ya que una zona tiene 1024 bytes y cada puntero ocupa 2. a Tipo de puntero Directos en nodo-i. Indirecto simple. Indirecto doble. TOTAL: Esto hace un total de 262.663 bloques
q R

Punteros directos 7 512 512 = 262.144 262.663


p

2565 Mbytes.

En este caso, el lmite lo proporciona el tama o de la partici n. Con esto el tama o m ximo queda en 64 Mbytes. n o n a

14

q w q R

4 Tbytes

64 Mbytes

Cuesti n 6 o
1. Estructura del disco. Un disco MINIX tiene las siguientes partes: (a) Bloque de arranque: (b) Superbloque:

1. 1

1.

(c) Mapa de bits para nodos-i: . Necesitamos un bit por archivo. Como el disco unicamente va a permitir 512 archivos, basta con 512 bits. En la pr ctica, el autor de MINIX a adi una entrada m s en el mapa de bits, correspondiente al nodo-i 0. Por a n o a tanto, en el mapa existiran realmente 513 bits, aunque en disco s lo se necesitara espacio para guardar 512 o nodos-i. En este sistema un bloque tiene 1024 bytes (8192 bits), con lo que el mapa cabe en un solo bloque. (d) Mapa de bits para zonas: . Un disco de 20 Mb tiene 20480 bloques de 1 Kb. En cada bloque caben 8 * 1024 bits. Por tanto, se tendr : a
uH D F GD D %tF 9 9   F GD Q RP

(e) Bloques para nodos-i: . Como cada nodo-i ocupa 32 bytes, en un bloque cabr n 1024 / 32 = 32 nodos-i. a Si vamos a tener 512 nodos-i, necesitaremos:
j 9 a@ D 9 r v w Q RP

16

(f) Bloques para datos: . Unicamente hay que descontar los bloques vistos en los puntos anteriores de la capacidad total del disco.
6 F G6D D D z t}{F F GGD j T9 ( ( 9 ( 9 ( 9 d z |{F F 6GD Q RP

20458

2. Reconstrucci n del mapa de bits de zonas. o Suponiendo que el resto del disco no ha resultado da ado, se podra realizar lo siguiente: n (a) Reinicializar todo el mapa de bits de zonas de manera que todos las zonas de disco aparezcan como libres. (b) Siguiendo el mapa de bits para nodos-i, recorrer todos los nodos-i utilizados. Para cada uno de ellos habr que a consultar sus punteros directos a zona y marcar tales zonas como ocupadas en el mapa de bits que se da o. n Lo mismo para los punteros indirecto simple e indirecto doble, bajando hasta el nivel de zona de punteros directos. De esta manera todas las zonas utilizadas por todos los archivos son marcadas en el mapa de bits como en uso. Una vez terminados estos dos pasos, el mapa de bits para zonas estar recuperado. a

Cuesti n 7 o
Dado que ha cambiado el tama o del bloque, es necesario en primer lugar calcular la cantidad de elementos que puede n contener un bloque en funcion de su tipo: tipo de bloque tama o del elemento n mero de elementos n u mapas de bits 1 bit 1024 nodos-i 32 bytes 4 entradas de directorios 16 bytes 8 referencias a zonas 2 bytes 64 datos 1 byte 128 15

x yD

D %qF

1. C mo est estructurado el disco o a Bloque de arranque- Superbloque- Mapa de nodos-i- Mapa de zonas- Nodos-i- Datos 2. N mero de bloques del mapa de nodos-i. u

El n mero m ximo de nodos-i necesarios es igual a 127. Por lo tanto, basta un solo bloque para contener el mapa u a de nodos-i, puesto que tiene capacidad para 1024 bits. 3. N mero de bloques del mapa de zonas. u

10

El n mero total de zonas (bloques) es igual a 10.240. Como cada bloque tiene capacidad para 1024 bits, son u necesarios 10 bloques para albergar todo el mapa de zonas. 4. N mero de bloques de nodos-i. u

32

El n mero m ximo de nodos-i necesarios es igual a 127. Puesto que un bloque tiene capacidad para 4 nodos-i, son u a necesarios 32 para contener todos los nodos-i. 5. N mero total de bloques de datos. u

10.195

Se han consumido en los apartados anteriores 1, 10 y 32 bloques. Junto con los bloques de arranque y superbloque, dan un total de 45 bloques consumidos. Siendo el total de bloques igual a 10.240, quedan 10.195 bloques de datos, los cuales se pueden utilizar para albergar datos convencionales, entradas de directorios o referencias a otros bloques. 6. N mero de nodos-i utilizados. u

41
1 1 1 6 14 18 41

Un nodo-i por cada directorio o chero regular. Directorio raz (/) Directorio /bin Directorio /lib Ficheros regulares de / 10 - 2 (. y ..) -2 (/bin y /lib) Ficheros regulares de /bin 16 - 2 (. y ..) Ficheros regulares de /lib 20 - 2 (. y ..) TOTAL 7. N mero de bloques utilizados para: u (a) Contener datos convencionales de cheros regulares. 304 El n mero de cheros regulares es igual a 38. (41 menos 3 directorios). La ocupacion en disco de los datos u de estos cheros es la siguiente: 36 cheros regulares de 768 bytes (6 bloques) 216 1 chero regular de 1024 bytes (8 bloques) 8 1 chero regular de 10240 bytes (80 bloques) 80 TOTAL 304 (b) Contener entradas de directorios. Directorio raz (/) 10 entradas Directorio /bin 16 entradas Directorio /lib 20 entradas TOTAL

7
2 2 3 7

(c) Contener referencias a otros bloques. 4 Los cheros regulares de 768 bytes no utilizan los punteros indirectos del nodo-i, puesto que ocupan 6 zonas y en el nodo-i en MINIX existen 7 referencias directas. El chero /bin/mediano necesita 8 zonas de datos. Las primeras 7 zonas son referenciados directamente en el nodo-i. El bloque n mero 7 necesita la referencia simple indirecta del nodo-i. Esta referencia necesita una zona de u datos, cuyos primeros dos bytes apuntan a la zona n mero 7 del chero, y el resto del bloque no se utiliza. u El chero /bin/grande necesita 80 zonas de datos. 16

Las primeras 7 zonas son referenciadas directamente en el nodo-i. Las 64 zonas siguientes necesitan la referencia simple indirecta del nodo-i. Esta referencia necesita una zona de datos, que se utiliza completamente. Las ultimas 9 zonas necesitan la referencia doble indirecta del nodo-i. Esta referencia necesita una zona de datos, cuyos primeros dos bytes apuntan a otra zona de datos, que contiene las ultimas 9 referencias del chero.

Cuesti n 8 o
El primer paso para resolver el problema consistir en determinar qu bloques son utilizados para mantener los nodos-i a e y otras estructuras al principio del disco. Veamos: Supondremos que el bloque de arranque sigue siendo unico: Necesitamos tambi n un bloque para el superbloque: e Mapa de bits para nodos-i: 1.

1.

Con esto sabemos que:

1. Arbol de directorios. Veamos sobre qu archivos mantenemos informacion. Seg n lo dicho anteriormente los bloques 7, 8, 15 y 17 e u mantienen los nodos-i (0, 1), (2, 3), (16, 17) y (20, 21). Contrastando esta informacion con los bloques 57 a 60, 62 a 64 y 88, puede decirse que:

1.

Como unicamente necesitamos 100 nodos-i y un bloque tiene 32 * 8 = 256 bits, basta con un bloque para mantener esta informacion. Mapa de bits para zonas de datos:

4.

Si el dispositivo tiene 32 Kb y el tama o de bloque es de 32 bytes, tendr 1024 bloques. Si cada bloque puede n a mantener 256 bits, el mapa necesita 1024 / 256 = 4 bloques. Bloques para nodos-i:

50.

Si hay 100 nodos-i y en cada bloque caben 2, necesitaremos 100 / 2 = 50 bloques. Bloques para datos:

967.

Los bloques ya citados contabilizan un total de 57. Si el dispositivo tiene 1024, la diferencia 1024 - 57 = 967 ser a la cantidad de bloques para datos (zonas) que tendr el dispositivo. a

Los bloques del 0 al 6 se utilizan para mantener el bloque de arranque, el superbloque y los mapas de bits. El bloque 7 ser el primero que mantenga nodos-i. En concreto mantendr los nodos-i 0 y 1. En general, el bloque a a i entre 7 y 56, mantiene los nodos-i: (2*i - 14) y (2*i - 13). El bloque 57 ser el primero que mantenga zonas para datos, directorios y zonas de punteros a zona. a

El bloque 57 mantiene el directorio raz, puesto que utiliza el nodo-i 1 y sus entradas . y .. apuntan a dicho nodo-i. Tiene unicamente dos subdirectorios: bin (nodo-i 2) y users (nodo-i 3). Consultando el nodo-i 2, vemos que el directorio /bin est guardado en la zona 58 y que s lo tiene esa a o zona. Mantiene dos entradas: cc (nodo-i 4) y mined (nodo-i 5), pero no podemos decir nada m s sobre ellas a porque no sabemos nada de sus nodos-i.

17

Por lo dicho hasta ahora, la estructura de directorios debe ser la siguiente (se adjunta el n mero de nodo-i corresu pondiente a cada archivo):
1 /

cc

2. Ejecuci n de open( "/users/dso11/msh.c", O RDONLY ). o Veamos qu accesos deben realizarse: e Bloque 57 8 59 60 61 62 63 15 88 17 Explicaci n o Lectura del directorio raz. Encontramos entrada users. Lectura del nodo-i 3. Encontramos n meros de zona donde leer u el directorio users. Buscamos en las primeras dos entradas el archivo dso11. No lo encontramos. Buscamos en las siguientes cuatro entradas. Tampoco tenemos suerte. Leemos la zona que mantiene los siguientes punteros directos. Buscamos en las siguientes cuatro entradas. No lo encontramos. Buscamos en las siguientes cuatro entradas. Encontramos entrada. Sabemos que el n mero de nodo-i es 17 y que estar en el bloque 15. u a Encontramos que la zona para el directorio dso11 es el 88. Buscamos entrada msh.c en el directorio y la encontramos. El nodo-i a cargar para realizar la apertura es el 21. Leemos el nodo-i 21 en el bloque 17. Con esto terminamos.

3. Tamano en zonas de /users/dso10/msh.c. 18

Consultando el nodo-i 3 vemos que el directorio /users est guardado en las zonas 59, 60, 62 y 63 (en este a orden), ya que el n mero 61 se utiliza como puntero indirecto a zona. u Por tanto, este directorio tiene 16 entradas que corresponden a ., .., y 14 archivos cuyo nombre va de dso00 a dso13. El bloque 15 nos proporciona los nodos-i 16 y 17, correspondientes a los directorios /users/dso10 y /users/dso11 respectivamente. Ambos ocupan una zona unicamente. En ambos casos encontramos un unico archivo msh.c dentro de cada directorio. El bloque 17 mantiene los nodos-i de estos dos archivos. Deberemos usarlo para tener una idea del tama o de n ambos archivos.

2 bin users

4 mined

5 dso00

...

16 dso10 dso11

...
21

17

19 dso13

20 msh.c msh.c

Sabemos que cada zona de disco puede mantener 16 punteros a otras zonas. Partiendo de la informacion del nodo-i 20, en el bloque 17, podemos saber:

Las zonas 65 y 66 son las dos primeras del archivo. El n mero 67 es un puntero indirecto. En el se mantienen los siguientes 16 n meros de zona. u u El n mero 68 es un puntero doble indirecto. Su contenido nos da los n meros de tres zonas m s que contienen u u a ya punteros directos. Por tanto, sabemos que el archivo tendr 32 zonas m s (cuyos n meros est n guardados a a u a en las zonas 85 y 86). El n mero 87 es un puntero indirecto. No sabemos nada de su contenido. Sin embargo, como mnimo tendr u a un puntero directo v lido y como m ximo 16. a a

Acumulando lo dicho anteriormente tendremos: Que el chero utiliza las zonas 67, 68, 85, 86 y 87 como zonas con punteros a zona. Por tanto, 5 zonas se necesitan para esto. Que el chero utiliza 2 + 16 + 2*16 = 50 zonas de datos, referenciados por el nodo-i o por las zonas de punteros 67, 85 y 86, mientras que la zona 87 aportar entre 1 y 16 zonas m s. O sea se emplean entre 51 y a a 66 zonas de datos.

Esto hace que el total oscile entre 56 y 71 zonas.

Cuesti n 9 o
1. Tamano mnimo del puntero a zona. En el disco tendremos 320 bloques, ya que su capacidad total es de 320 Kb y el tama o de bloque (y de zona) es de n 1Kb. Para mantener 320 bloques necesitamos al menos 9 bits, ya que 2 = 256 (con 8 bits unicamente se pueden referenciar 256 bloques diferentes) mientras que 2 = 512 (con 9 bits se podran referenciar 512 bloques). 2. Punteros por zona. En una zona podremos mantener:
$ x p " G%TY` P F & 9 D XF 9 D %tF 9  xBpTY` P X& qb " b P t qb x & P ~ 

3. Tipo de punteros en el nodo-i. Si tenemos 16 bytes para punteros, podremos llegar a mantener en un mismo nodo-i:
$ x p " G%TY` P  & 9 H D nX 9 @ D 9  j T9 & P

Las alternativas presentadas se convierten as en las siguientes: (a) 14 punteros directos. Permite un tama o m ximo del archivo de 14 Kb, pero los n meros de bloque est n todos accesibles una vez n a u a se carga el nodo-i en memoria. El unico problema es que el tama o m ximo del archivo es excesivamente pequeno. n a (b) 13 punteros directos y uno indirecto simple. Esta opci n es la m s adecuada, puesto que si el tama o del archivo no supera los 13 Kb, todos sus punteros se o a n mantienen en el nodo-i. En caso de que el archivo sea mayor basta con mantener un puntero indirecto simple ya que esto admitira 910 punteros directos m s. Obviamente, como la capacidad del disco es de 320 bloques, a nunca se llegara a requerir m s bloques de punteros. a 19

(c) 12 punteros directos y 2 indirectos simples. No es conveniente, puesto que el segundo puntero indirecto nunca se usara y se obligara a usar un bloque de punteros para los archivos con m s de 12 Kb, mientras con la opci n anterior esto no era necesario hasta a o sobrepasar los 13 Kb. (d) 12 punteros directos, 1 indirecto simple y 1 indirecto doble. Ocurre lo mismo que en el caso anterior.

Cuesti n 10 o
1. Estructura del disco. Estos se descomponen del siguiente modo:
p 8r p r p 83Y5o

El disco tendr : a

= 64 bloques.

1 bloque de arranque. 1 superbloque. 1 bloque para el mapa de nodos-i.


Tendremos 31 nodos-i, por tanto necesitamos 31 bits para mapearlos. Adem s, en MINIX el nodo-i n mero a u cero, a pesar de no existir, ocupaba espacio en el mapa. Por tanto, habr 32 bits en el mapa. Con un bloque a tenemos suciente.

1 bloque para mapa de zonas de datos.


Como m ximo tendramos 64 bits (algunos no hacen falta puesto que est n ocupados por el bloque de arrana a que, el superbloque, los mapas, etc.). Con un bloque volvemos a tener bastante.

1 bloque para nodos-i.


Tendremos 31 nodos-i y cada uno de ellos necesita 16 bytes. Por tanto, se necesitan 496 bytes para almacenarlos, con lo que se usar un bloque. a

59 bloques para datos.


Del total de 64 bloques del disco, 5 ya est n ocupados. Por tanto, quedan 59 para datos. a

2. Tamano m ximo de archivo. a Necesitamos conocer cu ntos bloques podremos referenciar mediante los 60 bits que mantiene un nodo-i para a punteros directos. El tama o de un puntero a bloque ser : n a
H s H

64 bloques

2 bloques

punteros de 6 bits

Tenemos 60 bits disponibles. As tendremos: 60 / 6 = 10 punteros directos. Como cada bloque es de 512 bytes, el archivo podr llegar a 5 Kb. a 3. M ximo numero de entradas en un directorio. a En principio este valor no est limitado. Unicamente depende del n mero de archivos que se puedan crear. a u En nuestro caso, s lo podremos crear 31 archivos. Si todos los archivos se encontraran en el directorio raz o tendramos: Las entradas . y .. que se referiran al propio archivo del directorio raz. 30 entradas m s que acogeran al resto de archivos. a

Esto supone un total de 32 es lo mismo, 1 bloque.

entradas. Como cada entrada necesita 16 bytes, esto supondra 512 bytes; o lo que

20

4. M ximo numero de zonas libres si se crean todos los archivos posibles. a Podremos llegar a crear 31 archivos. De ellos, al menos uno ser un directorio (el directorio raz). Los treinta a restantes pueden ser archivos regulares. En UNIX se permite crear un archivo de longitud cero. Es m s, este tipo de archivos no requieren ninguna zona de a datos. Por tanto, si los 30 archivos regulares tienen tama o mnimo no est n ocupando zonas de datos. n a Por todo lo anterior, estos archivos solamente ocupar n la zona necesaria para el directorio raz. Como tenamos 59 a zonas para datos, quedar n libres 58 zonas. a 5. Mapas de bits. En el mapa de bits para nodos-i tenemos la siguiente situaci n: o

El nodo-i 0 se considera en uso. Aparece en el mapa como usado, pero en la pr ctica no existe tal nodo-i. a El nodo-i 1 mantiene el directorio raz. El nodo-i 2 mantiene el directorio /dir1. El nodo-i 3 mantiene el archivo /dir1/b. El nodo-i 5 mantiene el archivo /dir1/c.

Respecto al mapa de bloques de datos (zonas), sabemos lo siguiente (recu rdese que la primera zona del mapa e corresponde al primer bloque de datos; en nuestro caso el 5): El directorio raz est en la zona 5. a El directorio /dir1 est en la zona 6. a El archivo /dir1/b est en las zonas 7, 12, 13, 14, 15, 16, 17, 18, 19 y 20. a El archivo /dir1/c est en las zonas 21, 22, 23, 24, 25, 26, 27, 8 y 9. a

Los mapas de bits ser n: a Mapa de nodos-i 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 Mapa de zonas 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 1 1 1

0 1 1 1

0 1 1 1

0 1 1 1

1 1 1 1

0 1 1 1

1 1 1 1

1 1 1 1

1 0 0 1 1 1 1

0 0 1 1 1 1 1

6. Contenido de los archivos directorio del punto anterior. Ser el siguiente: a 1 1 2 . .. dir1 2 1 3 5 . .. b c

Cuesti n 11 o
1. Cilindros recorridos con SSTF y LOOK. SSTF 21

Cil. actual 50 48 70 81 95

Cilindros pendientes 23. 48, *, 70, 81, 95 23, *, 70, 81, 95 23, *, 81, 95 23, *, 95 23, *

Desplaz. 50 - 48 = 70 - 48 = 81 - 70 = 95 - 81 = 95 - 23 = TOTAL:

(cil.) 2 22 9 14 72 121

LOOK Direc. servicio Ascendente Descendente Cil. servidos 70, 81 y 95 48 y 23 Desplaz. 95 - 50 = 95 - 23 = TOTAL: (cil.) 45 72 117

2. Algoritmo ptimo o Ni el LOOK ni el SSTF dan el mejor resultado posible para las peticiones que nos plantea el problema. Si el sentido inicial de servicio fuera descendente el LOOK proporcionara un resultado optimo. Dado un conjunto est tico de peticiones, el recorrido optimo sera el siguiente: a Conocido el conjunto de peticiones y el cilindro donde est actualmente la cabeza, servirlas en el sentido hacia a aquel extremo que quede m s cerca del cilindro actual. Una vez llegado al cilindro de la ultima petici n en tal a o sentido, invertir el sentido de servicio y pasar a servir las peticiones restantes. En nuestro caso, las peticiones en los extremos (la de menor y mayor cilindro, respectivamente) son sobre los cilindros 23 y 95. El cilindro actual es el 50. Por tanto, el extremo m s cercano es el cilindro 23, con lo que a primero serviremos en orden descendente y despu s en ascendente. As, e Direc. servicio Descendente Ascendente Cil. servidos 48 y 23 70, 81 y 95 Desplaz. 50 - 23 = 95 - 23 = TOTAL: (cil.) 27 72 99

No obstante, este algoritmo no funcionara bien a medida que fueran llegando nuevas peticiones ya que deberan recalcularse los extremos con cada nueva petici n y raramente se atenderan peticiones alejadas del cilindro o actual.

Cuesti n 12 o
1. Estructura de directorios

22

users

bin

unix

dev

felipe

alfonso

sh

ls

cat

less

tty0

console

tty1

ed

mysh

2. Estado nal de los directorios. 1 1 2 21 5 6 . .. users unix dev bin 2 1 10 12 8 . .. felipe alfonso mysh 6 1 20 22 25 . .. ls less ed 12 2 3 3 7 . .. sh bash sistema

5 1 13 11

. .. tty1 console

10 2 23

. .. mysh

23

CUESTIONES Y PROBLEMAS PROPUESTOS

Cuesti n 1 o
Decidir si las siguientes armaciones sobre el sistema de archivos UNIX son verdaderas o falsas:

La creaci n de un enlace fsico mediante el mandato ln implica la utilizaci n de un nuevo nodo-i. o o La creaci n de un enlace simb lico mediante el mandato ln -s no requiere el uso de un nuevo nodo-i. o o El mandato mv nunca implica el uso de nodos-i libres ni la liberaci n de nodos-i en uso. o Para que un nodo-i pueda liberarse, deben eliminarse todos los enlaces fsicos y simb licos sobre ese nodo-i. o Dado un archivo /dir1/a, la ejecuci n del mandato rm /dir1/a siempre implica la liberaci n de su nodo-i. o o Se supone que el usuario tiene sucientes derechos de acceso a dicho archivo.

Cuesti n 2 o
Qu problemas planteara en UNIX la posibilidad de crear enlaces fsicos sobre archivos de tipo directorio ? e

Cuesti n 3 o
Explicar c mo podran darse m ltiples nombres a un mismo archivo en sistemas de archivo Windows 95 / 98 (FAT16 / o u FAT32).

Cuesti n 4 o
Decidir si las siguientes armaciones sobre algoritmos de planicaci n de peticiones a disco son verdaderas o falsas: o Si un manejador de disco no suele tener m s de una o dos peticiones pendientes, en la pr ctica se planica con a a estrategia FCFS. Con una estrategia FCFS el tiempo de espera de una petici n en la cola del manejador es el mnimo posible. o La estrategia SSTF es injusta porque puede marginar las peticiones sobre los cilindros m s internos o externos del a disco. En un sistema multiprogramado se podr tener m s de una petici n pendiente del mismo hilo de ejecuci n. a a o o En un sistema multiprogramado no se podr tener dos peticiones pendientes sobre el mismo cilindro. a

Cuesti n 5 o
Decidir si las siguientes armaciones sobre estructuras de directorios son verdaderas o falsas: El sistema de archivos de MS-DOS es un ejemplo de estructura de directorios de dos niveles. El sistema de archivos de UNIX es un ejemplo de estructura de directorios en grafo acclico. Una estructura de directorios en grafo general no permite que diferentes usuarios protejan sus archivos.

24

Cuesti n 6 o
Se tiene un sistema DOS donde el tama o de cluster es igual a 4 Kb (8 sectores) y en el que las primeras 52 entradas n de la FAT tienen los siguientes valores: 0 1 2 3 4 5 6 7 8 9 10 11 12 X X EOF 4 5 6 7 8 9 10 11 12 EOF 13 14 15 16 17 18 19 20 21 22 23 24 25 14 15 16 17 18 19 20 21 22 EOF EOF EOF EOF 26 27 28 29 30 31 32 33 34 35 36 37 38 24 EOF EOF 30 EOF 34 EOF 36 28 38 40 41 32 39 40 41 42 43 44 45 46 47 48 49 50 51 29 37 42 44 50 47 46 33 49 45 EOF 48 FREE

A continuacion se listan tres directorios presentes en ese disco. Sus entradas tendr n el siguiente formato (se suprimen a los bytes reservados y los campos de fecha y hora de ultima actualizaci n): o Nombre Extensi n o Atributos Primer cluster Longitud

El campo atributos se representar en binario. En MS-DOS, los ocho bits de este campo tienen el siguiente signicado: a Res. Res. Archivable Directorio Etiqueta Sistema Oculto Solo lect.

Los directorios mencionados tienen el siguiente contenido: . .. IO DISCO C MSDOS DOS COMMAND ARCHIVOS . .. CONFIG LABEL ATTRIB DELTREE . .. A B SE PIDE 25 00010000 00010000 00000111 00001000 00000111 00010000 00000001 00010000 00010000 00010000 00000000 00000000 00000000 00000000 27 2 25 26 2 54 3 0 13 23 43 27 23 2 34 31 39 35 0 0 40.755 0 38.158 0 56.539 0 0 0 8.034 9.566 11.284 11.173

MS-DOS fuerza a que todos los dispositivos de almacenamiento est n montados sobre el mismo arbol de directorios. e Una estructura en grafo acclico permite mantener varios enlaces sobre un mismo chero regular.

SYS SYS COM

SYS EXE EXE EXE

DAT

00010000 00010000 00000000 00000000

0 0 4.034 2.342

1. Dibujar la estructura de directorios. 2. Utilizando las entradas que se conocen de la FAT, decir qu clusters pertenecen a cada archivo. Puede detectarse e alguna inconsistencia ? 3. Comentar qu salida dara el mandato DIR (sin argumentos) si nos encontramos en el directorio mantenido en el e cluster 2. 4. Si se supone que el directorio que se encuentra en el cluster 2 funciona como directorio raz, comentar c mo o quedara la FAT y los directorios tras haber realizado las siguientes acciones: C:> DEL \DOS\CONFIG.SYS C:> COPY \ARCHIVOS\A.DAT \A.BAK suponiendo que la asignaci n de clusters libres se intenta realizar con aquellos que tengan menor n mero de cluster. o u 5. Qu pasara si la entrada 35 de la FAT apuntara al bloque 35 e intent ramos ejecutar el mandato DELTREE ? e a Qu pasa en general si una entrada de la FAT apunta a ella misma ? e 6. Suponiendo que el disco estudiado tiene una capacidad de 40 Mb, guarda FAT original y una copia (punteros de 16 bits) y el directorio raz puede mantener 512 entradas, dar la estructura del disco y mencionar cu ntos clusters o a sectores tendr cada parte. a 7. Comentar cu nto espacio se desperdicia debido a fragmentacion interna en cada uno de los archivos que aparecen a en el enunciado (Sin tener en cuenta el apartado 4). 8. Suponiendo bloques (y zonas) de 4 Kb y un disco de igual capacidad, con punteros a zona de 16 bits, entradas de directorio de 16 bytes, un m ximo de 1024 archivos, nodos-i de 32 bytes con 7 punteros directos, un indirecto a simple y uno doble:

Indicar c mo se estructurara este mismo disco bajo MINIX. o Suponiendo que contiene unicamente estos mismos archivos y directorios, dar el contenido de los archivos de tipo directorio suponiendo que: Los archivos se crearon por niveles (primero todos los que aparecen en el directorio raz y despu s los e archivos que cuelgan de sus dos subdirectorios). Dentro de un mismo nivel se sigui orden alfab tico. o e Siempre se us el nodo-i m s bajo disponible. o a El disco no contena ningun archivo previamente y no se han borrado ni creado m s archivos. a Comparar las cifras de fragmentacion interna en este sistema con las del anterior. En qu archivos diere ? e

26