Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia de Resolucion de Planficación de Discos
Guia de Resolucion de Planficación de Discos
Los discos constan de varios platos, cada plato tiene dos cabezas de lectura/escritura
(arriba y abajo). Esto quiere decir que el plato contiene información de ambos lados. A
cada uno de los dos lados de los platos se lo denomina superficie. Cada plato posee
pistas, que son círculos concéntricos que lo dividen. Un cilindro es el conjunto de todas
las pistas en la misma posición de todos los platos.
Las cabezas se mueven perpendiculares a los platos, pasando de pista a pista o de
cilindro en cilindro, es indistinto. Las pistas están divididas en sectores, que son
bloques de información del mismo tamaño.
Cabezas
de
lectura/e
scritura
Cilindro
Pistas
Cabeza
l
Sector 0
Los ejercicios normalmente nos dan las r.p.m (revoluciones por minuto) a las que gira
el disco. Al dar una vuelta la cabeza pasa por sobre toda una pista.
Ej.
Un disco con:
2 platos => 4 cabezas
100 cilindros => 100 pistas/superficie
10 sectores por pista
Tiempo que tarda entre cilindros: 4 ms = Tiempo de búsqueda
Velocidad de Giro: 50 r.p.s
Pedidos: 142 - 623 (aunque nunca lo diga, están dados en número de sector)
Para atender el pedido, primero la cabeza tiene que pararse en el cilindro adecuado y
después ubicar el sector.
Calculemos el tiempo rotacional:
10 sectores ………………………… 20 ms
1 sector……………………………….X= 2 ms
Para saber en que cilindro me encuentro debo averiguar la cantidad de sectores por
cilindro, que se calcula como:
Si dividimos nuestros pedidos por este número nos dará en que cilindro se encuentra
cada pedido:
142 / 40 = 3
623 / 40 = 15
Ahora tendríamos que ver en que cabeza está el pedido, y para hacer eso dividimos el
resto de la división anterior por la cantidad de sectores por pista:
22 / 10 = 2
23 / 10 = 2
R=2
R=3
Si el ejercicio dice que los sectores están numerados en el rango 0..99, los dejamos
como están.
Si los sectores están numerados en el rango 1..10, a este resto hay que sumarle 1
(porque los restos de dividir a un número por 10 dan de 0 a 9)
R=2+1
R=3+1
Para calcular el tiempo que pasó de un pedido al otro tengo que ver dos cosas:
Lo que tenemos que ver entonces es cuantos sectores se han recorrido en el lapso
que duró la traslación de esos 12 cilindros
Tiempo de sector a sector: 2 ms. (se calculó antes) => cantidad de sectores
atravesados = 48 ms / 2 ms/sector = 24 sectores
Si estaba en el sector 2 (ver tabla anterior), ahora “estaría” en el 26. Pero como hay 10
sectores por pista, si pasamos 24, sería como haber dado 2 vueltas enteras + 4
sectores => estamos en el sector 6.
Ahora tenemos que ir al sector 3. Como nos pasamos, para llegar al 3 hay que
completar la vuelta y movernos 3 más.
12 ms
Tiempo de transferencia
T=b/r*N
b = cantidad de bytes a transferir
r = r.p.s. (revoluciones por segundo)
N = cantidad de bytes por pista
Algoritmos
1 Planificación SCAN
En el algoritmo SCAN, el brazo del disco parte de un extremo del disco y se mueve hacia el
otro, atendiendo las solicitudes a medida que llega a cada cilindro, hasta llegar al otro extremo
del disco. Ahí, la dirección de movimiento de la cabeza se invierte, y continúa la atención. La
cabeza barre continuamente el disco de un lado a otro.
El algoritmo SCAN también se conoce como algoritmo de elevador, ya que el brazo del disco
se comporta igual que el elevador de un edificio, que atiende primero todas las solicitudes para
subir y luego cambia de dirección para atender las solicitudes de abajo.
Pistas
100
Pedido
2 Planificación C-SCAN
La planificación SCAN circular (C-SCAN) es una variante de SCAN diseñada para dar un
tiempo de espera más uniforme. Al igual que SCAN, C-SCAN mueve la cabeza de un extremo
del disco al otro, atendiendo las solicitudes en el camino, sólo que ahora, cuando la cabeza
llega al otro extremo, regresa de inmediato al principio del disco sin atender solicitudes.
Pistas
En la estrategia C-SCAN, el brazo se mueve del cilindro exterior al interior, sirviendo a las
peticiones con menor tiempo de búsqueda. Cuando el brazo ha completado su recorrido hacia
100 salta al principio del disco y a continuación reanuda su recorrido hacia adentro
adentro,
procesando peticiones.
Pedido
Para resolver los ejercicios, hay que ver si la cabeza del disco esta subiendo o
bajando, y respetar esa dirección. Se ordenan los pedidos en forma creciente desde la
posición inicial hasta el ultimo o primer cilindro (depende de la dirección) y después
atender el resto.
Ej: Seguimos con los datos del ej anterior, 100 pistas y 10 sectores por pista
* Hay que llegar hasta el último cilindro y para después volver al primer cilindro, pero
no interesa el sector dentro del cilindro que quedemos
Si en el ejercicio tenemos que calcular los tiempos de atención de los pedidos, cuando
llegamos al pedido más alto, tendríamos que calcular el tiempo que tarda hasta el
ultimo cilindro
Ej.:
3 Scan n pasos
Atenderia los pedidos de la cola n, en el siguiente orden (suponiendo que arranca del
sector 0): 642 – 811 – 1000.
Luego saca los 3 priomeros pedidos de la cola de espera, y los pasa a la cola n:
4 Planificación LOOK
El algoritmo look trabaja con la misma idea que Scan, con la diferencia que no va
hasta la ultima pista antes de cambiar el sentido del recorrido, sino que va hasta la
pista que tenga el ultimo pedido.
Pistas
100
Pedido
5 Planificación C- LOOK
Este algoritmo, como look, se mueve hasta los pedidos “extremos”, pero en un solo
sentido.
Pistas
100
Pedido