E.U. de Informática Departamento de Informática Aplicada Examen final de Sistemas Operativos I EJERCICIO 3 (3,5 puntos) SOLUCION 17 de junio de 2005 Tiempo Estimado: 60 m 1) La mínima velocidad de transferencia es aquella que garantiza que se puede transferir un sector en el tiempo transcurrido desde que se acaba de leer hasta que empieza el siguiente. Con interleaving=1, en ese tiempo t pasan por debajo de la cabeza: 1 gap + 1 sector + 1 gap; es decir pasan 64+512+64 = 640 bytes. ¿Cuánto es t? Si el disco gira a 6000 rpm, completa una vuelta en 10 milisegundos. En ese tiempo pasan por debajo de la cabeza un total de 56 * (512 + 64) = 32256 bytes; luego 640 bytes pasarán en 6400/32256 milisegundos. En este tiempo se tiene que transferir un sector (512*8 bits). Luego la velocidad mínima será de: (512*8*1000) / (6400/32256) = 20643840 bits/segundo. 2) El tiempo de posicionamiento para ir desde el cilindro 0 al 49 es 1+ (0,5 * 49) = 4,5 milisegundos. Para ir desde el sector 1 al 15 hay que atravesar 28 sectores (con sus gaps). Eso es la mitad de la pista y por tanto la mitad del tiempo de una rotación; es decir, 5 milisegundos. Esto quiere decir que cuando el brazo se encuentre sobre el cilindro 49 todavía hay que esperar 0,5 milisegundos a que el sector 15 pase por debajo de la cabeza. A continuación se leerá dicho sector, lo transferirá, esperará a que el sector 44 (dos sectores más allá) pase por debajo de la cabeza, lo leerá y lo transferirá (en el tiempo que se tarda en llegar hasta el principio del sector 45). En total se han pasado 33 sectores (con sus gaps), lo que implica un tiempo de: 330/56 = 5,89 milisegundos. 3) Para calcular la petición más cercana hay que considerar los tiempos de posicionamiento y de espera de rotación. El mayor de estos tiempos indicará el mínimo para llegar a esa petición. Los tiempos para atender cada una de las peticiones desde el cilindro 0, sector 1 son: Petición 1: cilindro 0, sector 21. El tiempo de posicionamiento, desde la posición inicial, es 0. Pero para llegar al sector 21 se necesitan: 40 * 0,2 = 8 milisegundos (hay que atravesar 40 sectores; y, si en 10 milisegundos se atraviesan 50 sectores, un sector se atraviesa en 0,2 milisegundos). Cuando nos referimos a sectores incluimos el gap que viene a continuación. Petición 2: cilindro 5, sector 16. El tiempo de posicionamiento, desde la posición inicial, es: 0,8*5 = 4 milisegundos. Pero para llegar al sector 16 se necesitan: 30 * 0,2 = 6 milisegundos. Esta petición es más cercana que la anterior y por tanto se seleccionaría primero. Por tanto la primera petición a atender es la petición 2 (cilindro 5, sector 16). Cuando se haya transferido dicho sector estaremos en el cilindro 5, sector 17. Ahora para atender la petición 1 (cilindro 0, sector 21) tenemos un tiempo de posicionamiento de: 0,8*5 = 4 milisegundos. Para pasar desde el sector 17 al principio del 21 hay que atravesar 8 sectores que tarda 1,6 milisegundos. Como es mayor el tiempo de posicionamiento hay que calcular en qué sector estaremos después de 4 milisegundos. En ese tiempo se atraviesan 20 sectores, luego cuando se llegue al cilindro 0, la cabeza está sobre el principio del sector 2. Para llegar al 21 hay que atravesar 38 sectores que tarda 7,6 milisegundos. Luego en total, para llegar a esta petición hacen falta 11,6 milisegundos.