• No se han encontrado resultados

5 Administración de entrada/salida

In document Sistemas Operativos Ejercicios (página 33-40)

1. Un disco magnético tiene una velocidad de rotación de 7200 RPM, y está organizado en 5000 cilindros, numerados del 0 al 4999. El disco está actualmente atendiendo una solicitud por el cilindro 143, y la solicitud anterior fue para el cilindro 125. La cola de solicitudes pendientes contiene los cilindros 86, 1470, 913, 1774, 948, 1509, 1022, 1750 y 130. El controlador de disco implementa una política C-LOOK. Suponga que el disco puede realizar una búsqueda a un cilindro adyacente en 1 ms, y que mover el brazo de un extremo del disco al otro demora 18 ms.

a) Calcule el número total de cilindros recorridos

b) La física elemental nos dice que un objeto sometido a una aceleración constante a re- corre una distancia d en el tiempo t, donde estas variables están gobernadas por la ecuación d = 1

2at2. Entonces, mover el brazo a través de L pistas involucra acelerar el brazo a una tasa constante a por la primera mitad del movimiento, y luego decelerar el brazo a la misma tasa a por la segunda mitad del movimiento. La siguiente figura ilustra la velocidad del brazo en función del tiempo.

Tiempo Velocidad

Calcule el tiempo t necesario para recorrer L pistas en función de L y a.

c) En realidad, existen constantes de tiempo asociadas a vencer la inercia inicial del movi- miento del brazo y a cambiar su dirección de movimiento. El modelo presentado en el punto anterior puede ser mejorado. Por ejemplo, la ecuación t = x + yL es una buena aproximación al tiempo t necesario para mover el brazo a través de L pistas. En base a la información que Ud. conoce para el disco, calcule x e y.

d) En base a sus resultados para los puntos anteriores, calcule el tiempo total de búsque- da para la secuencia de solicitudes dada. Sugerencia: las partes c) y d) no requieren del resultado de la parte b)

Solución

a) Del enunciado, el brazo lector se está moviendo hacia las pistas de número superior. El algoritmo C-LOOK determina que el brazo viaja de la pista 143 a la pista 1774, luego cambia su dirección de movimiento y visita la pista 86, para terminar en la pista 130. Por lo tanto, recorre (1774 − 143) + (1774 − 86) + (130 − 86) = 3363 pistas.

b) Ya que el brazo se mueve a una aceleración y deceleración constantes, el tiempo ne- cesario para acelerar hasta la mitad del recorrido (L

2 pistas) será t1= q

L

a, y el tiempo

necesario para desacelerar el brazo será también t2= q

L

a. Entonces, el tiempo necesario

para recorrer L pistas es t1+ t2= 2 q

L a.

c) Del enunciado, sabemos que mover el brazo la distancia de 1 cilindro demora 1 ms, y que recorrer 4999 pistas demora 18 ms. Eso nos da dos ecuaciones:

1 = x + y 18 = x +4999y Despejando para x e y, se obtiene x = 0,7561 e y = 0,2439

d) El tiempo total de búsqueda se calcula aplicando la ecuación obtenida en c) a las dis- tancias entre las pistas visitadas por el brazo lector. La tabla 5.1 muestra los recorridos del brazo, la distancia entre las pistas visitadas y el tiempo de búsqueda entre ellas, calculado como tBusq = 0,7561 + 0,2439√y. De esta tabla, el tiempo total de búsqueda

es 40,42 ms.

Comienzo Final Distancia tBusq

143 913 770 7,52 913 948 35 2,20 948 1022 74 2,85 1022 1470 448 5,92 1470 1509 39 2,28 1509 1750 241 4,54 1750 1774 24 1,95 1774 86 1688 10,78 86 130 44 2,37 Total 3363 40,42

Cuadro 5.1: Tiempo de búsqueda entre pistas

2. En un sistema computacional basado en memoria virtual se hacen mediciones de tiempo de utilización de recursos, con los siguientes resultados:

Utilización de la CPU: 20% Utilización del disco: 97,7%

Utilización de otros dispositivos de E/S: 5%

Un compañero suyo propone una lista de posibles acciones a tomar para mejorar la utiliza- ción de la CPU. Para cada acción, indique su efecto sobre los parámetros anteriores.

