Problema Entrada/Salida (Feb 98) - Departamento de Informática

Anuncio
Problema Entrada/Salida (Feb 98)
Un equipo informático dispone de un disco con 1200 cilindros, 16 cabezas y 56
sectores con las siguientes características técnicas: Tamaño sector = 512 bytes.
Velocidad de rotación 6000 r.p.m. Formateo con interleave óptimo 2 (el interleave
más bajo es 1). El espacio de separación entre sectores es 1/8 del tamaño del sector. El
tiempo de posicionamiento del brazo viene dado por la siguiente función: t  1  d 2
mseg. donde ‘d’ es la distancia en cilindros desde el origen al destino.
Notas:
- Inicialmente la cabeza lectora/grabadora se haya situada en el cilindro 0 y al
principio del sector 1.
- La numeración de cilindros y cabezas empieza por 0 y la de los sectores por 1.
- Supongase que debajo (o encima) de cada sector de cada plato se encuentra otro
sector de igual numeración y perfectamente alineados. O sea debajo del sector 1
esta el 1, debajo del 2 está el 2, etc....
Se pide:
1) Calcule la mínima velocidad de transferencia (de controladora a memoria) que
requiere este disco e indique cúal de las siguientes respuestas es correcta:
a)
b)
c)
d)
2.580.480 bits/seg.
20.643.840 bits/seg.
20.643.840 bytes/seg
2.867.200 bytes/seg.
e)
f)
g)
h)
22.937.600 bits/seg.
2.867.200 bits/seg.
3.584.000 bytes/seg.
Ninguna de las anteriores
2) En un momento dado la cola de peticiones de disco tiene estas dos peticiones de lectura: cil=49, cab=0, sec=15, y cil=49, cab=10, sec=44. Calcule el tiempo total
invertido en completarlas, siguiendo el algoritmo de planificacion FCFS. Tenga en
cuenta los tiempos de posicionamiento, demora y transferencia, e indique finalmente
la respuesta válida entre las siguientes:
a) 9’5 msg. b) 12,3 mseg.
e) 7,17 mseg. f) 5,89 mseg.
c) 5,91 mseg. d) 14,5 mseg.
g) 5,71 mseg. h) Ninguna de las anteriores.
3) Se cambia el disco por otro similar en el que la función de tiempo de posicionamiento viene dada por la función: t = 0,8*d mseg. y el nº de sectores por pista es 50,
manteniendo el resto de características y supuestos igual. Se pide determinar el orden
en que se realizaran las siguientes peticiones de disco pendientes aplicando una
variante del algoritmo “Salto más corto el siguiente” en la que el tiempo de demora
es significativo respecto al de posicionamiento y que por tanto es determinante para
la aplicación del algoritmo.
Cilindro
Cabeza
Sector
Cilindro
Cabeza
Sector
1
0
6
21
2
5
3
16
3
10
5
2
4
10
7
6
5
12
7
46
6
13
0
44
1
2
3
4
5
6
Solucion:
1) La mínima velocidad de transferencia requerida para un interleave 2 es la que garantiza
que se puede transfererir un sector en el tiempo transcurrido desde que se acaba de leer
hasta que enpieza el siguiente. Este tiempo es el que tarda en pasar por la cabeza 1
gap+1 sector+ 1 gap = 10 octavos de sector, ya que 1 gap es 1/8 de sector. Como hay
56 sectores por pista, sabemos que en una pista hay 56 sectores y 56 gaps, que
expresados en octavos de sector serían 56*8+56*1=504. Una vuelta de disco tarda
60/6000= 10 mseg. y por tanto el tiempo buscado es (10*10)/504 mseg =1/5040 seg.
En este tiempo hay que tranferir 512 * 8 bits, por tanto la velocidad pedida es: 512*8 /
(1/5040) = 20.643.840 bits/seg.
2) La distribución de sectores en una pista con interleave 2 es:
1,29, 2,30, 3,31, 4,32, 5,33, 6,34, 7,35, 8,36, 9,37,10,38,11,39,12,40,13,41,14,42
15,43,16,44,17,45,18,46,19,47,20,48,21,49,22,50,23,51,24,52,25,53,26,54,27,55,28,56
el tiempo de posicionamiento para ir del cilindro 0 al 49 es: 1 49 2 = 4,5 mseg. el
tiempo de rotación para ir desde el principio del sector 1 hasta el 15 es: 10*28/56 = 5
mseg. que es mayor que el de posicionamiento por tanto para cuando llege el brazo a
la pista 49 todavía no ha pasado el sector 15 y simplemente esperará un tiempo de
demora de 0,5 mseg. hasta que llegue dicho sector, a continuación lo leerá , lo
transferirá y esperará hasta el sector 44 que está 2 sectores más lejos, lo leerá y lo
transferirá en el tiempo que tarda en pasar el siguiente sector, o sea, hasta el principio
del sector 45. En resumen todo esto se efectúa en un tiempo de rotacion de 33 sectores
(desde el comienzo sector 1 hasta el comienzo sector 45). Este tiempo es: 10*33/56 =
5,89 mseg.
3) La distribución de sectores en una pista de 50 sectores con interleave 2 es:
1,26, 2,27, 3,28, 4,29, 5,30, 6,31, 7,32, 8,33, 9,34,10,35,11,36,12,37,13,
38,14,39,15,40,16,41,17,42,18,43,19,44,20,45,21,46,22,47,23,48,24,49,25,50.
El algoritmo debe seleccionar como siguiente petición la que se encuentre más cerca.
Para ello hay que considerar el tiempo de posicionamiento y el tiempo de latencia (el
que hay que esperar para que el sector pedido se sitúe debajo de la cabeza). El mayor
de estos dos tiempos marcará un tiempo mínimo, es decir no se puede llegar a dicho
sector antes de dicho tiempo. Si el mayor es el de latencia, significa que podemos
llegar a dicho sector en ese tiempo sin más, si el mayor es el de posicionamiento,
entonces habrá que añadirle además un tiempo de demora. El orden en le que se
llevarían a cabo la ejecución de las peticiones es: 5,3,16 : 10,5,2 : 10,7,6 : 13,0,44 :
12,7,46 y 0,6,21. Veamos como se determinaría la primera peticion. En primer lugar
calculamos el tiempo que tarda en pasar 1 sector (y su gap) = 10 / 56 mseg. A
continuación calculamos los tiempos de acceso desde el cil=0, sector=1 a cada una de
las peticiones:
- Cil. 0  Tpos= 0.
- Sec. 21  Tlat = 40*0,2 = 8 mseg. (40 sect. separación entre el sector 0 y el 21).
- Cil 5  Tpos= 5*0,8 = 4 mseg. (habría que sumarle el tiempo de demora=2)
- Sec 16  Tlat = 30*0,2=6 mseg. (es la más cercana. Se selecciona)
- Cil 10  Tpos=10*0,8 = 8 mseg. (como supera a 6 se descarta).
- Las peticiones de los cilindros 12 y 13 estan lógicamente mas lejos y se descartan.
Una vez seleccionada como más próxima la petición 5,3,16 hay que considerar que se
tiene que leer dicho sector y por tanto la cabeza quedaría situada en 5,3,17 y lista para
resolver otra petición que sería l la 10,5,2 y así sucesivamente.
Descargar