Clase Práctica – Discos Lic. Andrea V. Manna Organización del Computador 1 30 de Octubre de 2007 Generalidades de los discos magnéticos: cara platos Supongamos que este dibujo es un trozo de una cara de un disco: pistas sector Cada cara posee una cantidad de pistas concéntricas. Además, a cada pista la podemos dividir en sectores, de longitud fija. El tamaño más común de sector es de 512 bytes En cada pista suele haber entre 10 y 100 sectores, según sea el disco. Los datos en los discos se almacenan por bloque. El tamaño mínimo de un bloque es un sector, aunque puede haber más de un sector por bloque. Un disco posee muchos platos, cada uno de ellos con su brazo y su cabeza lecto/escritora Si los platos se usan por ambas caras, entonces es común que tengan una cabeza por cada cara. 1 Cilindro: Conjunto de pistas en una posición radial Capacidad de un disco (C) se calcula como: C=B*S*P*C donde: B: Cantidad de bytes por sector S: Cantidad de sectores por pista P: Cantidad de pistas por cara C: Cantidad de caras Ejemplo: Se tiene un disco de 525 cilindros, 128 cabezas y 63 sectores. Cada sector almacena 512 bytes. ¿Cuál es la capacidad del disco? C = 512 bytes/sector * 63 sectores/pista * 525 pistas/cara * 128 caras = = 2167603200 bytes ≈ 2067MB Cálculo de Tiempos: Tiempo de búsqueda o Tiempo de posicionamiento medio o Seek Time: Es el tiempo que se demora en desplazar la cabeza hasta la pista (cilindro) que se quiere acceder. Este tiempo depende realmente de cada disco, pero se puede tomar como referencia tiempo para recorrer un tercio del disco. Tiempo de latencia o Latencia de rotación: Una vez ubicada la pista, habrá que seguir girando hasta encontrar el sector correcto. El tiempo de latencia es el tiempo que se tarda en ubicar al sector requerido. Este tiempo puede ser 0 si justo el sector buscado estaba debajo de la cabeza lectora, o, en el peor de los casos, puede ser igual al tiempo necesario en dar una vuelta completa. Como la mayoría de los discos duros giran a 3.600 revoluciones por minuto, el tiempo de latencia medio para estos discos es de 8,33 mseg (o sea el tiempo necesario para media vuelta) Tiempo de Acceso: Es el tiempo que se tarda hasta que los datos requeridos estén justo debajo de la cabeza. O sea: Tiempo acceso = Tpo. Pos. + Tpo de Latencia Este tiempo es proporcionado por los fabricantes de discos rígidos En algunos casos puede existir un tiempo de posicionamiento entre cilindros adyacentes. Tiempo de Transferencia de un sector: Es el tiempo que demora el disco en transferir un sector a la memoria Tiempo de Lectura: Es el tiempo que demora el disco en leer los datos de un sector. Normalmente se calcula como: Tiempo Lectura = Tiempo de 1 vuelta / Cantidad de sectores de una pista 2 Ejemplo: Dado un disco con las siguientes características: • Tiempo de posicionamiento medio: 12 ms • Tasa de Transferencia: 5 MB/s • Tiempo de Rotación: 5400 rpm • 32 sectores por pista ¿Cuánto tardará en transferir, en promedio, un sector de 512 bytes del disco? Solución: Tiempo de Transferencia Total: Tiempo de Posicionamiento Medio + Tiempo de Latencia Media + Tiempo de Lectura + Tiempo de Transferencia Calculamos paso a paso: Tiempo de Posicionamiento Medio: 12 ms (por enunciado) Tiempo de Latencia Media: Tiempo que tarda en dar media vuelta 5400 vueltas 60 segundos 0.5 vuelta 0.5 * 60 / 5400 = 0.0055555556 seg = 5.556 ms Tiempo de Lectura = Tiempo de 1 vuelta / Cant de sectores = 5.556 ms * 2 / 32 = 0,347 ms Tiempo de Transferencia= En base a la tasa del enunciado, debemos ver cuanto tardaría en transferir 1 sector: 5 Mbytes= 5*220 bytes 1 seg 9 512 bytes= 2 bytes 29/(5*220) seg= 0.0000976562 seg = 0.0976562 ms Entonces el tiempo de transferencia será: Tiempo de Transferencia= 12 ms + 5.556ms + 0.347 ms + 0.0976562ms = 18,00065 ms Generalidades de las cintas: Es un dispositivo de acceso secuencial, o sea no podemos saltar de un bloque a otro como en los discos. En general se usa para hacer copias de resguardo y muchas veces para leer y procesar datos en forma secuencial Si se desea acceder a algún registro en particular, primero deberán saltarse todos los registros anteriores, hasta encontrar el deseado, esto es: para acceder al registro n se deben leer necesariamente los n-1 registros anteriores Formato: 3 Algunas Cintas: Bobina de 10.5 pulgadas de 9 pistas Cartuchos de ¼ de pulgada Los datos se almacenan en forma de pequeñas marcas magnéticas, sobre una sola cara de la cinta de plástico. La superficie recubierta de la cinta se divide en columnas verticales (o cuadros) e hileras horizontales llamadas canales o pistas. El formato más común es de ½ pulgada de ancho y 9 pistas, aunque también existen los de 18 pistas. Por ejemplo se tiene una cinta que se encuentra organizada de la siguiente manera: En este caso, con nueve pistas y suponiendo que la pista de paridad es la última, hemos grabado el byte 10111110 y el bit de paridad está en 1 (estamos trabajando con paridad impar). El valor del bit de paridad se fija de forma tal que la cantidad de bits en 1 dé un número par (si se trabaja con paridad par), o un valor impar (si se trabaja con paridad impar). 4 Tipos de cintas • Cintas de 1/2 pulgada Las cintas magnéticas de 1/2 pulgada se basan en una cinta de Mylar de 0,5 pulgadas de ancho y varias micras de espesor, sobre la que se deposita una capa de un material magnetizable (óxido de hierro, óxido de cromo, etc.) de otras pocas micras de espesor. Las 0,5 pulgadas de ancho se dividen en nueve pistas, cada una asignada a su correspondiente cabeza de lectura-escritura. Así se leen 9 bits, 8 de datos y 1 de paridad. Estas unidades fueron el dispositivo de almacenamiento masivo de información utilizado inicialmente en entornos mainframe. Debido a ello, todavía hoy es uno de los soportes de acceso secuencial más utilizados para el almacenamiento de copias de seguridad de los datos manejados por grandes sistemas y de grandes bases de datos. • Cintas de 1/4 pulgada (QIC, Quarter-Inch Compatibility) Las cintas de 1/4 pulgada se presentan en cassettes y su principal inconveniente es la falta de estándares al respecto, que impiden que una cinta grabada por un sistema pueda ser leída por otro distinto. Las cintas de cuarto de pulgada o QIC son una alternativa a las cintas de 1/2 pulgada como medio de backup. Sus principales aplicaciones se encuentran como soporte para el almacenamiento de copias de seguridad de grandes sistemas de red local y de grandes bases de datos que buscan absoluta seguridad en cuanto a disponibilidad de la información. Es también una alternativa más económica a la de adquirir un disco duro con la suficiente capacidad para almacenar todos esos datos aunque, eso sí, renunciando a la rapidez de acceso a los datos que presentan los sistemas de acceso directo. Dentro de la gama de cintas de 1/4 pulgada existen tres alternativas: o Cartuchos estándar DC 6000 Sobre una cinta de 1/4 pulgada se graban 11 pistas. Su presentación es la de un cassette de la mitad de tamaño que una cinta de vídeo, en la que se bobinan aproximadamente entre 300 y 600 pies (90 - 180 m). o Minicartuchos DC 2000 Su presentación se realiza en un cassette más pequeño que el anterior (minicartucho) y similar al de un cassette de audio, con longitudes de entre 140 y 185 pies (39 - 52 m). Estos cassettes poseen un chasis resistente de metal, ruedas de bobinado de precisión y una correa de amortiguación que ofrecen una elevada calidad de grabación y una mínima deformación de la cinta. o Cintas blandas 5 Las cintas blandas, también conocidas como floppy tapes, son unidades que hacen uso de la controladora de la disquetera y codifica los datos posicionando la cabeza de lecturaescritura directamente sobre la banda magnética. La ventaja de esta opción es que elimina la necesidad de tener que comprar la electrónica de una nueva controladora para este dispositivo. • Cintas de audio digital (DAT) Las cintas de audio digital de 4 mm o DAT (Digital Audio Tape) son unidades de almacenamiento con capacidad para grabar hasta varios gigabytes de información en un único cartucho. Son dispositivos de pequeñas dimensiones, económicos y rápidos, sin embargo sus unidades lectoras son caras y tienen el inconveniente que de que no existen estándares al respecto. La técnica de grabación empleada con las cintas DAT, conocida como técnica de exploración helicoidal, se basa en que la unidad de lectura-escritura utiliza un tambor giratorio que solapa las pistas de grabación en lugar de la cabeza de grabación estática que se emplea con las unidades de cinta anteriores. Las cintas de audio digital o DAT son utilizadas en las mismas aplicaciones que las cintas de cuarto de pulgada, como medio de backup pero con unas características que les permiten disponer de mayores capacidades de almacenamiento y fiabilidad. Son una alternativa de almacenamiento tanto para ordenadores personales, estaciones de trabajo y servidores de red. • Cintas de 8 mm (llamadas también Hexabyte) Las cintas de 8 mm pueden almacenar varios gigabytes de información en un único cartucho, pero como sucede con las DATs, sus unidades lectoras tienen precios muy altos. Su aspecto es similar al de las cintas empleadas en los sistemas de vídeo. La técnica de grabación utilizada es la misma que la que se emplea con las cintas DAT. Las cintas de DAT son, dentro de las unidades de almacenamiento secuencial, las que ofrecen mayores capacidades de almacenamiento, pero su precio también es el más elevado. A pesar de ello, para los usuarios con unas necesidades de almacenamiento de copias de seguridad grandes, las cintas de 8 mm y las cintas DAT son la solución más adecuada. Especificaciones técnicas de las cintas: Si en el casete hay registros cortos y largos mezclados, la lectura y escritura en el mismo casete se vuelve desesperante. Si se almacena cada registro lógico en la cinta como un solo registro físico no puede escribirse registros con longitudes diferentes en el mismo espacio. El registro más largo borrará parte del registro siguiente, mientras que el registro más corto dejará parte del registro más antiguo lo que producirá un error. Densidad de Grabación 6 La densidad de grabación (δ) en un medio de almacenamiento es la relación entre información y espacio que ocupa esta información. Es la cantidad de información por unidad de espacio. Al usar al byte como unidad de información y la pulgada como unidad de espacio, la densidad de grabación se medirá en bytes por pulgada. Registro Lógico, Inter Record Gap, Registro Físico y Factor de Bloqueo Cuando se graba o lee información en cinta la transferencia se puede realizar sólo si la cinta pasa bajo la cabeza lectora / grabadora a una velocidad determinada. La unidad necesita cierto tiempo para alcanzar esta velocidad. Imaginemos un programa que graba registros que se ingresan por pantalla. Cada vez que se termina de ingresar un registro el programa lo graba en cinta. Entonces, con cada registro la unidad de cinta se pone en funcionamiento, alcanza la velocidad requerida para la transferencia, graba y frena hasta detenerse. Con cada registro que se graba se desperdicia cierta cantidad de cinta en alcanzar la velocidad para la transferencia y frenar hasta detenerse. La cantidad desperdiciada por un registro es siempre la misma. Esta depende de la unidad y no de la forma en que se grabe. Llamaremos al espacio de cinta desperdiciado entre dos registros (el desperdicio en detenerse luego de grabar el primero y arrancar para grabar el segundo) inter record gap (IRG) o inter block gap (IBG). Supongamos que en nuestro ejemplo los registros son muy pequeños. Una vez en cinta todo el archivo, el espacio desperdiciado en IRG podría ser mayor que el utilizado por información. Para disminuir la cantidad de cinta desperdiciada en IRG se suele agrupar varios registros y grabarlos en bloques. Cada registro para ser grabado, es almacenado en una porción de memoria central llamada buffer de entrada/salida. Cuando aquellos llegan a una cantidad previamente establecida, se graba el bloque en la cinta. De esta manera, el tamaño del grupo de registros que se graba es mayor que el de un registro solo y, aunque el tamaño de cada IRG es siempre el mismo, la cantidad de IRG es menor, disminuyendo el espacio desperdiciado en estos. Al registro que contiene la información con la que trabaja la aplicación lo llamaremos registro lógico (RL). Al bloque de registros lógicos que se graba en el dispositivo de almacenamiento lo denominaremos registro físico (RF). A la relación entre registro físico y registros lógicos la llamaremos factor de bloqueo (FB). El FB indica la cantidad de registros lógicos que contiene cada registro físico. Es preciso aclarar que el programa de aplicación solo trabaja con registros lógicos. No es problema del programador de la aplicación más que definir el tamaño de los registros lógicos según la necesidad del programa y, en algunos casos, el FB. En cuanto a los dispositivos de almacenamiento, sólo operan con registros físicos. No conocen el tipo de información que graban ni la cantidad de registros lógicos que forman cada registro físico. Como hemos visto, el FB indica la cantidad de registros lógicos por cada registro físico. Se calcula como: 7 O sea: FB = QRL/ QRF = LRF/LRL La longitud del registro físico depende de la longitud del registro lógico y del factor de bloqueo que adoptemos para el problema: LRF = LRL * FB La LRF puede expresarse en bytes ( LRFb) o en pulgadas (LRFi) y entre estas dos formas de representarlas la relación es: LRFb = LRFi * δ → δ [b/i] La cantidad de registros físicos esta determinada por la cantidad de registros lógicos (QRL) y el FB usado. QRF = QRL/FB Velocidad de Transferencia y tiempos de grabación La velocidad de transferencia es una característica de cada unidad e indica cuanta información puede leerse o grabarse por unidad de tiempo. Se indica en bytes/seg. El tiempo de grabación de un registro aislado se calcula sumando el tiempo consumido en la transferencia de los datos y el tiempo utilizado por el dispositivo en arrancar y frenar, llamado tiempo de IRG. T1RF = Ttransf. + TIRG El TIRG es el tiempo empleado por el dispositivo para frenar y acelerar entre cada bloque de información que graba. No es un dato fácilmente calculable debido a que la aceleración de la unidad no es constante. El tiempo de transferencia se calcula Ttransf = LRF / Vt Conociendo el tiempo de grabación de 1 RF (T1RF) podemos obtener el tiempo de grabación de un archivo entero: TARCH = T1RF * QRF = (LRF/Vt + TIRG) * QRF Ejemplo: 8 Una unidad de cinta lee y graba a 60 ips y 1600 bpi. Después de cada bloque (registro físico) la unidad deja un gap de 3/5 de pulgada, a lo largo del cual la velocidad efectiva de la cinta se reduce a la mitad. En un carrete de 2400 pies útiles, se han grabado registros lógicos de 120 bytes c/u. Sabiendo que la controladora agrega un header de 28 bytes y un trailer de 12 bytes a cada bloque que graba, diga: (a) ¿Cuánto tiempo (en segundos) toma leer la cinta entera si en cada bloque (registro físico) hay 5 registros lógicos? Siempre se añaden 40 bytes a cada bloque que se graba (header + trailer) 1600 bytes ------------- 1 pulgada 40 bytes ----------------40 bytes * 1pulgada / 1600 bytes = 1/40 pulgada Por otro lado el bloque tiene 5 registros lógicos, esto es 120 bytes * 5 = 600 bytes. Pasados a pulgadas: 1600 bytes ----------- 1 pulgada 600 bytes ------------- 600 bytes * 1 pulgada / 1600 bytes = 15/40 pulgadas Entonces tamaño de 1 bloque: 1/40 pulgadas + 15/40 pulgadas = 16/40 pulg. = 2/5 pulgadas Tiempo que se tarda en leer 1 bloque: T1RF = Ttransf. + TIRG Veamos el Ttransf = 60 pulgadas ---------- 1 seg 2/5 pulgadas --------- 2/5 pulgadas * 1 seg / 60 pulgadas = 1/150 seg Además está el IRG de 3/5 pulgadas. Durante el IRG, se reduce la velocidad a la mitad, por lo tanto tenemos: 30 pulgadas -------------- 1seg 3/5 pulgadas ----------- (3/5 pulgadas * 1seg) / 30 = 1/50 seg TIRG=1/50 seg T1RF = 1/150 seg + 1/50 seg = 4/150 seg La cinta mide 2400 pies, entonces: 1 pie -------------- 12 pulgadas 2400 pies -------- 2400 pies * 12 pulgadas / 1 pie = 28800 pulgadas Ahora: Para leer 1 bloque se tarda 4/150 seg. Un bloque mide 2/5pulgadas y el IRG mide 3/5 pulgadas, o sea que el bloque completo mide 1 pulgada: 1 pulgada -------- 4/150 seg 28800 pulgadas ---- (28800 pulgadas * 4/150 seg) / 1 pulgada = 768 seg 9 (b) ¿Cuál es la velocidad de transferencia efectiva (en bytes/seg.)? Para leer 1 bloque se tarda 4/150 seg y el bloque mide 2/5 pulgadas. Pasemos las pulgadas a bytes. Sabemos que hay 1600 bytes en 1 pulgada: 1 pulgada ---------- 1600 bytes 2/5 pulgadas ------ 1600 bytes * 2/5 pulgadas / 1 pulgada = 640 bytes Ahora: 4/150 seg ---------- 640 bytes 1 seg ---------------- 640 bytes * 1 seg / 4/150 seg = 24000 bytes Notar que para calcular la velocidad efectiva de transferencia no se tomó en cuenta el IRG, justamente porque no son datos que se transfieran (b) Hacer el mismo ejercicio sabiendo que en cada bloque hay 77 registros lógicos 10