a) Reemplazar la CPU por otra 2,5 veces más rápida b) Instalar otra CPU idéntica en paralelo

c) Reemplazar el disco magnético por uno 2,5 veces más grande d) Reemplazar el disco magnético por uno 2,5 veces más rápido

e) Reemplazar el disco magnético por una configuración RAID-0 f ) Reemplazar el disco magnético por una configuración RAID-1 g) Instalar más memoria RAM

h) Reducir el grado de multiprogramación

i) Configurar el sistema operativo para realizar paginación previa j) Configurar el sistema operativo para aumentar el tamaño de la página Solución

El sistema está hiperpaginando, es decir, pasa la mayor parte del tiempo esperando por el disco, lo que indica que se ha sobreasignado la memoria física disponible. Reducir el número de procesos presentes en memoria reducirá el número de faltas de página y mejorará la utilización de la CPU. En forma alternativa, se puede mejorar el desempeño reemplazando el disco magnético por un disco más rápido, o instalando más memoria RAM. La utilización de los otros dispositivos de entrada/salida no se verá afectada. Entonces,

a) Reemplazar la CPU por una 2,5 veces más rápida

No afecta mayormente la utilización del disco. Puede reducir la utilización de la CPU. b) Instalar otra CPU idéntica en paralelo

No afecta mayormente la utilización de la memoria ni del disco. c) Reemplazar el disco magnético por uno 2,5 veces más grande

No afecta la utilización del disco.

d) Reemplazar el disco magnético por uno 2,5 veces más rápido

Instalar un disco más rápido permite servir páginas más rapidamente, aumentando la tasa de transferencia a memoria. Esto aumenta la utilización de la CPU y puede disminuir la utilización del disco.

e) Reemplazar el disco magnético por una configuración RAID-0

RAID 0 distribuye los datos a través de varios discos independientes. Esto es visto por el sistema como un disco más rápido, por lo que aumenta la utilización de la CPU y puede disminuir la utilización del disco.

f ) Reemplazar el disco magnético por una configuración RAID-1

RAID 1 mantiene dos copias de los datos, pero desde el punto de vista del sistema aparece como un solo disco del mismo tamaño y aproximadamente el mismo tiempo de acceso. Por ello, no afecta la utilización de la CPU.

g) Instalar más memoria RAM

Reduce la paginación, aumenta la utilización de la CPU y disminuye la utilización del disco.

h) Reducir el grado de multiprogramación

Reduce la paginación, por lo que aumenta la utilización de la CPU y disminuye la utilización del disco.

i) Configurar el sistema operativo para realizar paginación previa

Transfiere más páginas de disco a memoria en caso de una falta de página. Esto no alivia al disco, e incrementa la utilización de la CPU sólo si las aplicaciones acceden secuencialmente a memoria.

j) Configurar el sistema operativo para aumentar el tamaño de la página

Aumentar el tamaño de la página reduce el número de páginas residentes en memoria y aumenta la hiperpaginación. Puede ser beneficioso sólo en caso que las aplicaciones accedan secuencialmente a memoria, ya que reduce las faltas de página.

3. Considere un sistema de archivos que utiliza dos niveles de tablas para almacenar los blo- ques de disco asignados a un archivo. Suponga que el tamaño del bloque de este sistema de archivos es de 512 bytes. Suponga además que el tamaño de una entrada en tabla es de 32 bits.

a) Cuál es el tamaño máximo de un archivo en este sistema de archivos?

b) Cuál es el espacio total ocupado en disco por un archivo de tamaño máximo?

c) Existe algún límite a la suma total del tamaño de todos los archivos en el sistema de archivos?

Solución

a) Cada tabla tiene 512 bytes, es decir, almacena 128 entradas de 4 bytes cada una. En- tonces, el tamaño máximo de un archivo es 128 × 128 × 512 = 8 MiB.

b) Además del espacio ocupado por los datos, se deben almacenar 1 + 128 tablas de 512 bytes cada una, que ocupan en total 129 × 512 = 64,5 KiB. Entonces, el espacio total ocupado en disco por un archivo de tamaño máximo es 8 MiB + 64,5 KiB.

