Almacenamiento magnético, 4 RAID (1) o o o o R.edundant A.rray I.nexpensive (I.ndependent) D.isk Agrupación redundante de discos baratos RAID (2) o Años 80 o Los sistemas de disco se habían ya convertido en un cuello de botella. o Se trata de cerrar en lo posible la brecha entre las prestaciones de los procesadores y memoria y las prestaciones de los discos o Para ello, se pretende construir un sistema rápido y seguro a partir de elementos más lentos e inseguros RAID (3) o Pero los dos requerimientos perseguidos son incompatibles: n Seguridad por un lado n Velocidad por el otro RAID (4), seguridad o Se consigue a través de la redundancia, bien haciendo copias de los datos, bien introduciendo información que permita comprobar la integridad de los mismos RAID (5), velocidad o Al distribuir los datos entre distintos discos, se incrementa el paralelismo, y por tanto la velocidad o Pero surgen otros problemas n Mantener la consistencia entre datos y metadatos cuando hay accesos en paralelo n Recuperar al sistema tras una caída RAID (6), paralelismo o Puede contemplarse bajo dos puntos de vista: n Varias peticiones se sirven en paralelo, dirigiendo cada una a un disco distinto n Una petición se sirve a mayor velocidad, coordinando entre sí varios discos RAID (7), caracterización o Un sistema RAID se puede caracterizar por dos parámetros, esencialmente: n Granularidad n Método para calcular los metadatos RAID (8), granularidad o Se habla de granularidad fina y gruesa n Fina: Los datos se rompen en muchos fragmentos que se distribuyen entre muchos discos -> se aumenta el paralelismo y por tanto la velocidad, pero sólo puede atenderse una petición lógica cada vez y es preciso mover todos los cabezales RAID (9), granularidad o Se habla de granularidad fina y gruesa n Gruesa: Los datos se rompen en un pequeño número de fragmentos de mayor tamaño -> sólo se verán involucrados algunos discos; los otros discos pueden estar atendiendo otras peticiones RAID (10), redundancia o ¿Cómo se calcula? n Paridad n Métodos más elaborados o ¿Cómo se distribuye? n Un único disco -> sobrecarga n El mayor número de discos posible RAID (11), niveles o RAID 0 n n n n Sistema NO redundante Buena velocidad de lectura Mínima fiabilidad Se incluye quizás por completar “por abajo” y para tomar este nivel como referencia de prestaciones RAID (11), niveles o RAID 1 n Discos “espejo”: toda la información contenida en n discos se duplica en otros n discos n Las lecturas pueden dirigirse al disco de mayores prestaciones, o al que tenga el cabezal más cerca de los datos n Muy fácil de recuperar el fallo de un disco RAID (12), niveles o RAID 2 n La redundancia se basa en códigos de Hamming n El número de discos redundantes crece como el logaritmo del número de discos de datos n Por tanto, el sistema es más eficiente cuanto más grande RAID (13), niveles o RAID 3 n Paridad en un único disco n Los bits de un byte se distribuyen en 8 discos n En un noveno disco se escribe el bit de paridad n Ante un error, la controladora del disco afectado dice qué disco es, y el bit de paridad permite reparar RAID (14), niveles o RAID 4 n Paridad por bloques. En lugar de calcular la paridad por cada byte, se calcula por bloques de tamaño B n Si el tamaño de la escritura es menor que B, sólo se ve afectado un disco n El disco que almacena la paridad puede verse sobrecargado RAID (15), niveles o RAID 5 n Paridad por bloques distribuidos n Similar a RAID 4, pero los bloques de paridad se distribuyen n Todos los discos participan en las operaciones de lectura n Hay diversas variantes, según el método de distribución de los bloques redundantes RAID (16), niveles o RAID 6 n En lugar de la paridad, que sólo puede detectar y corregir errores simples, se usan métodos más sofisticados para detectar y corregir errores dobles como mínimo n Adecuado para sistemas donde la seguridad es prioritaria n Queda abierto el método para distribuir la información redundante RAID (17), comparaciones o Se suelen evaluar velocidad, fiabilidad y precio o Velocidad, ¿cómo medirla? n bytes/s n peticiones/s n tiempo de latencia RAID (18), comparaciones o Una vez decidido cómo medir la velocidad, ¿han de compararse sistemas de la misma fiabilidad o del mismo precio? o El problema de la configuración: un RAID 5 puede configurarse como un RAID 1, o como un RAID 3, o como un RAID 4 Interfaces (1) o o o o o Unidades de disco flexible Unidades de disco rígido Discos de memoria de estado sólido Discos no magnéticos Sistemas magnéticos distintos de los discos (cintas) Interfaz con disco flexible o Bajo nivel n Programación directa de la controladora n Necesidad de programar a través de DMA o BIOS n Funciones de intr 0x13 o S.O. n Librerías de E/S Interfaz con disco rígido o IDE/ATA o SATA o SCSI IDE (1) o I.ntelligent D.rive E.lectronics o La codificación/decodificación se realiza en la misma unidad, no en una tarjeta separada, como se hacía previamente o IDE es una interfaz de alto nivel, que sustituyó a una interfaz de bajo nivel IDE (2) o Como interfaz de alto nivel acepta órdenes complejas: leer un sector, formatear una pista, etc. o Puede efectuar la traducción de sector lógico a sector físico -> la geometría interna es conocida sólo para la controladora o Gestiona una caché integrada IDE (3) o Al ser una interfaz lógica, puede usarse para acceder a cualquier dispositivo conforme con esa interfaz, no necesariamente discos duros SCSI (1) o S.mall C.omputer S.ystem I.nterface o Es más general que IDE; admite discos, scanners, impresoras, etc. o SCSI define su propio bus o Los dispositivos SCSI se conectan al bus, y éste al bus del sistema a través de un adaptador SCSI (2) o Por tanto, SCSI es compatible con cualquier sistema: sólo requiere el adaptador al bus del sistema: los periféricos en sí son intercambiables o Los dispositivos SCSI pueden comunicarse entre sí, a través del bus, sin intervención del sistema (ej. copiar desde CD a disco de forma desatendida) Acceso desde BIOS (1) o Interrupción 0x13 o Número de unidad en DL (0,1 para discos flexibles, 0x80, 0x81 para rígidos) o Se devuelve estado en AH Acceso desde BIOS (2) Acceso desde BIOS (3) o 0x00 -> reinicia todas las unidades de disco flexible o 0x01 -> consultar estado o 0x02 -> escribir o 0x03 -> leer o 0x08 -> obtener tipo de unidad (720k, 1.44M…) Controladora IDE (1) o Se realiza en tres pasos n Fase de órdenes o Se especifica qué orden n Fase de datos o El disco mueve sus cabezales y obtiene el o los sectores n Fase de resultados o La interrupción modifica una bandera situada en 0x40:0x8e Controladora IDE (2) o La operación NO se realiza a través de interrupciones o La interrupción se limita a marcar una bandera o El programa, después de lanzar la orden, espera en un bucle a que se marque la bandera o Ejemplo: ver página 170 apuntes Otros medios o o o o o Discos magneto-ópticos Discos ópticos Almacenamiento atómico Dispositivos micro-electromecánicos Almacenamiento holográfico Discos M.O. o Inducción magnética para escritura o Lectura óptica, basada en efecto Kerr Discos ópticos o Una escritura, múltiples lecturas o Alteración física de la superficie mediante calor o Lectura por difracción de la luz o Puede usarse tecnología de varias capas Almacenamiento atómico o Por bombeo de dominios en nanotubos o Por técnicas de campo próximo Disp. microelectromecánicos Almacenamiento holográfico o o o o CD -> 700MB DVD -> hasta 18GB Blu-ray -> 25GB Disco holográfico -> 300GB hasta 1.6TB Interfaz paralela (1) Interfaz paralela (2) Interfaz paralela (3) Interfaz paralela (4) Interfaz paralela (5) Interfaz paralela (6) o Consultar programa completo para impresión en segundo plano usando interrupciones en pág. 96 y ss. de los apuntes. Interfaz paralela (7) Interfaz paralela (8) o La interfaz paralela se ha usado tradicionalmente para comunicar con impresoras (aunque cada vez menos) o Sobre el protocolo hardware explicado, es preciso implementar un protocolo software Interfaz paralela (9) o Este protocolo software ha de permitir de entrada distinguir entre caracteres imprimibles y órdenes o Existen varios conjuntos de estas órdenes, que se dividen esencialmente en dos familias Interfaz paralela (10) o Protocolos para comunicación con impresoras de caracteres. n Juego de órdenes ESC de EPSON n Juego de órdenes para Proprinter XL-24 n Otros, propios de cada fabricante o Protocolos para comunicación con impresoras de páginas n PCL (Printer Command Language) n PostScript PCL (1) o PCL 1 n 1984 n Texto y gráficos básicos a baja resolución o PCL 1+ o PCL 2 o PCL 3 n Fuentes de mapa de bit n Resolución mejorada PCL (2) o PCL 3+/3c+ (color) o PCL 4 n 1985 n Macros, más fuentes y gráficos o PCL 5 n 1990 n Fuentes escalables PCL (3) o PCL 5e n Comunicación bidireccional n Fuentes Windows o PCL 5c n Color o PCL 6 n Similar a PostScript, pero peor. POSTSCRIPT (1) o Adobe, 1982; inspirado en Forth y diseño de 1975-6 o Mejorado a lo largo de los años o Un programa PS se envía a la impresora en formato fuente, y ésta lo interpreta, o bien o Un programa en el ordenador traduce de PS a PCL u otro, y lo envía a la impresora POSTSCRIPT (2) o Como lenguaje de programación, contiene todo lo necesario para hacer programación de propósito general o Añade capacidades gráficas o Todos los objetos gráficos que usa se tratan del mismo tipo (gráficos vectoriales, fuentes, elementos geométricos, etc.) POSTSCRIPT (3) o Todo elemento gráfico admite tres operaciones n Traslación n Rotación n Escalado o Estas operaciones pueden considerarse bajo el mismo marco: las matrices homogéneas bidimensionales POSTSCRIPT (4) www-cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF www-cdf.fnal.gov/offline/PostScript/GREENBK.PDF www.cappella.demon.co.uk/bookpdfs/pracpost.pdf www.rightbrain.com/download/books/ThinkingInPostScript.pdf staff.science.uva.nl/~heck/Courses/Mastercourse2005/tutorial.pdf