Parámetros de rendimiento de un disco magnético
Tiempo de búsqueda (Ts): tiempo que tarda la cabeza en posicionarse en la pista. Se compone de dos partes, el tiempo de comienzo s o tiempo necesario para que la cabeza adquiera una cierta velocidad radial, y el tiempo necesario para atravesar las pistas que preceden a la que se accede, que no es una función lineal del número de pistas atravesadas. Sin embargo podemos aproximar Ts con la siguiente expresión:
Ts = m * n + s
donde:
n = número de pistas atravesadas
m = constante que depende del disco
En un disco barato de PC m puede tener un valor de 0,3 ms y s de 20 ms; mientras que en un disco más caro m puede tener un valor de 0,1 ms y s de 3 ms
Retardo rotacional (Tr): tiempo que tarda el sector en alcanzar la cabeza. Si r es la velocidad angular del disco en revoluciones/segundo (rps), la expresión del valor medio de Tr será la siguiente:
Tr = 1/2r
En discos duros que giran a 3.600 rpm, una revolución tardará 16,7 ms, y el valor medio del retardo rotacional será 8,3 ms. En cambio los disquetes que giran entre 100 y 600 rpm tienen un retardo rotacional medio que va de 100 a 200 ms.
Tiempo de acceso (Ta): es la suma del tiempo de búsqueda y el retardo rotacional
Ta = Ts + Tr = m * n + s + 1/2r
Tiempo de transferencia (Tt): tiempo que tardan en transferirse los datos a ó desde el disco una vez accedido el inicio de los mismos. Dependerá de la velocidad de rotación del disco:
Tt = b/rN
donde:
b = número de bytes a transferir N = número de bytes de una pista r = velocidad de rotación en rps
Tiempo de operación (To): es la suma de las componentes anteriores, es decir:
To = m * n + s + 1/2r + b/rN
En un computador que funciona bajo control de un SO, para realizar una operación de E/S, a estos tiempos habrá que añadir el tiempo de espera por un canal, si el disco no dispone del suyo propio, y el tiempo de espera en la cola hasta que el dispositivo esté disponible.
Comparación de tiempos en acceso secuencial y aleatorio
1 Acceso secuencial
8 pistas adyacentes (256 sectores / 32 sectores/pista = 8 pistas)
Acceso a la primera pista = Ts + Tr + Tt(1 pista)
Ts = 20 ms
Bytes / pista = 512*32 = 16.384
Tiempo / pista = 16.384 / 1000.000 = 0,016384 s. Tr = 0,016384 / 2 = 0,008192 = 8,192 ms
Tt(1 pista) = 0,016384 s. = 16,384 ms
Acceso a la primera pista = Ts + Tr + Tt(1 pista) = 45 ms.
Acceso a las restantes 7 pistas = 7 * (Tr + Tt(1 pista) ) = 7*(8,192 + 16,384 = 7 * 25 = 220 ms.
2 Acceso aleatorio
Acceso a un sector = Ts + Tr + Tt(1 sector) = 20 + 8,3 + 512/1000000 = 28,8 ms. Acceso a 256 sectores = 256 * 28,8 = 7.372 ms
Existen una serie de técnicas que permiten aminorar los accesos a disco así como acelerar las transferencias de datos entre el sistema y el dispositivo. Una de las más conocidas es la utilización de memorias intermedias, buffers o cachés.
Buffer de Pista: Es una memoria incluida en el controlador del disco, que almacena el contenido de una pista completa. Así cuando se hace una petición de lectura de una pista, esta se puede leer de una sola vez, enviando la información a la CPU.
Cachés de Disco: Pueden estar dentro del propio disco duro, en tarjetas especiales o bien a través de programas utilizando la memoria central. La gestión de esta memoria es completamente transparente y consiste en almacenar en ella los datos más pedidos por la CPU y retirar de ella aquellos no solicitados en un determinado tiempo.
Fuente: Estructura de Computadores, Facultad de Informática, UCM