c) En este caso, la principal limitación al tamaño total del sistema de archivos está dado por la representación del índice de un bloque en 4 bytes, es decir, 32 bits. Entonces, el sistema de archivos puede almacenar a lo más 232× 27= 2 TiB de datos.

4. Suponga que Ud. tiene un disco magnético compuesto por 4 platos y 8 superficies de alma- cenamiento de datos, que rota a 12000 RPM. El disco está dividido en 3 zonas:

La zona externa posee 400 sectores por pista La zona intermedia tiene 320 sectores por pista La zona interna tiene 240 sectores por pista

Además, considere que un sector en disco almacena 512 bytes, que el tiempo para mover la cabeza lectora de un cilindro a otro es de 3,2 ms, y que el tiempo de conmutación entre pistas de un mismo cilindro es de 2,4 ms.

a) Calcule la tasa ideal de transferencia de datos para las 3 zonas del disco (no considere los tiempos de conmutación entre pistas ni entre cilindros).

b) Calcule la tasa máxima de transferencia de datos para las 3 zonas del disco, conside- rando los tiempos de conmutación entre pistas y entre cilindros (suponga que se desea transferir una gran cantidad de datos que abarca muchos cilindros).

c) Suponga que se desea transferir un archivo de datos de 1,5 MiB que está almacenado en forma contigua en alguna parte del disco. Calcule la tasa mínima de transferencia de datos para las tres zonas del disco, considerando los tiempos de conmutación entre pistas y entre cilindros. (Pista: póngase en el peor caso posible)

Solución

El disco rota a 12000 RPM o 200 RPS. Es decir, realiza una rotación cada 5 ms. En la zona externa, una pista almacena 200 KiB. En la zona intermedia, una pista almacena 160 KiB. En la zona interna, una pista almacena 120 KiB.

a) En el caso ideal, las tasas de transferencia son: Texterna = 200 ∗ 200 KiB = 40000 KiB/s

Tintermedia = 200 ∗ 160 KiB = 32000 KiB/s

Tinterna = 200 ∗ 120 KiB = 24000 KiB/s

b) Se consideran ahora los tiempos de conmutación entre pistas y entre cilindros. El mejor caso a considerar es el acceso secuencial a una gran cantidad de datos que abarca mu- chos cilindros. Examinemos el tiempo necesario para leer completamente un cilindro. Se requieren 8 revoluciones, mas 7 cambios de pista mas un cambio de cilindro. En ese tiempo se transfieren 8 pistas de datos. Entonces, se tiene

Texterna = (8 ∗ 200 KiB)/(5 ∗ 8 + 7 ∗ 2,4 + 3,2) ms = 26666 KiB/s Tintermedia = (8 ∗ 160 KiB)/0,06s = 21333 KiB/s

Tinterna = (8 ∗ 120 KiB)/0,06s = 16000 KiB/s

c) Un archivo secuencial de 1,5 MiB se almacena en 3000 sectores consecutivos. En caso de almacenarse éste en la zona externa del disco, el archivo ocupará como mínimo 8 pistas, o, como máximo, 9. El peor caso, entonces, es si el primer sector del archivo se almacena en el último sector de un cilindro y los 2999 sectores restantes ocupan 7 pistas y fracción del cilindro siguiente. Entonces, el tiempo total de lectura del archivo secuencial es el tiempo necesario para leer 3000 sectores a 40000 KiB/s, que es 38,4 ms, mas el tiempo para cambiar de un cilindro a otro (3,2 ms) y 7 veces el tiempo de conmutación (2,4 ms).

Para la zona intermedia, es fácil ver que 3000 sectores consecutivos ocupan 10 pistas o, como máximo, 11. El peor caso nuevamente corresponde al primer sector del archivo almacenado como el último sector de un cilindro, 2560 sectores se almacenan en el cilindro siguiente y los 439 sectores finales se almacenan en las dos primeras pistas del

cilindro subsiguiente. Entonces, el tiempo total de lectura del archivo secuencial es el tiempo necesario para leer 3000 sectores a 32000 KiB/s, que es 48 ms, mas dos veces el tiempo para cambiar de un cilindro a otro (3,2 ms) y 8 veces el tiempo de conmutación (2,4 ms).

