Clase Práctica – Discos Lic. Andrea V. Manna

Anuncio
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
Descargar