Para la zona interna, se puede calcular que 3000 sectores consecutivos ocupan 13 pistas o, como máximo, 14. El peor caso nuevamente corresponde al primer sector del archivo almacenado como el último sector de un cilindro, 1920 sectores se almacenan en el cilindro siguiente y los 1079 sectores finales se almacenan en las cinco primeras pistas del cilindro subsiguiente. Entonces, el tiempo total de lectura del archivo secuencial es el tiempo necesario para leer 3000 sectores a 24000 KiB/s, que es 64 ms, mas dos veces el tiempo para cambiar de un cilindro a otro (3,2 ms) y 11 veces el tiempo de conmutación (2,4 ms).

En resumen, las tasas de transferencias son

Texterna = 1536 KiB/(38,4 + 7 ∗ 2,4 + 3,2) ms = 26199 KiB/s

Tintermedia = 1536 KiB/(48 + 8 ∗ 2,4 + 2 ∗ 3,2) ms = 20869 KiB/s

Tinterna = 1536 KiB/(64 + 11 ∗ 2,4 + 2 ∗ 3,2) ms = 15867 KiB/s

5. Un sistema de almacenamiento magnético en disco recibe solicitudes de acceso a las si- guientes pistas: 27, 129, 110, 186, 147, 41, 10, 64, 120. Supóngase que la cabeza del disco está ubicada inicialmente sobre la pista 100 y se está moviendo hacia la pista 0. Analice el tiempo medio de búsqueda para los algoritmos de planificación First-In First-Out (FIFO), Shortest Seek Time First (SSTF), y SCAN.

6. El algoritmo de planificación de disco C-SCAN es una variante del algoritmo SCAN que re- corre el disco atendiendo solicitudes en una sola dirección hasta un extremo del disco, para luego reubicar la cabeza lectora al otro extremo del disco antes de continuar atendiendo so- licitudes. Un sistema de almacenamiento magnético recibe solicitudes de acceso a las pistas 42,23,139,89,71,2,61 y 112. Inicialmente la cabeza lectora está en la pista 80, atendiendo solicitudes mientras se mueve hacia las pistas de número superior. Suponga que el disco tie- ne 140 pistas en total, numeradas de 0 a 139, y que el movimiento de la cabeza entre pistas contiguas demora 2 ms, mientras que mover la cabeza de un extremo a otro del disco de- mora 21 ms (Valores promedio para un disco Western Digital Caviar SE120). Usando estos valores, calcule el tiempo medio de búsqueda para los algoritmos SCAN y C-SCAN.

7. El tiempo de transferencia total de datos desde un disco magnético depende de tres factores: El tiempo de búsqueda de la pista

El tiempo de rotación del disco

El tiempo de transferencia de los datos

Supóngase que es necesario escribir k bytes a un disco duro de 7200 RPM que tiene 1000 pistas, y un tiempo de búsqueda de pista promedio de 6 ms. Para acelerar el desempeño del sistema de disco, Ud. propone una estructura de tipo RAID-0, donde los datos serán escritos en paralelo a dos discos magnéticos independientes de iguales características. Este nuevo esquema puede ser visto como un solo disco magnético de mayor capacidad. En este

caso, cómo variarán los 3 factores del tiempo de transferencia total? Indique si los factores aumentan o disminuyen, y porqué.

8. Considere la organización de un archivo en UNIX. Suponga que hay 12 punteros a bloques directos almacenados en el nodo-i del archivo, además de punteros a tablas de primer, se- gundo, y tercer nivel, respectivamente. Suponga además que el tamaño del bloque en disco es de 8 KiB, y que cada puntero a un bloque de disco ocupa 32 bits.

a) Cuál es el tamaño máximo de un archivo?

b) Cuál es el tamaño máximo de los metadatos del archivo?

9. Aumentar el tamaño del bloque de disco en un sistema de archivos tipo UNIX implica: a) Disminuir la fragmentación interna

b) Aumentar la fragmentación externa

c) Disminuir el tamaño del bitmap de bloques libres

d) Disminuir el tamaño máximo posible para un archivo de texto Explique su respuesta.

In document Sistemas Operativos Ejercicios (página 33-40)

Documento similar