SlideShare une entreprise Scribd logo
1  sur  49
Gestión de E/S y Planificación de Discos ,[object Object],básicos de la E/S provistos por los sistemas operativos es el almacenamiento intermedio  que permite mejorar el rendimiento del sistema en conjunto . En Los sistemas actuales, esta forma de E/S es la más importante y es la clave para el rendimiento que el usuario puede percibir.  Dispositivos de E/S:   pueden clasificarse en tres categorías ,[object Object],[object Object],[object Object],Existen grandes diferencias entre las clases de dispositivos, entre las diferencias principales están las siguientes: ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
El siguiente cuadro hace referencia, a las grandes diferencias entre las clases de dispositivos  DISPOSITIVO COMPORTAMIENTO CLASIFICACION TASA KB/SEG. TECLADO Entrada Carácter 0,01 MOUSE " " 0,02 SCANNER " " 400 VOS (Salida) Salida " 0,6 IMPRESORA (Línea) " " 1,0 IMPRESORA (Láser) " " 200
MODEM Entrada / salida " 2,0-8,0 RED LAN " " 500-6000 FLOPPY Almacenamiento Bloque 100 CD " " 1000 CINTA MAGNETICA " " 2000 DISCO MAGNETICO " " 2000-10000
Organización de las funciones de las E/S:  existen tres técnicas para realizar las E/S ,[object Object],[object Object],[object Object],El DMA es la forma dominante de transferencia  ofrecida por el S.O. Principio de software de disco El tiempo que se tarda desde que el Driver de disco programa al controlador para   realizar la lectura de un sector, hasta que la información de este esta en la memoria:
T. POSICIONAMIENTO + T. LATENCIA + T. TRANSFERENCIA (buffer-   controlador) + T. CHECKSUM + T. TRANSFERENCIA (controlador-memoria)   Normalmente el tiempo de CHECKSUM es despreciable. En algunos casos puede existir tiempos añadidos  si la información del disco esta cifrada y el algoritmo de cifrado/descifrado lo incrementa el controlador, después de realizar el CHECKSUM  el controlador deberá descifrar los datos. Características genéricas de los driver de disco son: A: MEJORA EL TIEMPO DE ACCESO. B: TRATAMIENTO DE ERRORES. A: MEJORA EL TIEMPO DE ACCESO T. ACCESO =  T. POSICIONAMIENTO + T. LATENCIA + T. TRANFERENCIA De estos tres tiempos el más significativo es el de posicionamiento. Cuando el driver permite ir almacenando peticiones pendientes mientras se trata la actual, se intenta reducir el tiempo medio de posicionamiento aplicando un algoritmo que decida que petición de las pendientes atender primero.
B: TRATAMIENTO DE ERRORES Los discos están sometidos a una gran variedad de errores. Cuando se producen el   controlador deberá avisar al driver para que tome la decisión pertinente. Los errores más comunes son: ,[object Object],[object Object],Para mover el brazo a otro cilindro manda un pulso a un motor por cada cilindro que quiera   atravesar. Cuando llega al cilindro destino, lee el valor del cilindro actual (se grabo al   principio de la pista al formatear el disco). Si  la posición actual no coincide con la que se esperaba se produce un error de posicionamiento, este error suele  corregirse recalibrando el brazo (lo manda al cilindro 0). Esta acción puede realizarla el controlador o, si este no puede, el driver de disco (comando   RECALIBRABLE)
[object Object],Acceso directo a la memoria La figura que se encuentra posteriormente indica, en líneas generales, la lógica de la DMA. La unidad DMA es capaz de imitar al procesador y, por hecho, es capaz de tomar el control del sistema desde el procesador. Necesita hacerlo para transferir datos desde y hacia la memoria y a través del bus del sistema. Normalmente, el modulo de DMA debe usar el bus solamente cuando el procesador no lo necesite, o debe obligar al procesador a que suspenda temporalmente su operación. Esta última técnica es más común y se denomina robo de ciclo porque la unidad de DMA debe robar un ciclo de bus. La técnica DMA trabaja del siguiente modo. Cuando el procesador desea leer o grabar un   bloque de datos, utiliza una orden para el modulo DMA enviándole la siguiente información:  ,[object Object],[object Object],[object Object]
[object Object],EL procesador continúa entonces con otro trabajo. HA delegado esta operación de E/S al modulo de DMA. Este transfiere el bloques de datos completo, una palabra cada  vez, directamente o desde la memoria, sin pasar por el procesador. Cuando se ha completado la transferencia, el modulo DMA envía una señal de interrupción al procesador. Así, el procesador solamente esta involucrado al principio y al final de la transferencia. Una transferencia de varias palabras, el DMA es mucho más eficiente que la E/S programada o la dirigida por interrupciones.  El mecanismo de DMA puede configurarse de muchas formas. En la figura todos los   módulos comparten el mismo bus del sistema. El modulo de DMA, actuando como un procesador suplente, realiza una E/S programada para intercambiar datos entre la memoria y el modulo E/S a través de un modulo de DMA. Esta configuración, aunque puede ser barata, es claramente ineficiente: como con la E/S programada controlada por el procesador, cada transferencia de una palabra consume dos ciclos de bus (solicitud de la transferencia seguida de la transferencia). El número de ciclos de bus requeridos se puede acortar sustancialmente mediante la   integración de las funciones del DMA y de la E/S. Como muestra la figura, esto  significa   que debe haber un camino entre el modulo de DMA y uno o mas módulos de E/S que no pasen por el bus del sistema. La lógica del DMA puede formar parte del modulo de E/S  o puede constituir un modulo separado que controle uno o mas módulos de E/S. Esta idea puede llevarse un paso mas allá si se conecta los módulos de E/S al modulo de DMA
mediante un bus de E/S. Esto reduce a un numero de interfaces de E/S en el modulo de   DMA y proporciona una configuración fácilmente ampliable. En todos los casos el bus del sistema que el modulo del DMA  comparte con el procesador y la memoria principal es utilizado por el modulo DMA solo para intercambiar datos con la memoria y para intercambiar señales de control con la CPU. El intercambio de datos entre el modulo de DMA y el modulo de E/S tiene lugar fuera del bus del sistema. Diagrama de bloques de un DMA típico.
Aspectos de diseño en los sistemas operativos Objetivos del diseño Hay dos objetivos primordiales en el diseño del servicio de E/S: Eficiencia y Generalidad.  La Eficiencia es importante porque las operaciones de E/S constituyen, a menudo, un cuello de botella en los sistemas informáticos. Se pueden comprobar que la mayoría de los dispositivos de E/S  son extremadamente lentos en comparación con la memoria principal y el  procesador. Una manera de abordar este problema es el uso de la multiprogramación, que, se ha visto, permite que algunos procesos esperen en operaciones de E/S mientras otro proceso se esta ejecutando. El principal esfuerzo en el diseño de E/S ha sido crear esquemas que mejoren la eficiencia de la misma. El área que ha recibido mayor atención, debido a su   importancia, ha sido la E/S a discos. El segundo gran objetivo es la Generalidad, será deseable gestionar todos los dispositivos   de una manera uniforme. Esta afirmación se aplica tanto a la manera en que los procesos contemplan a los dispositivos de E/S como a la forma debido a la diversidad de característica de los dispositivos, en la practica es difícil conseguir una autentica generalidad.  Estructura lógica de las funciones de E/S Una organización del sistema operativo en un conjunto de niveles, cada nivel  realiza una   parte de un subconjunto de las funciones necesarias del sistema operativo. Cada nivel cuenta con el nivel inferior para realizar funciones más primitivas y para ocultar los detalles de estas funciones. Asimismo, cada nivel ofrece servicios al nivel superior.
Los niveles inferiores hacen frente a un rango de tiempos mucho menor. Algunas partes del   sistema operativo deben interactuar directamente con el hardware del computador, donde los sucesos pueden ocurrir en una escala de tiempos del orden de unos pocos nanosegundos. En el otro extremo del espectro, algunas partes del sistema operativo se comunican con el usuario, que emite órdenes a un ritmo mucho más pausado, como puede ser una cada pocos segundos. El empleo de un conjunto de niveles se adapta bien a este entorno. La ampliación específica de esta filosofía al servicio de la E/S conduce a la clase de organización. Los detalles de la organización dependen del tipo de dispositivo y de la aplicación. Se presentan tres estructuras lógicas más importantes. Puede que un sistema operativo no se ajuste exactamente a estas estructuras. Considérese primero el caso más simple, un dispositivo periférico local que se comunica de   una manera sencilla, como un flujo de bytes o de  registros. Los niveles implicados son los siguientes:  ,[object Object],[object Object],[object Object]
La estructura representativa de la gestión de E/S en un dispositivo de almacenamiento secundario que soporta un sistema de archivos. Los tres niveles que no han sido descriptos antes son los siguientes:  ,[object Object],[object Object],[object Object],Almacenamiento intermedio de la E/S   Un proceso de usuario desea leer bloques de datos, los datos se van a leer en un área de datos dentro del espacio de direcciones del proceso de usuario en una habitación virtual. La forma más sencilla de hacerlo seria emitir una orden de E/S y a que los datos estén disponibles. Hay dos problemas, en primer lugar, el programa se queda colgado esperando a que   lentamente la operación de E/S termine. El segundo problemas es que este método de E/S interfiere en las decisiones de intercambio del sistema operativo.
Hay riesgo de interbloqueo con un solo proceso.   Para evitar esta carga e incapacidad, a veces es conveniente llevar a cabo las transferencias de entrada por adelantado a las peticiones y realizar las transferencias de salida de un tiempo después de hacer la petición. Esta técnica se conoce con el nombre de almacenamiento intermedio (buffering).  Para el estudio de los distintos métodos de almacenamiento intermedio, a veces es   importante hacer una distinción entre dos tipos de dispositivos: los dispositivos orientados a bloque y los dispositivos   orientados a flujo. Memoria intermedia sencilla Cuando un proceso de usuario realiza una solicitud de E/S, el sistema operativo le asigna a la operación un espacio en la parte del sistema de la memoria principal. Para los dispositivos orientados a bloque, el esquema de almacenamiento intermedio   sencillo puede describirse como sigue. Las transferencias de entrada se realizan en el espacio del sistema. Cuando se ha completado la transferencia, el proceso mueve el bloque al espacio del usuario y solicita otro bloque inmediatamente. Este método proporciona una mayor velocidad en comparación con la ausencia de   almacenamiento intermedio en el sistema. La lógica de intercambio se ve afectada: si la operación de E/S implica al mismo disco que se usa para intercambio, apenas importa poner en cola las grabaciones en el disco necesarias para expulsar al proceso. Este intento de expulsar al proceso y liberar memoria principal no comenzara hasta que la operación de E/S finalice, momento en que la expulsión del proceso al disco puede no ser ya apropiada.
Para  la E/S con dispositivos orientados a flujo, el esquema de memoria intermedia sencilla puede aplicarse por líneas o por bytes. La operación línea a línea es adecuada para terminales simples de desplazamiento, a veces llamados terminales <<tontos>>. La operación por bytes se utiliza en terminales de pantalla completa, donde cada tecla pulsada tiene su significado. Memoria intermedia doble Se puede realizar una mejora sobre la memoria intermedia sencilla asignando a la operación dos almacenes intermedios del sistema. De esta forma, un proceso puede transferir datos hacia (o desde) una memoria intermedia mientras que el sistema operativo vacía (o rellena) el otro. Esta técnica se conoce como memoria intermedia doble o memoria intermedia de intercambio. En la entrada orientada a flujo, se afronta de nuevo el problema de las dos alternativas de   operación. Para la E/S de líneas, el proceso de usuario no tiene que ser suspendido para entrada o salida a menos que el proceso se adelante a la memoria intermedia doble. Para la operación con bytes, la memoria intermedia doble no ofrece ninguna ventaja con respecto a una memoria intermedia sencilla de doble tamaño. En ambos casos, se seguirá el modelo del productor/consumidor. Memoria intermedia circular Si preocupa el rendimiento de un proceso determinado, seria deseable que las operaciones de E/S fueran capaces de ir al ritmo del proceso.
Si el proceso lleva a cabo rápidas ráfagas de E/S  el  problema puede mitigarse usando más de dos memorias intermedias.  Cuando se emplean más de dos, el conjunto de memorias intermedias se conoce con el nombre de memoria intermedia circular. Cada memoria intermedia individual constituye una unidad de la memoria intermedia circular. Este es el modelo del productor/consumidor con una memoria intermedia limitada.  
Planificación de discos En los últimos 30 años, el crecimiento en la velocidad de los procesadores y la memoria principal ha dejado muy atrás el de los accesos al disco. La velocidad del procesador y de la memoria se ha incrementado en dos órdenes de magnitud con respecto al disco. El resultado es que, actualmente, los discos son, por lo menos, cuatro veces más lentos que la memoria principal. Los subsistemas de almacenamiento en disco son de una importancia vital. Parámetros de rendimiento del disco Cuando la unidad de disco esta operando, el disco gira a una velocidad constante. Para leer   o escribir la cabeza debe ponerse en la pista deseada, al comienzo del sector pertinente.
En un sistema de cabezas móviles, el tiempo que se tarda en ubicar la cabeza en la pista se   llama tiempo de búsqueda. Una vez que se ha seleccionado la pista, el controlador del disco esperara hasta que el sector apropiado se alinee con la cabeza en su rotación. El tiempo que tarda el comienzo del sector en llegar hasta la cabeza se conoce como retardo de giro, o latencia de giro. La suma de tiempo de búsqueda y el retardo de giro es el tiempo de acceso, es decir, el tiempo que se tarda en llegar a la posición de lectura o escritura. Una vez que la cabeza esta ubicada, se puede llevar a cabo la operación de lectura o escritura a medida que el sector se mueve bajo la cabeza; esta es la parte de transferencia real de datos de operación.  Además del tiempo de acceso y del tiempo de transferencia, existen algunos retrasos en las   colas que normalmente tienen asociadas una operación de E/S a disco. Cuando un proceso emite una solicitud de E/S, primero debe esperar en una cola a que el dispositivo este disponible. En ese momento, el dispositivo queda asignado al proceso. Si el dispositivo comparte un único canal de E/S o un conjunto de canales con otras unidades del disco, puede producirse una espera adicional hasta que el canal este disponible. En este punto se realizara la búsqueda con la que comienza el acceso al disco.  Tiempo de búsqueda Es el tiempo necesario para mover el brazo del disco hasta la pista solicitada. El tiempo de búsqueda consta de dos componentes clave: el tiempo de arranque inicial y el tiempo que se tarda en recorrer las pistas, una vez que el brazo haya cogido velocidad. El tiempo de búsqueda medio en los discos actuales es de 5 a 10ms.
Retardo de giro   Los discos magnéticos, excepto los discos flexibles, tienen una velocidad de rotación que esta en el rango de 5400 a 10000 rpm; esta última equivale a una revolución cada 6 ms. Por lo tanto, a 10000 rpm, el retardo medio de giro será de 3 ms. Los discos flexibles giran mucho mas lentamente, generalmente entre 300 y 600 rpm. Por tanto, el retardo medio estará entre 100 y 200 ms. Tiempo de transferencia El tiempo de transferencia con el disco depende de la velocidad de rotación de la forma siguiente:  T= b/rN  Donde:  T  tiempo de transferencia  b  números de bytes a transferir N  números de bytes por pista r  velocidad de rotación en revoluciones por segundo Por tanto, el tiempo medio de acceso total puede expresarse como Ta = Ts + 1/2r + b/rN Donde T, es el tiempo de búsqueda.
Políticas de planificación del disco Considérese una situación normal de un entorno de multiprogramación. Si se eligen los elementos de la cola en un orden aleatorio, se puede esperar que las pistas recorridas sigan también un orden aleatorio, obteniéndose el peor rendimiento posible. Esta planificación aleatoria es útil como medida comparativa para evaluar otras técnicas. La manera más sencilla de planificación seria la de primero en entrar, primero en salir (FIFO), lo que significa que los elementos se procesan de la cola en un orden secuencial. Esta estrategia tiene la ventaja de ser justa porque las solicitudes son servidas en el orden en que llegaron.  Con la técnica FIFO, si hay pocos procesos que requieren acceso y si muchas de las solicitudes son a sectores agrupados de un archivo, se puede esperar un buen rendimiento. Sin embargo, el rendimiento de esta técnica se parece a menudo al de la planificación  aleatoria si hay muchos procesos compitiendo por el disco. Así, puede ser más beneficioso considerar una política de planificación más sofisticada. Prioridad Los trabajos por lotes que sean cortos y los trabajos interactivos reciben frecuentemente una prioridad más alta que trabajos mayores que realizan largas operaciones. Esta práctica permite que el sistema haga salir más rápidamente a muchos trabajos cortos y pueda proporcionar un buen tiempo de respuesta interactiva.
Ultimo en entrar, primero en salir (LIFO)   En los sistemas de proceso de transacciones, conceder el dispositivo al último usuario acarrea pocos o nulos movimientos del brazo al recorrer un archivo secuencial. El provecho de esta cercanía mejora la productividad y reduce la longitud de las colas. A medida que un trabajo utiliza de forma activa el sistema de archivos, va procesándose tan rápido como es posible. Una vez que un trabajo haya lanzado una solicitud de E/S a la cola y haya abandonado la cabeza de la línea, no podrá volver a ganar la cabeza de la línea a menos que se vayan todos los que estén por delante. Con la política FIFO, la de prioridades y el esquema LIFO (ultimo en entrar, primero en salir) la planificación se fundamenta únicamente en los atributos de la cola o del proceso demandante. Primero el tiempo de servicio más cortó La política de <<primero el tiempo de servicio mas corto>> (SSTF, Shortest Service Time First) es elegir la solicitud de  E/S a disco que requiera el menor movimiento posible del brazo del disco desde su posición actual. Esta elección debe ofrecer un rendimiento mejor que el  del FIFO. Ya que el brazo puede moverse en ambos sentidos, se puede usar un algoritmo aleatorio de desempate para resolver los casos de igualdad de distancias. Scan   Con la excepción del FIFO, todas las políticas descritas hasta ahora pueden dejar alguna solicitud incumplida hasta que se vacié la cola entera.
Con el SCAN, el brazo solo se puede mover en un sentido, resolviendo todas las solicitudes en esa dirección. Esta última mejora se conoce a veces como política de LOOK. Se cambia entonces la dirección de servicio y el rastreo sigue en sentido opuesto, volviendo a recoger todas las solicitudes en orden. C-SCAN   La política del C-SCAN (SCAN circular) restringe el rastreo a una sola dirección. Así, cuando se haya visitado la ultima pista en un sentido, el brazo vuelve al extremo opuesto del disco y comienza a recorrerlo de nuevo, lo que reduce el retardo máximo sufrido por las nuevas solicitudes. SCAN de N pasos y FSCAN Con SSTF, SCAN y C-SCAN, es posible que el brazo no se mueva durante un periodo de tiempo considerable. Por ejemplo, si uno o varios procesos tienen altos porcentajes de acceso a una pista, pueden monopolizar el dispositivo entero por medio de solicitudes repetidas a dicha pista. Para evitar esta <<pegajosidad>> del brazo, la cola de solicitudes del disco puede dividirse en segmentos, procesándose un segmento por completo cada vez. Dos ejemplos de este método son el SCAN de N pasos y el FSCAN.  La política del SCAN de N pasos divide la cola de solicitudes en subcolas de longitud N. Las subcolas se procesan una a una mediante un SCAN. Mientras se procesa una cola, se añadirán nuevas solicitudes a las otras. Si hay menos de N solicitudes disponibles al final del recorrido, entonces todas serán procesadas en el siguiente recorrido. Para valores grandes de N, el rendimiento del SCAN de N pasos se aproxima al del SCAN;  con un valor de N—1, se esta adoptando la política FIFO.
La política FSCAN emplea dos subcolas. Cuando comienza un rastreo, todas las solicitudes están en una de las colas y la otra pertenece vacía. Durante el recorrido, todas las solicitudes nuevas se colocan en la cola que inicialmente estaba vacía. De este modo, el servicio de nuevas solicitudes se retrazara hasta que se hayan procesado las viejas  NOMBRE DESCRIPCION COMENTARIOS Selección en función del demandante RSS Planificación aleatoria. Para análisis y simulación. FIFO Primero en entrar, primero en salir. El más justo de todos. PRI Prioridad del proceso. El control se lleva fuera de la gestión de la cola del disco. LIFO Último en entrar último en salir. Maximiza uso de recursos y cercanías. Selección en función del elemento solicitado SSTF Primero el más cortó. Gran aprovechamiento y colas pequeñas. SCAN Recorre el disco de un lado a otro. Mejor distribución del servicio. C-SCAN Recorre el disco en un solo sentido. Menor variabilidad en el servicio. SCAN de N-pasos Scan de N registros a la vez. Garantía de servicio. F-SCAN Scan de N pasos, con N = longitud de la cola al comienzo del ciclo del Scan. Sensible a la carga.
RAID Con el uso de múltiples discos,  hay una gran variedad de formas en las que se pueden organizar los datos y en las cuales se puede añadir redundancia para mejorar la fiabilidad. Esto puede dificultar el desarrollo de esquemas de bases de datos que se puedan utilizar en múltiples plataformas y sistemas operativos. Afortunadamente, la industria ha acordado un esquema estándar para el diseño de bases de datos sobre múltiples discos, llamado RAID (Redundant Array of Independent Disks, Vector Redundante de Discos Independientes). El esquema RAID consta de siete niveles, de cero a seis. Comparten tres características comunes:   ,[object Object],[object Object],[object Object],El termino RAID fue ideado, en origen, en un articulo de un grupo de investigadores de la Universidad de Berkeley, California. NIVEL RAID  0   El nivel RAID 0 no es un miembro verdadero de la familia RAID, porque no incluye redundancia para mejorar el rendimiento. En RAID 0, el usuario y los datos del sistema están distribuidos a lo largo de todo el vector de discos.
Esto tiene una notable ventaja sobre el uso de un solo gran disco: si hay pendientes dos solicitudes de E/S distintas de dos bloques de datos diferentes, entonces existe una buena oportunidad para que los bloques solicitados estén en discos diferentes. De este modo, se pueden realizar en paralelo las dos solicitudes, reduciendo el tiempo en la cola de E/S. Todos los usuarios y los datos del sistema se ven como si estuviesen almacenados en un disco lógico. Este disco esta dividido en bandas (strip); estas bandas pueden ser bloques físicos, sectores o alguna otra unidad. Las bandas se asignan, mediante turno rotatorio, a miembros consecutivos del vector. Un conjunto de bandas consecutivas lógicamente que se corresponden exactamente con una banda de cada miembro del vector, se denomina franja (stripe). En un vector de n discos, las primeras n bandas lógicas, están físicamente almacenadas como la primera banda de cada uno de los n discos, y forman la primera franja; las segundas n bandas están distribuidas como las segundas bandas de cada disco; y así sucesivamente. La ventaja de esta disposición es que si una única solicitud de E/S esta formada por múltiples bandas contiguas lógicamente, entonces las n  bandas de esa solicitud puede gestionarse en paralelo, reduciendo enormemente el tiempo de transferencia de E/S. RAID 0 para alta capacidad de transferencia de datos Para que las aplicaciones experimenten una alta tasa  de transferencia se deben cumplir dos requisitos. Primero, una alta capacidad de transferencia debe existir a lo largo de todo el camino entre la memoria de la maquina central y las unidades de discos individuales. Esto incluye a los buses de control internos, buses de E/S del sistema central, adaptadores de E/S y buses de memoria de la maquina central.  El segundo requisito es que la aplicación debe hacer solicitudes de E/S que utilicen eficientemente el vector de discos. Este requisito se cumple si la solicitud típica es de grandes cantidades de datos contiguos lógicamente, comparada con el tamaño de una banda. En este caso, una única solicitud de
E/S supone la transferencia en paralelo de datos desde múltiples discos, incrementando la tasa efectiva de transferencia comparada con una transferencia desde un solo disco. RAID 0 para alta velocidad de solicitudes de E/S   En un entorno de transacciones pueden existir cientos de solicitudes de E/S por segundo. Un vector de discos puede proporcionar altas tasas de ejecución de E/S distribuyendo la carga de E/S a través de los múltiples discos. La distribución de la carga efectiva se consigue solamente si existen, habitualmente, múltiples solicitudes de E/S pendientes. Esto supone que existen múltiples aplicaciones independientes o una sola aplicación orientada a transacciones que sea capaz de solicitar múltiples E/S asíncronas. El rendimiento estará también influido por el tamaño de la banda. Si el tamaño de la banda es relativamente grande, entonces las múltiples solicitudes de E/S pendientes se pueden gestionar en paralelo, reduciendo el tiempo en cola de cada solicitud.  NIVEL RAID 1   Cada banda lógica se corresponde con los discos físicos independientes, por lo que cada disco del vector tiene un disco espejo que contiene los mismos datos. La organización RAID 1 tiene varios aspectos positivos: ,[object Object]
[object Object],[object Object],La principal desventaja de RAID 1 es el coste; requiere dos veces el espacio de disco del disco lógico que soporta. Debido a ello, una configuración RAID 1 debería estar limitada a unidades que almacenen el software y los datos del sistema, así como otros archivos altamente críticos. En estos casos, RAID 1 ofrece una copia de respaldo en tiempo real de todos los datos, por lo que en el caso de producirse un fallo de disco, todos los datos críticos están inmediatamente disponibles.   NIVEL RAID 2   Los niveles RAID 2 y 3 utilizan una técnica de acceso paralelo. En un vector de acceso paralelo, todos los discos participan en la ejecución de cada solicitud de E/S. El eje de las unidades individuales esta sincronizado, por lo que cada cabeza de disco esta en la misma posición de cada disco en un instante dado.
En RAID 2, se calcula un código de corrección de errores a lo largo de los bits del código se almacenan en las respectivas posiciones de bit sobre discos de paridad múltiple. Normalmente, se utiliza código Hamming, que es capaz de corregir errores de un solo bit y detectar errores de dos bit.  Aunque  RAID 2 requiere menos discos que RAID 1, el coste es todavía algo alto. El número de discos redundantes es proporcional al logaritmo del número de discos de datos. En una lectura, se accede a todos los discos simultáneamente. Los datos solicitados y el código de corrección de errores asociado se comunican al controlador del vector de discos. Si existe un error de un solo bit, el controlador puede reconocer y corregir el error instantáneamente, por lo que no disminuye el tiempo de acceso. En una escritura, para poder escribir se tiene que acceder a todos los discos de datos y a todos los discos de paridad. RAID 2 solamente seria una elección eficiente en un entorno efectivo en el que se produjeran muchos errores de disco. Dada la alta fiabilidad de los discos y de las unidades de disco, RAID 2 esta superado y no se implementa. NIVEL RAID 3   RAID 3 se organiza de una forma similar a RAID 2. La diferencia es que RAID 3 requiere solo un disco redundante. RAID 3 emplea acceso paralelo, con los datos distribuidos en pequeñas bandas. En lugar de un código de corrección de errores, se calcula un solo bit de paridad para el conjunto de bits en la misma posición de todos los discos de datos.  Redundancia En el caso de un fallo de disco, se accede a la unidad de paridad y se reconstruyen los datos   desde los dispositivos restantes. Una vez que se reemplaza la unidad fallida, se pueden restaurar sobre una nueva unidad los datos perdidos y continuos el funcionamiento.
Rendimiento Teniendo en cuenta que los datos están divididos en pequeñas bandas, RAID 3 puede conseguir una tasa de transferencia de datos muy alta. NIVEL RAID 4   Los niveles RAID 4  a 6 usan una técnica de acceso independiente. En un vector de acceso independiente, cada disco opera independientemente, por lo que se pueden satisfacer en paralelo solicitudes de E/S individuales. Son mas apropiados para aplicaciones que requieran tasas altas de solicitudes de E/S, y son relativamente menos apropiados para aplicaciones que requieren tasas altas de transferencia de datos. En el caso de RAID 4 hasta 6, las bandas son relativamente grandes. Con RAID 4, se calcula una banda dela paridad bit a bit  a lo largo de las bandas correspondientes de cada disco de datos, y los bits de paridad se almacenan en la banda correspondiente del disco d paridad.  RAID 4 implica una penalización d escritura cuando se realiza una solicitud de E/S para escribir poco. Cada vez que se produce una escritura, el software que gestiona el vector de discos debe actualizar no solo los datos del usuario, sino también los bits de paridad correspondientes.  NIVEL RAID 5 RAID 5 esta organizado de forma similar a RAID 4. La diferencia es que RAID 5 distribuye las bandas de paridad a través de todos los discos. Una asignación normal es un esquema de turno rotatorio.   Para un
vector de n discos, la banda de prioridad esta sobre un disco distinto para las n primeras bandas y, después, se repite el patrón.  La distribución de las bandas de paridad a través de todos los discos evita el potencial cuello de botella en la E/S del sistema RAID 4 que tiene  solo un disco de paridad. NIVEL RAID 6   En el esquema RAID 6, se realizan dos cálculos distintos de paridad, y se almacenas en bloques independientes de diferentes discos. Así, un vector RAID 6 cuyos datos de usuario requieren N discos esta formado por N + 2 discos. La ventaja de RAID 6 es que ofrece una disponibilidad de datos extremadamente alta. Deberían fallar tres discos en el intervalo MTTR (Mean Time To Repair, Tiempo Medio de Reparación) para hacer que los datos no estuvieran disponibles. Por otro lado, RAID 6 sufre una importante penalización de escritura, porque cada escritura afecta a dos bloques de paridad.  CACHE DE DISCO   Una cache de disco es una memoria intermedia (buffer) situada en la memoria principal para sectores de disco. La cache contiene una copia de algunos sectores del disco. Se hace una solicitud de E/S para un sector especifico, se comprueba si el sector esta en el cache del disco. Si es así, la solicitud  se satisface con la cache. Si no, se lee el sector solicitado del disco y se coloca en la cache. Debido al concepto de cercanía de referencias, cuando se traiga un bloque de datos a la cache para satisfacer una solicitud de E/S, será probable que se produzcan referencias futuras al mismo bloque.
CONSIDERACIONES SOBRE EL DISEÑO   En primer lugar, cuando una solicitud de E/S se satisface desde la cache de disco, los datos de la misma deben entregarse al proceso que los solicito. La entrega puede hacerse transfiriendo el bloque de datos de la memoria principal, desde la cache del disco a la memoria asignada al proceso de usuario, o simplemente usando la capacidad de la memoria compartida y pasando un puntero a la entrada apropiada de la cache del disco. Una segunda cuestión de diseño tiene que ver con la estrategia de reemplazo. Cuando se trae un nuevo sector a la cache del disco, debe ser reemplazado uno de los bloques existentes. El algoritmo más usado es LRU (Usado Menos Recientemente), en el que se reemplaza el bloque que ha permanecido sin referencias en la cache durante más tiempo. Lógicamente, la cache esta formada por una pila de bloques, con el bloque referenciado mas recientemente en la cima de la pila. Cuando se hace referencia a un bloque de la cache, se le mueve desde su posición actual en la pila de la cima de esta. Cuando se trae un bloque de la memoria secundaria, se elimina el bloque que esta en el fondo de la pila, colocando al recién llegado en la cima de la pila. Otra posibilidad es el algoritmo Usado Menos Frecuentemente (LFU), donde se sustituye el bloque de la cache que ha sufrido un menor número de referencias. El algoritmo LFU podría implementarse asociando un contador a cada bloque. Cuando se trae un bloque, se le asigna el valor de 1; con cada referencia al bloque, se incrementa el contador en una unidad. Cuando hace falta un reemplazo, se selecciona el bloque con menor valor del contador.
LFU tiene el siguiente problema. Puede ser que se haga referencia a ciertos bloques con poca frecuencia, pero que cuando se haga se produzcan intervalos cortos de referencias repetidas, debido a la cercanía, obteniéndose así grandes valores del contador de referencias. Tras este intervalo, el valor del contador de referencias puede ser engañoso y no reflejar la probabilidad de que el bloque sea referenciado nuevamente. De este modo, el efecto de la cercanía puede originar que el algoritmo LFU realice malas elecciones en el reemplazo.  Para superar esta dificultad del LFU se propone una técnica conocida como reemplazo en función de la frecuencia. Los bloques están organizados lógicamente en una pila, como en el algoritmo LRU. Una parte determinada de la cima de la pila se reserva como una sección nueva. Cuando se acierta en el cache, el bloque referenciado se traslada a la cima de la pila. Si el bloque ya estaba en la sección nueva, su contador de referencias no se incrementara; en otro caso, se incrementa en 1. Con una sección nueva suficientemente grande, el resultado de este procedimiento es que el contador de los bloques referenciados repetidamente en un corto intervalo de tiempo permanece inalterado. Si se produce una falta, se elegirá para reemplazo el bloque con el menor valor del contador de referencias y que no este en la sección nueva; en caso de empate, se elegirá el bloque usado menos recientemente. Los autores comentan que con su estrategia solo se consiguió una leve mejora sobre LRU. Una mejora adicional dirigida a este problema es dividir la pila en tres secciones: nueva, media y antigua. Como antes, las cuentas de referencias no se incrementan en los bloques de la sección nueva. Sin embargo, solo los bloques de la sección antigua serán candidatos para el reemplazo. Disponiendo de una sección media suficientemente grande, a los bloques referenciados más o menos frecuentemente se les da la oportunidad de aumentar sus contadores de referencias antes de ser candidatos al reemplazo. Es significadamente mejor que una simple LRU o LFU.
Consideraciones sobre el rendimiento El tema de rendimiento de la cache se ve reducido a la cuestión de si se puede alcanzar una determinada tasa de faltas. Esto dependerá del comportamiento de la cercanía de las referencias al disco, el algoritmo de reemplazo y otros factores de diseño. Sin embargo, la tasa de faltas es principalmente función del tamaño de la cache de disco. Utilizan LRU, uno para un sistema UNIX ejecutando sobre un VAX, grandes maquinas IBM. Cuando se comparan pautas de referencia idénticas que emplean la misma estructura de cache, el algoritmo de reemplazo en función de la frecuencia es superior. E/S  EN UNIX SVR4   En UNIX, cada dispositivo particular de E/S tiene asociado un archivo especial, gestionado por el sistema de archivos, del que se lee y se escribe de la misma forma que los archivos  de datos del usuario. Así se ofrece una interfaz uniforme y bien definida con los usuarios y los procesos. Para leer o escribir en un dispositivo, se realizaran solicitudes de lectura o escritura al archivo especial asociado con el dispositivo.  En UNIX hay dos tipos de E/S: amortiguada y no amortiguada. La E/S amortiguada aprovecha los buffers del sistema, mientras que la no amortiguada utiliza DMA, realizando directamente la transferencia entre el modulo de E/S y la zona de E/S del proceso. Con E/S   amortiguada se pueden usar dos clases de memorias intermedias: sistema de memoria cache y colas de caracteres. Cache de buffer La cache de buffer en UNIX es esencialmente una cache de disco. Las operaciones de E/S con el disco se gestionan a través de la cache de buffer. La transferencia de datos entre la cache de buffer y el espacio de usuario del proceso siempre se produce mediante DMA. Como la cache de buffer y la zona de E/S del proceso
residen ambas en la memoria principal, se usara DMA para llevar a cabo una copia de memoria a memoria. Esta acción no gastara ningún ciclo del procesador, pero consumirá ciclos del bus. Para administrar la cache de buffers se van a mantener tres listas:  ,[object Object],[object Object],[object Object],Cada uno de los buffers debería pertenecer a la lista de libres o a la cola de E/S del controlador. Una vez que un buffer se asocia a un dispositivo, permanecerá asociado al mismo, incluso si esta en la lista de libres, hasta que se utilice de nuevo y se le asocie a otro dispositivo. Estas listas se mantienen como punteros asociados con cada buffer más que como listas físicamente separadas.  Cuando se hace una referencia a un numero de bloque físico de un dispositivo particular, el sistema operativo comprueba primero si el bloque esta en el buffer de la cache. Para minimizar el tiempo de búsqueda, la lista de dispositivos se organiza como una tabla de dispersión (hash), usando una técnica similar al desbordamiento encadenado. Cola de caracteres Los dispositivos orientados a bloque, como los discos y las cintas, pueden ser tratados a través del buffer de la cache de una forma eficaz.
Pero hay una forma diferente de almacenamiento intermedio, más adecuada para  dispositivos orientados a carácter, como terminales e impresoras. El dispositivo de E/S escribe en una cola de caracteres, de la que lee el proceso o, también, el proceso escribe y el dispositivo lee de ella. Las colas de caracteres solo podrán ser leídas una vez; a medida que se lee cada carácter, este es destruido. Este mecanismo es distinto al del buffer de la cache, donde se puede leer varias veces y, por lo tanto, se sigue el modelo de los lectores/escritores. E/S no amortiguada La E/S no amortiguada, que es un simple DMA entre el dispositivo y el espacio del proceso, es siempre el método más rápido de realizar E/S para un proceso. Los procesos que realizan E/S no amortiguada quedan bloqueados en la memoria principal y no pueden ser expulsados al disco. Esta condición reduce las oportunidades de expulsión inmovilizando parte de la memoria principal y reduciendo, por tanto, el rendimiento global del sistema. Además, el dispositivo de E/S se paraliza junto al proceso mientras dure la transferencia, quedando inasequible para otros procesos.  Dispositivos UNIX   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Las unidades de disco, muy empleadas por UNIX, son dispositivos orientados a bloque y ofrecen una productividad razonablemente alta. Por lo tanto, la E/S con estos dispositivos tiende a ser no amortiguada o mediante una cache de buffer. Las unidades de cinta son funcionalmente similares a las de disco y emplean esquemas similares de E/S. Como los terminales realizan un intercambio de caracteres relativamente lento, la E/S con ellos hace normalmente uso de las colas de caracteres. De forma similar, las líneas de comunicación requieren el procesamiento en serie de bytes de datos para entrada o salida y se gestionan mejor mediante colas de caracteres. Por ultimo, el tipo de E/S empleado para las impresoras depende generalmente de su velocidad. Las impresoras lentas emplean normalmente colas de caracteres, mientras que las rápidas pueden utilizar E/S no amortiguada. Se puede usar una cache de buffer para la impresora rápida. Sin embargo, como los datos dirigidos a una impresora nunca se van a utilizar de nuevo, no es necesaria la cache de buffer.  E/S EN WINDOWS 2000 Módulos básicos de E/S El gestor de E/S esta formado por cuatro  módulos : ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],E/S ASINCRONA Y SINCRONA   W2K ofrece dos modos de operación de E/S: asíncrono y asíncrono. El modo asíncrono se utiliza siempre que es posible para optimizar el rendimiento de una aplicación. Con E/S asíncrona una aplicación inicia una operación de E/S y, entonces, puede continuar ejecutando mientras la solicitud de E/S se completa. Con E/S sincrona, la aplicación se bloquea hasta que finaliza la operación de E/S.
La E/S asíncrona es más eficiente, desde el punto de vista de las llamadas a hilo, porque permite al hilo continuar la ejecución, mientras el gestor de E/S pone en cola la operación y la realiza mas tarde. W2K ofrece 4 técnicas distintas para señalizar la finalización de E/S:   ,[object Object],[object Object],[object Object],[object Object]
SOFWARWE  RAID ,[object Object],[object Object],[object Object],En el RAID de hardware, la interfaz del controlador gestiona la creación y regeneración de la información redundante. El RAID de software, disponible en W2K Server, implementa la funcionalidad de RAID como parte del sistema operativo y se puede usar con cualquier conjunto de varios discos. El servicio RAID de software implementa RAID 1 y RAID 5. En el caso de RAID 1 (disco espejo), los dos discos que contienen las particiones primaria y espejo pueden estar en la misma controladora o en diferentes controladoras de disco. La última configuración se denomina duplexacion de discos.  Las principales características del sistema operativo base de la tecnología.Net Enterprise Server es el siguiente:   ,[object Object],[object Object],[object Object]
[object Object],[object Object],Evaluación del modelo I/O ,[object Object],[object Object],[object Object],[object Object]
métodos definidos en la interfase correspondiente, sin tener que cuestionarse siquiera la existencia de otros componentes del sistema. ,[object Object],[object Object],[object Object],[object Object],DISPOSITIVOS DE ALMACENAMIENTO EN DISCO Discos magnéticos Un disco es un plato circular constituido de metal o plástico recubierto con una sustancia magnetizable. Los datos se graban y, mas tarde, se recuperan del disco a través de una bobina conductora llamada cabeza. Durante una operación de lectura o escritura, la cabeza esta fija mientras el plato gira bajo ella Formato y organización de los datos La cabeza es un dispositivo relativamente pequeño capaz de leer o de escribir en una porción del plato que esta girando bajo ella.
Esto da lugar a una organización de datos sobre el plato en un conjunto de anillos concéntricos, llamados pistas. Cada pista tiene la misma anchura que la cabeza y existen miles de pistas por superficie. La figura representa este esquema de datos. Las pistas adyacentes son separadas por huecos (gaps). Esto previene, o al menos minimiza, los errores debidos a la perdida de alineamiento de la cabeza o, simplemente, a una interferencia de los campos magnéticos. Para simplificar la electrónica, normalmente se almacena el mismo número de bits en cada pista. Así la densidad, en bits por pulgada, aumenta al moverse de la pista más externa a la más interna. Los datos son transferidos a y desde en disco en bloques. Estos son más pequeños que la capacidad de la pista. Los datos se almacenan en regiones del tamaño de un bloque llamadas sectores y estos pueden ser de longitud fija o variable. La mayoría de las unidades de disco usa un sector fijo de 512 bytes de tamaño. Es necesario algún medio para localizar la posición de los sectores dentro de una pista. Evidentemente debe haber algún punto de comienzo de la pista y una forma de identificar el inicio y el final de cada sector. Estos requisitos están gestionados por medio de los datos de control grabados sobre el disco. Así, se da formato al disco con algunos datos extra usados solamente por el controlador de disco y no accesibles para el usuario. Características físicas Principales características que diferencian los distintos tipos de discos magnéticos:  En un disco de cabeza fija, hay una cabeza de lectura/escritura por pista. Todas las cabezas están dispuestas sobre un brazo rígido que se extiende a través de todas las pistas. En un disco de cabeza móvil, hay solamente una cabeza de lectura/escritura que también esta montada sobre un brazo. Puesto que la cabeza debe ser capaz de situarse sobre cualquier pista, el brazo puede extenderse o retraerse para el propósito.
Un disco no-extraíble esta permanentemente montado en la unidad de disco. Un disco extraíble puede ser retirado y reemplazado por otro disco. Ese disco puede llevarse de un sistema informático a otro. La mayoría de los discos tienen la cubierta magnética aplicada a ambas superficies del plato, que entonces se denomina doble cara. Algunos sistemas de disco más baratos usan discos de una sola cara.  Algunas unidades de disco disponen  de platos múltiples apilados verticalmente separados por una pulgada aproximadamente. Estas unidades disponen de múltiples brazos. Los platos se presentan como una unidad denominada paquete de discos. Los múltiples platos del disco emplean una cabeza móvil con una cabeza de lectura/escritura por cada superficie. Todas las cabezas son mecánicamente fijas así que todas están a la misma distancia del centro del disco y se mueven juntas. Así, en cualquier momento, todas las cabezas están situadas sobre pistas en la misma distancia del centro del disco. La combinación de todas las pistas en la misma posición relativa sobre el plato se denomina cilindro.  El mecanismo ofrece una clasificación de discos en tres tipos. Tradicionalmente, las cabezas de lectura/escritura están situadas a una distancia fija por encima del plato, permitiendo un hueco de aire. En el otro extremo hay un mecanismo de cabeza que realmente entra en contacto físico con el medio durante una operación de lectura o escritura. Este mecanismo se usa con los discos flexibles, que son un tipo de disco pequeño, flexible y más barato. Para entender el tercer tipo de disco, es necesario comentar la relación entre la densidad de datos y el tamaño del hueco de aire. La cabeza debe generar o sentir un campo electromagnético de suficiente magnitud. Cuanto más estrecha es la cabeza, mas cerca debe estar de la superficie del plato para poder funcionar. Cuanto más cerca esta la cabeza del disco, mayor es el riego de un error por impurezas o imperfecciones. Se desarrollo el disco Winchester, en este disco las cabezas se utilizan en una unidad sellada que esta casi libre de contaminantes. Están diseñadas para operar mas cerca de la superficie del disco que las cabezas de los discos rígidos convencionales, permitiendo así mayor densidad de datos.
La cabeza, realmente, esta en una lamina aerodinámica que descansa ligeramente sobre la superficie del plato cuando el disco esta inmóvil. La presión de aire generada por el disco al girar es suficiente para hacer que la lámina se eleve por encima de la superficie.  Memorias ópticas En 1983, se introdujo uno de los más exitosos productos comerciales de todos los tiempos: el sistema digital de audio en disco compacto (CD, Compact Disk). El CD es un disco que no se puede borrar y que puede almacenar más de 60 minutos de información audio sobre una cara. El enorme éxito comercial del CD permitió el desarrollo dela tecnología a bajo coste para el almacenamiento en discos ópticos, lo que ha revolucionado el almacenamiento de datos en las computadoras. Se han introducido varios sistemas de disco óptico. CD-ROM  Tanto el CD audio como el CD-ROM (Compact Disk Read-Only Memory, Disco Compacto con Memoria de Solo Lectura) comparten una tecnología similar. La principal diferencia es que los reproductores de CD-ROM son más robustos y tienen dispositivos de corrección de errores que aseguran que se transfieren correctamente los datos desde el disco al computador. Ambos discos se fabrican de la misma forma. El disco esta formado de una resina, como el policarbonato, y están forrados de una superficie altamente reflectante, normalmente aluminio. La información grabada digitalmente se imprime en forma de una serie de surcos microscópicos sobre la superficie reflectante. Esto hace, antes de nada, con un láser de alta intensidad y de foco muy fino para crear un disco maestro. El disco maestro se usa, por turnos, para hacer un molde con el que estampar las copias. La superficie surcada de las copias se protege contra el polvo y los roces con una capa de laca transparente.
La información de un CD o un CD-ROM la recupera un láser de baja potencia alojado en un dispositivo de disco óptico o unidad de control. El láser ilumina a través de la cubierta protectora transparente, mientras un motor giratorio hace que el disco pase por él. La intensidad de la luz del láser reflejada cambia cuando se encuentra con un surco. Un sector fotoeléctrico detecta este cambio y lo convierte en una señal digital.  La información se puede rastrear a la misma velocidad si el disco gira a una velocidad fija, llamada velocidad angular constante (CAV). El disco esta dividido en varios sectores, en forma de torta, y en una serie de pistas concéntricas. La ventaja de usar CAV es que los bloques de datos independientes se pueden direccionar directamente en forma de pista y sector. La desventaja de CAV es que la cantidad de datos que se pueden almacenar en las pistas exteriores, mas largas, es la misma que la que se puede almacenar en las pistas interiores, más cortas.  Se desaprovecha espacio, el método CAV no se usa sobre CD y CD-ROM. En su lugar, la información se empaqueta uniformemente a lo largo del disco en segmentos del mismo tamaño y estos se rastrean a la misma velocidad girando el disco a velocidad variable. El láser lee los surcos a una velocidad lineal constante (CLV).El disco gira mas lentamente para acceder cerca de la orilla exterior que para acceder cerca del centro. De este modo, tanto la capacidad de una pista como el retardo de giro, aumentan para las pistas situadas más cerca del extremo exterior del disco.  Se han producido CD-ROM de distintas densidades. El CD-ROM es apropiado para la distribución de grandes cantidades de datos a un gran número de usuarios. Puesto que el proceso de escritura inicial es caro, no es apropiado para aplicaciones individualizadas. Comparado con los discos magnéticos tradicionales, el CD-ROM tiene tres ventajas principales: ,[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],CD Grabable Para adaptarse a las aplicaciones en las que se necesitan solamente una o unas pocas copias de un conjunto de datos, se ha desarrollado el CD de una escritura y muchas lecturas, llamado CD Grabable (CD-R, CD Recordable). El material del CD-R es similar, pero no igual, al del CD o CD-ROM. En los CD y CD-ROM, la información se graba mediante surcos en la superficie, lo que cambia el índice de reflexión. En un CD-R, el material incluye una capa de tinte. El tinte se utiliza para cambiar el índice de reflexión y se activa mediante un láser de alta intensidad. El disco resultante se puede leer en una unidad de CD-R o de CD-ROM. El disco óptico CD-R es interesante para almacenar fondos de documentos y archivos. Ofrece una grabación permanente para grandes masas de datos del usuario.
CD Regrabable El disco óptico CD-RW puede escribirse y sobrescribirse repetidamente, como un disco magnético. Si bien se han intentado varias soluciones, la única purante óptica que tiene un interés descartable es la llamada cambio de fase. Utiliza un material que tiene dos índices de reflexión significativamente distintos en dos estados de fase diferentes. Hay un estado amorfo, en el que las moléculas muestran una orientación aleatoria y que refleja una luz pobre; y un estado cristalino, el cual tiene una superficie lisa que refleje bien la luz. Un rayo de luz láser puede cambiar el material desde una fase a la otra. La principal desventaja de los discos ópticos de cambios de fase, es que, al final, el material pierde sus propiedades permanentemente. Los materiales actuales se pueden usar entre  500000 y 1000000 de ciclos de borrado. Las ventajas principales de un disco óptico que se pueda borrar, comparado con un disco magnético, son las siguientes: ,[object Object],[object Object],[object Object],Disco digital versátil Con la gran capacidad del disco digital versátil (DVD), la industria ha encontrado al fin un sustituto aceptable a la cinta de video analógica VHS. Reemplazara al CD-ROM en los computadores personales y servidores.
Reproduce películas con una calidad de imagen impresionante, y se dispone de acceso aleatorio como en los CD de audio, que también pueden reproducir las maquinas de DVD. En un disco se pueden apiñar enormes cantidades de datos, en la actualidad siete veces más que un CD-ROM. Con la enorme capacidad de almacenamiento y de alta calidad de los DVD, los juegos de PC. Pueden llegar a ser mucho más realistas y el software educativo incorporara más videos. Estas son algunas de las características destacables de un DVD que le distinguen del CD-ROM:  Un DVD estándar contiene 4,7 Gbytes por nivel y con una cara de dos niveles alcanza los 8,5 Gbytes. El DVD utiliza un tipo de comprensión de video conocido como MPEG para imágenes de alta calidad en pantalla completa. Un solo nivel de DVD puede almacenar una película de 2 horas y 13 minutos, mientras dos niveles pueden contener una película de más de 4 horas. Discos magneto-ópticos Una unidad de disco magneto-óptica (MO) usa un láser óptico par enfocar la cabeza magnética de grabación para poder alcanzar capacidades mayores. En este esquema, el disco esta recubierto con un material cuya polaridad se puede alterar solo a altas temperaturas. La información se escribe en el disco usando el láser para calentar un pequeño punto de la superficie y, después, se aplica un campo magnético. Cuando el punto se enfría, el campo adopta una polaridad norte-sur. Puesto que el proceso de polarización no produce un cambio físico de disco, el proceso se puede repetir muchas veces.
La operación de lectura es puramente óptica. La dirección del magnetismo se puede detectar por un haz de luz láser polarizado. La luz polarizada reflejada desde un punto concreto cambiara su grado de rotación dependiendo de la orientación de los campos magnéticos. La principal ventaja de la unidad MO sobre un CD óptico puro es la longevidad de los discos. Repetidas grabaciones de datos sobre un disco óptico producen una degradación paulatina del material. La unidad MO no sufre esta degradación, se mantiene útil a lo largo de múltiples operaciones de escritura. Otra ventaja es que tiene un coste por megabyte considerablemente menor que el almacenamiento magnético.

Contenu connexe

Tendances (20)

Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salida
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Conceptos de software
Conceptos de softwareConceptos de software
Conceptos de software
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Sistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoriaSistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoria
 
Ciclo de instrucción
Ciclo de instrucciónCiclo de instrucción
Ciclo de instrucción
 
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadoresIntroducción a la arquitectura de computadores
Introducción a la arquitectura de computadores
 
Sistema de Archivos
Sistema de ArchivosSistema de Archivos
Sistema de Archivos
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transaccion
TransaccionTransaccion
Transaccion
 
Memoria RAM.pdf
Memoria RAM.pdfMemoria RAM.pdf
Memoria RAM.pdf
 
100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativos100 ejercicios-resueltos-de-sistemas-operativos
100 ejercicios-resueltos-de-sistemas-operativos
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Jerarquía de Memoria
Jerarquía de Memoria Jerarquía de Memoria
Jerarquía de Memoria
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 

En vedette

Gestion E/S Sistemas Operativos I
Gestion E/S Sistemas Operativos IGestion E/S Sistemas Operativos I
Gestion E/S Sistemas Operativos IJuan Castro
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosKarina Rivra
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida eduardoed5
 
Sistemas Operativos Gestion de E/S y Planificacion de Disco
Sistemas Operativos Gestion de E/S y Planificacion de DiscoSistemas Operativos Gestion de E/S y Planificacion de Disco
Sistemas Operativos Gestion de E/S y Planificacion de DiscoVictor Prieto
 
Que es el kernel o nucleo
Que es el kernel o nucleoQue es el kernel o nucleo
Que es el kernel o nucleoHugo Ramirez
 
Gestion directorios
Gestion directoriosGestion directorios
Gestion directoriosSaregune
 
Sistemas operativos ciclo 2 - capítulo 3
Sistemas operativos   ciclo 2 - capítulo 3Sistemas operativos   ciclo 2 - capítulo 3
Sistemas operativos ciclo 2 - capítulo 3Ing. Alexis Rocha, MGTI
 
Gestion de dispositivos es
Gestion de dispositivos esGestion de dispositivos es
Gestion de dispositivos esVictorVillalobos
 
Ejercicios RAID por LUISA FERNANDA VERGARA y NATALIA ANDREA TABORDA
Ejercicios RAID por LUISA FERNANDA VERGARA y NATALIA ANDREA TABORDAEjercicios RAID por LUISA FERNANDA VERGARA y NATALIA ANDREA TABORDA
Ejercicios RAID por LUISA FERNANDA VERGARA y NATALIA ANDREA TABORDAAlex Avila
 
Gestión De Entrada Y Salida
Gestión De Entrada Y SalidaGestión De Entrada Y Salida
Gestión De Entrada Y SalidaAndres
 
Exploration Network Chapter1
Exploration Network Chapter1Exploration Network Chapter1
Exploration Network Chapter1Javierinus
 
Procesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosProcesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosMarvin Romero
 
Dispositivos de entrada y salida
Dispositivos de entrada y salidaDispositivos de entrada y salida
Dispositivos de entrada y salidakaeslolo
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesadorManuel Ceron
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoMarvin Romero
 
Importancia de los sistemas operativos
Importancia de los sistemas operativosImportancia de los sistemas operativos
Importancia de los sistemas operativosVictor Miles
 

En vedette (20)

Gestion E/S Sistemas Operativos I
Gestion E/S Sistemas Operativos IGestion E/S Sistemas Operativos I
Gestion E/S Sistemas Operativos I
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas Operativos
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida
 
Sistemas Operativos Gestion de E/S y Planificacion de Disco
Sistemas Operativos Gestion de E/S y Planificacion de DiscoSistemas Operativos Gestion de E/S y Planificacion de Disco
Sistemas Operativos Gestion de E/S y Planificacion de Disco
 
Que es el kernel o nucleo
Que es el kernel o nucleoQue es el kernel o nucleo
Que es el kernel o nucleo
 
Nestor
NestorNestor
Nestor
 
Gestion directorios
Gestion directoriosGestion directorios
Gestion directorios
 
Administracion de e-s
Administracion de e-sAdministracion de e-s
Administracion de e-s
 
Sistemas operativos ciclo 2 - capítulo 3
Sistemas operativos   ciclo 2 - capítulo 3Sistemas operativos   ciclo 2 - capítulo 3
Sistemas operativos ciclo 2 - capítulo 3
 
Gestion de dispositivos es
Gestion de dispositivos esGestion de dispositivos es
Gestion de dispositivos es
 
Ejercicios RAID por LUISA FERNANDA VERGARA y NATALIA ANDREA TABORDA
Ejercicios RAID por LUISA FERNANDA VERGARA y NATALIA ANDREA TABORDAEjercicios RAID por LUISA FERNANDA VERGARA y NATALIA ANDREA TABORDA
Ejercicios RAID por LUISA FERNANDA VERGARA y NATALIA ANDREA TABORDA
 
Gestión De Entrada Y Salida
Gestión De Entrada Y SalidaGestión De Entrada Y Salida
Gestión De Entrada Y Salida
 
Gestion de Entrada y Salida
Gestion de Entrada y SalidaGestion de Entrada y Salida
Gestion de Entrada y Salida
 
Exploration Network Chapter1
Exploration Network Chapter1Exploration Network Chapter1
Exploration Network Chapter1
 
Procesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosProcesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas Operativos
 
Dispositivos de entrada y salida
Dispositivos de entrada y salidaDispositivos de entrada y salida
Dispositivos de entrada y salida
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesador
 
Plan de convivencia nebrija
Plan de convivencia nebrijaPlan de convivencia nebrija
Plan de convivencia nebrija
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativo
 
Importancia de los sistemas operativos
Importancia de los sistemas operativosImportancia de los sistemas operativos
Importancia de los sistemas operativos
 

Similaire à Gestión de E/S, Planificación de Discos y Acceso Directo a Memoria

Similaire à Gestión de E/S, Planificación de Discos y Acceso Directo a Memoria (20)

Acceso Directo A Memoria
Acceso Directo A MemoriaAcceso Directo A Memoria
Acceso Directo A Memoria
 
Accesodirectoamemoria 100115111436-phpapp02
Accesodirectoamemoria 100115111436-phpapp02Accesodirectoamemoria 100115111436-phpapp02
Accesodirectoamemoria 100115111436-phpapp02
 
Acceso Directo de Memoria
Acceso Directo de MemoriaAcceso Directo de Memoria
Acceso Directo de Memoria
 
Gestión de entrada y salida
Gestión de entrada y salidaGestión de entrada y salida
Gestión de entrada y salida
 
Unidad5
Unidad5Unidad5
Unidad5
 
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
 
Ec8
Ec8Ec8
Ec8
 
Sistema E S
Sistema E SSistema E S
Sistema E S
 
Trabajo de mantenimiento
Trabajo de mantenimientoTrabajo de mantenimiento
Trabajo de mantenimiento
 
Trabajo de mantenimiento
Trabajo de mantenimientoTrabajo de mantenimiento
Trabajo de mantenimiento
 
Trabajo de mantenimiento
Trabajo de mantenimientoTrabajo de mantenimiento
Trabajo de mantenimiento
 
Trabajo de mantenimientom
Trabajo de mantenimientomTrabajo de mantenimientom
Trabajo de mantenimientom
 
Sistemas de entrada y salida
Sistemas de entrada y salidaSistemas de entrada y salida
Sistemas de entrada y salida
 
Gestion de Entradas y Salidas
Gestion de Entradas y SalidasGestion de Entradas y Salidas
Gestion de Entradas y Salidas
 
Entrada salida
Entrada salidaEntrada salida
Entrada salida
 
Gestion entrada y salida UACJ
Gestion entrada y salida UACJGestion entrada y salida UACJ
Gestion entrada y salida UACJ
 
Administracion de E.S
Administracion de E.SAdministracion de E.S
Administracion de E.S
 
Administracion de e/s
Administracion de e/sAdministracion de e/s
Administracion de e/s
 
Entrada y Salida de un S.O
Entrada y Salida de un S.OEntrada y Salida de un S.O
Entrada y Salida de un S.O
 
Historia_de_los_Microprocesadores_Intel.pdf
Historia_de_los_Microprocesadores_Intel.pdfHistoria_de_los_Microprocesadores_Intel.pdf
Historia_de_los_Microprocesadores_Intel.pdf
 

Gestión de E/S, Planificación de Discos y Acceso Directo a Memoria

  • 1.
  • 2.
  • 3. El siguiente cuadro hace referencia, a las grandes diferencias entre las clases de dispositivos DISPOSITIVO COMPORTAMIENTO CLASIFICACION TASA KB/SEG. TECLADO Entrada Carácter 0,01 MOUSE &quot; &quot; 0,02 SCANNER &quot; &quot; 400 VOS (Salida) Salida &quot; 0,6 IMPRESORA (Línea) &quot; &quot; 1,0 IMPRESORA (Láser) &quot; &quot; 200
  • 4. MODEM Entrada / salida &quot; 2,0-8,0 RED LAN &quot; &quot; 500-6000 FLOPPY Almacenamiento Bloque 100 CD &quot; &quot; 1000 CINTA MAGNETICA &quot; &quot; 2000 DISCO MAGNETICO &quot; &quot; 2000-10000
  • 5.
  • 6. T. POSICIONAMIENTO + T. LATENCIA + T. TRANSFERENCIA (buffer- controlador) + T. CHECKSUM + T. TRANSFERENCIA (controlador-memoria) Normalmente el tiempo de CHECKSUM es despreciable. En algunos casos puede existir tiempos añadidos si la información del disco esta cifrada y el algoritmo de cifrado/descifrado lo incrementa el controlador, después de realizar el CHECKSUM el controlador deberá descifrar los datos. Características genéricas de los driver de disco son: A: MEJORA EL TIEMPO DE ACCESO. B: TRATAMIENTO DE ERRORES. A: MEJORA EL TIEMPO DE ACCESO T. ACCESO = T. POSICIONAMIENTO + T. LATENCIA + T. TRANFERENCIA De estos tres tiempos el más significativo es el de posicionamiento. Cuando el driver permite ir almacenando peticiones pendientes mientras se trata la actual, se intenta reducir el tiempo medio de posicionamiento aplicando un algoritmo que decida que petición de las pendientes atender primero.
  • 7.
  • 8.
  • 9.
  • 10. mediante un bus de E/S. Esto reduce a un numero de interfaces de E/S en el modulo de DMA y proporciona una configuración fácilmente ampliable. En todos los casos el bus del sistema que el modulo del DMA comparte con el procesador y la memoria principal es utilizado por el modulo DMA solo para intercambiar datos con la memoria y para intercambiar señales de control con la CPU. El intercambio de datos entre el modulo de DMA y el modulo de E/S tiene lugar fuera del bus del sistema. Diagrama de bloques de un DMA típico.
  • 11. Aspectos de diseño en los sistemas operativos Objetivos del diseño Hay dos objetivos primordiales en el diseño del servicio de E/S: Eficiencia y Generalidad. La Eficiencia es importante porque las operaciones de E/S constituyen, a menudo, un cuello de botella en los sistemas informáticos. Se pueden comprobar que la mayoría de los dispositivos de E/S son extremadamente lentos en comparación con la memoria principal y el procesador. Una manera de abordar este problema es el uso de la multiprogramación, que, se ha visto, permite que algunos procesos esperen en operaciones de E/S mientras otro proceso se esta ejecutando. El principal esfuerzo en el diseño de E/S ha sido crear esquemas que mejoren la eficiencia de la misma. El área que ha recibido mayor atención, debido a su importancia, ha sido la E/S a discos. El segundo gran objetivo es la Generalidad, será deseable gestionar todos los dispositivos de una manera uniforme. Esta afirmación se aplica tanto a la manera en que los procesos contemplan a los dispositivos de E/S como a la forma debido a la diversidad de característica de los dispositivos, en la practica es difícil conseguir una autentica generalidad. Estructura lógica de las funciones de E/S Una organización del sistema operativo en un conjunto de niveles, cada nivel realiza una parte de un subconjunto de las funciones necesarias del sistema operativo. Cada nivel cuenta con el nivel inferior para realizar funciones más primitivas y para ocultar los detalles de estas funciones. Asimismo, cada nivel ofrece servicios al nivel superior.
  • 12.
  • 13.
  • 14. Hay riesgo de interbloqueo con un solo proceso. Para evitar esta carga e incapacidad, a veces es conveniente llevar a cabo las transferencias de entrada por adelantado a las peticiones y realizar las transferencias de salida de un tiempo después de hacer la petición. Esta técnica se conoce con el nombre de almacenamiento intermedio (buffering). Para el estudio de los distintos métodos de almacenamiento intermedio, a veces es importante hacer una distinción entre dos tipos de dispositivos: los dispositivos orientados a bloque y los dispositivos orientados a flujo. Memoria intermedia sencilla Cuando un proceso de usuario realiza una solicitud de E/S, el sistema operativo le asigna a la operación un espacio en la parte del sistema de la memoria principal. Para los dispositivos orientados a bloque, el esquema de almacenamiento intermedio sencillo puede describirse como sigue. Las transferencias de entrada se realizan en el espacio del sistema. Cuando se ha completado la transferencia, el proceso mueve el bloque al espacio del usuario y solicita otro bloque inmediatamente. Este método proporciona una mayor velocidad en comparación con la ausencia de almacenamiento intermedio en el sistema. La lógica de intercambio se ve afectada: si la operación de E/S implica al mismo disco que se usa para intercambio, apenas importa poner en cola las grabaciones en el disco necesarias para expulsar al proceso. Este intento de expulsar al proceso y liberar memoria principal no comenzara hasta que la operación de E/S finalice, momento en que la expulsión del proceso al disco puede no ser ya apropiada.
  • 15. Para la E/S con dispositivos orientados a flujo, el esquema de memoria intermedia sencilla puede aplicarse por líneas o por bytes. La operación línea a línea es adecuada para terminales simples de desplazamiento, a veces llamados terminales <<tontos>>. La operación por bytes se utiliza en terminales de pantalla completa, donde cada tecla pulsada tiene su significado. Memoria intermedia doble Se puede realizar una mejora sobre la memoria intermedia sencilla asignando a la operación dos almacenes intermedios del sistema. De esta forma, un proceso puede transferir datos hacia (o desde) una memoria intermedia mientras que el sistema operativo vacía (o rellena) el otro. Esta técnica se conoce como memoria intermedia doble o memoria intermedia de intercambio. En la entrada orientada a flujo, se afronta de nuevo el problema de las dos alternativas de operación. Para la E/S de líneas, el proceso de usuario no tiene que ser suspendido para entrada o salida a menos que el proceso se adelante a la memoria intermedia doble. Para la operación con bytes, la memoria intermedia doble no ofrece ninguna ventaja con respecto a una memoria intermedia sencilla de doble tamaño. En ambos casos, se seguirá el modelo del productor/consumidor. Memoria intermedia circular Si preocupa el rendimiento de un proceso determinado, seria deseable que las operaciones de E/S fueran capaces de ir al ritmo del proceso.
  • 16. Si el proceso lleva a cabo rápidas ráfagas de E/S el problema puede mitigarse usando más de dos memorias intermedias. Cuando se emplean más de dos, el conjunto de memorias intermedias se conoce con el nombre de memoria intermedia circular. Cada memoria intermedia individual constituye una unidad de la memoria intermedia circular. Este es el modelo del productor/consumidor con una memoria intermedia limitada.  
  • 17. Planificación de discos En los últimos 30 años, el crecimiento en la velocidad de los procesadores y la memoria principal ha dejado muy atrás el de los accesos al disco. La velocidad del procesador y de la memoria se ha incrementado en dos órdenes de magnitud con respecto al disco. El resultado es que, actualmente, los discos son, por lo menos, cuatro veces más lentos que la memoria principal. Los subsistemas de almacenamiento en disco son de una importancia vital. Parámetros de rendimiento del disco Cuando la unidad de disco esta operando, el disco gira a una velocidad constante. Para leer o escribir la cabeza debe ponerse en la pista deseada, al comienzo del sector pertinente.
  • 18. En un sistema de cabezas móviles, el tiempo que se tarda en ubicar la cabeza en la pista se llama tiempo de búsqueda. Una vez que se ha seleccionado la pista, el controlador del disco esperara hasta que el sector apropiado se alinee con la cabeza en su rotación. El tiempo que tarda el comienzo del sector en llegar hasta la cabeza se conoce como retardo de giro, o latencia de giro. La suma de tiempo de búsqueda y el retardo de giro es el tiempo de acceso, es decir, el tiempo que se tarda en llegar a la posición de lectura o escritura. Una vez que la cabeza esta ubicada, se puede llevar a cabo la operación de lectura o escritura a medida que el sector se mueve bajo la cabeza; esta es la parte de transferencia real de datos de operación. Además del tiempo de acceso y del tiempo de transferencia, existen algunos retrasos en las colas que normalmente tienen asociadas una operación de E/S a disco. Cuando un proceso emite una solicitud de E/S, primero debe esperar en una cola a que el dispositivo este disponible. En ese momento, el dispositivo queda asignado al proceso. Si el dispositivo comparte un único canal de E/S o un conjunto de canales con otras unidades del disco, puede producirse una espera adicional hasta que el canal este disponible. En este punto se realizara la búsqueda con la que comienza el acceso al disco. Tiempo de búsqueda Es el tiempo necesario para mover el brazo del disco hasta la pista solicitada. El tiempo de búsqueda consta de dos componentes clave: el tiempo de arranque inicial y el tiempo que se tarda en recorrer las pistas, una vez que el brazo haya cogido velocidad. El tiempo de búsqueda medio en los discos actuales es de 5 a 10ms.
  • 19. Retardo de giro Los discos magnéticos, excepto los discos flexibles, tienen una velocidad de rotación que esta en el rango de 5400 a 10000 rpm; esta última equivale a una revolución cada 6 ms. Por lo tanto, a 10000 rpm, el retardo medio de giro será de 3 ms. Los discos flexibles giran mucho mas lentamente, generalmente entre 300 y 600 rpm. Por tanto, el retardo medio estará entre 100 y 200 ms. Tiempo de transferencia El tiempo de transferencia con el disco depende de la velocidad de rotación de la forma siguiente: T= b/rN Donde: T tiempo de transferencia b números de bytes a transferir N números de bytes por pista r velocidad de rotación en revoluciones por segundo Por tanto, el tiempo medio de acceso total puede expresarse como Ta = Ts + 1/2r + b/rN Donde T, es el tiempo de búsqueda.
  • 20. Políticas de planificación del disco Considérese una situación normal de un entorno de multiprogramación. Si se eligen los elementos de la cola en un orden aleatorio, se puede esperar que las pistas recorridas sigan también un orden aleatorio, obteniéndose el peor rendimiento posible. Esta planificación aleatoria es útil como medida comparativa para evaluar otras técnicas. La manera más sencilla de planificación seria la de primero en entrar, primero en salir (FIFO), lo que significa que los elementos se procesan de la cola en un orden secuencial. Esta estrategia tiene la ventaja de ser justa porque las solicitudes son servidas en el orden en que llegaron. Con la técnica FIFO, si hay pocos procesos que requieren acceso y si muchas de las solicitudes son a sectores agrupados de un archivo, se puede esperar un buen rendimiento. Sin embargo, el rendimiento de esta técnica se parece a menudo al de la planificación aleatoria si hay muchos procesos compitiendo por el disco. Así, puede ser más beneficioso considerar una política de planificación más sofisticada. Prioridad Los trabajos por lotes que sean cortos y los trabajos interactivos reciben frecuentemente una prioridad más alta que trabajos mayores que realizan largas operaciones. Esta práctica permite que el sistema haga salir más rápidamente a muchos trabajos cortos y pueda proporcionar un buen tiempo de respuesta interactiva.
  • 21. Ultimo en entrar, primero en salir (LIFO) En los sistemas de proceso de transacciones, conceder el dispositivo al último usuario acarrea pocos o nulos movimientos del brazo al recorrer un archivo secuencial. El provecho de esta cercanía mejora la productividad y reduce la longitud de las colas. A medida que un trabajo utiliza de forma activa el sistema de archivos, va procesándose tan rápido como es posible. Una vez que un trabajo haya lanzado una solicitud de E/S a la cola y haya abandonado la cabeza de la línea, no podrá volver a ganar la cabeza de la línea a menos que se vayan todos los que estén por delante. Con la política FIFO, la de prioridades y el esquema LIFO (ultimo en entrar, primero en salir) la planificación se fundamenta únicamente en los atributos de la cola o del proceso demandante. Primero el tiempo de servicio más cortó La política de <<primero el tiempo de servicio mas corto>> (SSTF, Shortest Service Time First) es elegir la solicitud de E/S a disco que requiera el menor movimiento posible del brazo del disco desde su posición actual. Esta elección debe ofrecer un rendimiento mejor que el del FIFO. Ya que el brazo puede moverse en ambos sentidos, se puede usar un algoritmo aleatorio de desempate para resolver los casos de igualdad de distancias. Scan Con la excepción del FIFO, todas las políticas descritas hasta ahora pueden dejar alguna solicitud incumplida hasta que se vacié la cola entera.
  • 22. Con el SCAN, el brazo solo se puede mover en un sentido, resolviendo todas las solicitudes en esa dirección. Esta última mejora se conoce a veces como política de LOOK. Se cambia entonces la dirección de servicio y el rastreo sigue en sentido opuesto, volviendo a recoger todas las solicitudes en orden. C-SCAN La política del C-SCAN (SCAN circular) restringe el rastreo a una sola dirección. Así, cuando se haya visitado la ultima pista en un sentido, el brazo vuelve al extremo opuesto del disco y comienza a recorrerlo de nuevo, lo que reduce el retardo máximo sufrido por las nuevas solicitudes. SCAN de N pasos y FSCAN Con SSTF, SCAN y C-SCAN, es posible que el brazo no se mueva durante un periodo de tiempo considerable. Por ejemplo, si uno o varios procesos tienen altos porcentajes de acceso a una pista, pueden monopolizar el dispositivo entero por medio de solicitudes repetidas a dicha pista. Para evitar esta <<pegajosidad>> del brazo, la cola de solicitudes del disco puede dividirse en segmentos, procesándose un segmento por completo cada vez. Dos ejemplos de este método son el SCAN de N pasos y el FSCAN. La política del SCAN de N pasos divide la cola de solicitudes en subcolas de longitud N. Las subcolas se procesan una a una mediante un SCAN. Mientras se procesa una cola, se añadirán nuevas solicitudes a las otras. Si hay menos de N solicitudes disponibles al final del recorrido, entonces todas serán procesadas en el siguiente recorrido. Para valores grandes de N, el rendimiento del SCAN de N pasos se aproxima al del SCAN; con un valor de N—1, se esta adoptando la política FIFO.
  • 23. La política FSCAN emplea dos subcolas. Cuando comienza un rastreo, todas las solicitudes están en una de las colas y la otra pertenece vacía. Durante el recorrido, todas las solicitudes nuevas se colocan en la cola que inicialmente estaba vacía. De este modo, el servicio de nuevas solicitudes se retrazara hasta que se hayan procesado las viejas NOMBRE DESCRIPCION COMENTARIOS Selección en función del demandante RSS Planificación aleatoria. Para análisis y simulación. FIFO Primero en entrar, primero en salir. El más justo de todos. PRI Prioridad del proceso. El control se lleva fuera de la gestión de la cola del disco. LIFO Último en entrar último en salir. Maximiza uso de recursos y cercanías. Selección en función del elemento solicitado SSTF Primero el más cortó. Gran aprovechamiento y colas pequeñas. SCAN Recorre el disco de un lado a otro. Mejor distribución del servicio. C-SCAN Recorre el disco en un solo sentido. Menor variabilidad en el servicio. SCAN de N-pasos Scan de N registros a la vez. Garantía de servicio. F-SCAN Scan de N pasos, con N = longitud de la cola al comienzo del ciclo del Scan. Sensible a la carga.
  • 24.
  • 25. Esto tiene una notable ventaja sobre el uso de un solo gran disco: si hay pendientes dos solicitudes de E/S distintas de dos bloques de datos diferentes, entonces existe una buena oportunidad para que los bloques solicitados estén en discos diferentes. De este modo, se pueden realizar en paralelo las dos solicitudes, reduciendo el tiempo en la cola de E/S. Todos los usuarios y los datos del sistema se ven como si estuviesen almacenados en un disco lógico. Este disco esta dividido en bandas (strip); estas bandas pueden ser bloques físicos, sectores o alguna otra unidad. Las bandas se asignan, mediante turno rotatorio, a miembros consecutivos del vector. Un conjunto de bandas consecutivas lógicamente que se corresponden exactamente con una banda de cada miembro del vector, se denomina franja (stripe). En un vector de n discos, las primeras n bandas lógicas, están físicamente almacenadas como la primera banda de cada uno de los n discos, y forman la primera franja; las segundas n bandas están distribuidas como las segundas bandas de cada disco; y así sucesivamente. La ventaja de esta disposición es que si una única solicitud de E/S esta formada por múltiples bandas contiguas lógicamente, entonces las n bandas de esa solicitud puede gestionarse en paralelo, reduciendo enormemente el tiempo de transferencia de E/S. RAID 0 para alta capacidad de transferencia de datos Para que las aplicaciones experimenten una alta tasa de transferencia se deben cumplir dos requisitos. Primero, una alta capacidad de transferencia debe existir a lo largo de todo el camino entre la memoria de la maquina central y las unidades de discos individuales. Esto incluye a los buses de control internos, buses de E/S del sistema central, adaptadores de E/S y buses de memoria de la maquina central. El segundo requisito es que la aplicación debe hacer solicitudes de E/S que utilicen eficientemente el vector de discos. Este requisito se cumple si la solicitud típica es de grandes cantidades de datos contiguos lógicamente, comparada con el tamaño de una banda. En este caso, una única solicitud de
  • 26.
  • 27.
  • 28. En RAID 2, se calcula un código de corrección de errores a lo largo de los bits del código se almacenan en las respectivas posiciones de bit sobre discos de paridad múltiple. Normalmente, se utiliza código Hamming, que es capaz de corregir errores de un solo bit y detectar errores de dos bit. Aunque RAID 2 requiere menos discos que RAID 1, el coste es todavía algo alto. El número de discos redundantes es proporcional al logaritmo del número de discos de datos. En una lectura, se accede a todos los discos simultáneamente. Los datos solicitados y el código de corrección de errores asociado se comunican al controlador del vector de discos. Si existe un error de un solo bit, el controlador puede reconocer y corregir el error instantáneamente, por lo que no disminuye el tiempo de acceso. En una escritura, para poder escribir se tiene que acceder a todos los discos de datos y a todos los discos de paridad. RAID 2 solamente seria una elección eficiente en un entorno efectivo en el que se produjeran muchos errores de disco. Dada la alta fiabilidad de los discos y de las unidades de disco, RAID 2 esta superado y no se implementa. NIVEL RAID 3 RAID 3 se organiza de una forma similar a RAID 2. La diferencia es que RAID 3 requiere solo un disco redundante. RAID 3 emplea acceso paralelo, con los datos distribuidos en pequeñas bandas. En lugar de un código de corrección de errores, se calcula un solo bit de paridad para el conjunto de bits en la misma posición de todos los discos de datos. Redundancia En el caso de un fallo de disco, se accede a la unidad de paridad y se reconstruyen los datos desde los dispositivos restantes. Una vez que se reemplaza la unidad fallida, se pueden restaurar sobre una nueva unidad los datos perdidos y continuos el funcionamiento.
  • 29. Rendimiento Teniendo en cuenta que los datos están divididos en pequeñas bandas, RAID 3 puede conseguir una tasa de transferencia de datos muy alta. NIVEL RAID 4 Los niveles RAID 4 a 6 usan una técnica de acceso independiente. En un vector de acceso independiente, cada disco opera independientemente, por lo que se pueden satisfacer en paralelo solicitudes de E/S individuales. Son mas apropiados para aplicaciones que requieran tasas altas de solicitudes de E/S, y son relativamente menos apropiados para aplicaciones que requieren tasas altas de transferencia de datos. En el caso de RAID 4 hasta 6, las bandas son relativamente grandes. Con RAID 4, se calcula una banda dela paridad bit a bit a lo largo de las bandas correspondientes de cada disco de datos, y los bits de paridad se almacenan en la banda correspondiente del disco d paridad. RAID 4 implica una penalización d escritura cuando se realiza una solicitud de E/S para escribir poco. Cada vez que se produce una escritura, el software que gestiona el vector de discos debe actualizar no solo los datos del usuario, sino también los bits de paridad correspondientes. NIVEL RAID 5 RAID 5 esta organizado de forma similar a RAID 4. La diferencia es que RAID 5 distribuye las bandas de paridad a través de todos los discos. Una asignación normal es un esquema de turno rotatorio. Para un
  • 30. vector de n discos, la banda de prioridad esta sobre un disco distinto para las n primeras bandas y, después, se repite el patrón. La distribución de las bandas de paridad a través de todos los discos evita el potencial cuello de botella en la E/S del sistema RAID 4 que tiene solo un disco de paridad. NIVEL RAID 6 En el esquema RAID 6, se realizan dos cálculos distintos de paridad, y se almacenas en bloques independientes de diferentes discos. Así, un vector RAID 6 cuyos datos de usuario requieren N discos esta formado por N + 2 discos. La ventaja de RAID 6 es que ofrece una disponibilidad de datos extremadamente alta. Deberían fallar tres discos en el intervalo MTTR (Mean Time To Repair, Tiempo Medio de Reparación) para hacer que los datos no estuvieran disponibles. Por otro lado, RAID 6 sufre una importante penalización de escritura, porque cada escritura afecta a dos bloques de paridad. CACHE DE DISCO Una cache de disco es una memoria intermedia (buffer) situada en la memoria principal para sectores de disco. La cache contiene una copia de algunos sectores del disco. Se hace una solicitud de E/S para un sector especifico, se comprueba si el sector esta en el cache del disco. Si es así, la solicitud se satisface con la cache. Si no, se lee el sector solicitado del disco y se coloca en la cache. Debido al concepto de cercanía de referencias, cuando se traiga un bloque de datos a la cache para satisfacer una solicitud de E/S, será probable que se produzcan referencias futuras al mismo bloque.
  • 31. CONSIDERACIONES SOBRE EL DISEÑO En primer lugar, cuando una solicitud de E/S se satisface desde la cache de disco, los datos de la misma deben entregarse al proceso que los solicito. La entrega puede hacerse transfiriendo el bloque de datos de la memoria principal, desde la cache del disco a la memoria asignada al proceso de usuario, o simplemente usando la capacidad de la memoria compartida y pasando un puntero a la entrada apropiada de la cache del disco. Una segunda cuestión de diseño tiene que ver con la estrategia de reemplazo. Cuando se trae un nuevo sector a la cache del disco, debe ser reemplazado uno de los bloques existentes. El algoritmo más usado es LRU (Usado Menos Recientemente), en el que se reemplaza el bloque que ha permanecido sin referencias en la cache durante más tiempo. Lógicamente, la cache esta formada por una pila de bloques, con el bloque referenciado mas recientemente en la cima de la pila. Cuando se hace referencia a un bloque de la cache, se le mueve desde su posición actual en la pila de la cima de esta. Cuando se trae un bloque de la memoria secundaria, se elimina el bloque que esta en el fondo de la pila, colocando al recién llegado en la cima de la pila. Otra posibilidad es el algoritmo Usado Menos Frecuentemente (LFU), donde se sustituye el bloque de la cache que ha sufrido un menor número de referencias. El algoritmo LFU podría implementarse asociando un contador a cada bloque. Cuando se trae un bloque, se le asigna el valor de 1; con cada referencia al bloque, se incrementa el contador en una unidad. Cuando hace falta un reemplazo, se selecciona el bloque con menor valor del contador.
  • 32. LFU tiene el siguiente problema. Puede ser que se haga referencia a ciertos bloques con poca frecuencia, pero que cuando se haga se produzcan intervalos cortos de referencias repetidas, debido a la cercanía, obteniéndose así grandes valores del contador de referencias. Tras este intervalo, el valor del contador de referencias puede ser engañoso y no reflejar la probabilidad de que el bloque sea referenciado nuevamente. De este modo, el efecto de la cercanía puede originar que el algoritmo LFU realice malas elecciones en el reemplazo. Para superar esta dificultad del LFU se propone una técnica conocida como reemplazo en función de la frecuencia. Los bloques están organizados lógicamente en una pila, como en el algoritmo LRU. Una parte determinada de la cima de la pila se reserva como una sección nueva. Cuando se acierta en el cache, el bloque referenciado se traslada a la cima de la pila. Si el bloque ya estaba en la sección nueva, su contador de referencias no se incrementara; en otro caso, se incrementa en 1. Con una sección nueva suficientemente grande, el resultado de este procedimiento es que el contador de los bloques referenciados repetidamente en un corto intervalo de tiempo permanece inalterado. Si se produce una falta, se elegirá para reemplazo el bloque con el menor valor del contador de referencias y que no este en la sección nueva; en caso de empate, se elegirá el bloque usado menos recientemente. Los autores comentan que con su estrategia solo se consiguió una leve mejora sobre LRU. Una mejora adicional dirigida a este problema es dividir la pila en tres secciones: nueva, media y antigua. Como antes, las cuentas de referencias no se incrementan en los bloques de la sección nueva. Sin embargo, solo los bloques de la sección antigua serán candidatos para el reemplazo. Disponiendo de una sección media suficientemente grande, a los bloques referenciados más o menos frecuentemente se les da la oportunidad de aumentar sus contadores de referencias antes de ser candidatos al reemplazo. Es significadamente mejor que una simple LRU o LFU.
  • 33. Consideraciones sobre el rendimiento El tema de rendimiento de la cache se ve reducido a la cuestión de si se puede alcanzar una determinada tasa de faltas. Esto dependerá del comportamiento de la cercanía de las referencias al disco, el algoritmo de reemplazo y otros factores de diseño. Sin embargo, la tasa de faltas es principalmente función del tamaño de la cache de disco. Utilizan LRU, uno para un sistema UNIX ejecutando sobre un VAX, grandes maquinas IBM. Cuando se comparan pautas de referencia idénticas que emplean la misma estructura de cache, el algoritmo de reemplazo en función de la frecuencia es superior. E/S EN UNIX SVR4 En UNIX, cada dispositivo particular de E/S tiene asociado un archivo especial, gestionado por el sistema de archivos, del que se lee y se escribe de la misma forma que los archivos de datos del usuario. Así se ofrece una interfaz uniforme y bien definida con los usuarios y los procesos. Para leer o escribir en un dispositivo, se realizaran solicitudes de lectura o escritura al archivo especial asociado con el dispositivo. En UNIX hay dos tipos de E/S: amortiguada y no amortiguada. La E/S amortiguada aprovecha los buffers del sistema, mientras que la no amortiguada utiliza DMA, realizando directamente la transferencia entre el modulo de E/S y la zona de E/S del proceso. Con E/S amortiguada se pueden usar dos clases de memorias intermedias: sistema de memoria cache y colas de caracteres. Cache de buffer La cache de buffer en UNIX es esencialmente una cache de disco. Las operaciones de E/S con el disco se gestionan a través de la cache de buffer. La transferencia de datos entre la cache de buffer y el espacio de usuario del proceso siempre se produce mediante DMA. Como la cache de buffer y la zona de E/S del proceso
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42. Esto da lugar a una organización de datos sobre el plato en un conjunto de anillos concéntricos, llamados pistas. Cada pista tiene la misma anchura que la cabeza y existen miles de pistas por superficie. La figura representa este esquema de datos. Las pistas adyacentes son separadas por huecos (gaps). Esto previene, o al menos minimiza, los errores debidos a la perdida de alineamiento de la cabeza o, simplemente, a una interferencia de los campos magnéticos. Para simplificar la electrónica, normalmente se almacena el mismo número de bits en cada pista. Así la densidad, en bits por pulgada, aumenta al moverse de la pista más externa a la más interna. Los datos son transferidos a y desde en disco en bloques. Estos son más pequeños que la capacidad de la pista. Los datos se almacenan en regiones del tamaño de un bloque llamadas sectores y estos pueden ser de longitud fija o variable. La mayoría de las unidades de disco usa un sector fijo de 512 bytes de tamaño. Es necesario algún medio para localizar la posición de los sectores dentro de una pista. Evidentemente debe haber algún punto de comienzo de la pista y una forma de identificar el inicio y el final de cada sector. Estos requisitos están gestionados por medio de los datos de control grabados sobre el disco. Así, se da formato al disco con algunos datos extra usados solamente por el controlador de disco y no accesibles para el usuario. Características físicas Principales características que diferencian los distintos tipos de discos magnéticos: En un disco de cabeza fija, hay una cabeza de lectura/escritura por pista. Todas las cabezas están dispuestas sobre un brazo rígido que se extiende a través de todas las pistas. En un disco de cabeza móvil, hay solamente una cabeza de lectura/escritura que también esta montada sobre un brazo. Puesto que la cabeza debe ser capaz de situarse sobre cualquier pista, el brazo puede extenderse o retraerse para el propósito.
  • 43. Un disco no-extraíble esta permanentemente montado en la unidad de disco. Un disco extraíble puede ser retirado y reemplazado por otro disco. Ese disco puede llevarse de un sistema informático a otro. La mayoría de los discos tienen la cubierta magnética aplicada a ambas superficies del plato, que entonces se denomina doble cara. Algunos sistemas de disco más baratos usan discos de una sola cara. Algunas unidades de disco disponen de platos múltiples apilados verticalmente separados por una pulgada aproximadamente. Estas unidades disponen de múltiples brazos. Los platos se presentan como una unidad denominada paquete de discos. Los múltiples platos del disco emplean una cabeza móvil con una cabeza de lectura/escritura por cada superficie. Todas las cabezas son mecánicamente fijas así que todas están a la misma distancia del centro del disco y se mueven juntas. Así, en cualquier momento, todas las cabezas están situadas sobre pistas en la misma distancia del centro del disco. La combinación de todas las pistas en la misma posición relativa sobre el plato se denomina cilindro. El mecanismo ofrece una clasificación de discos en tres tipos. Tradicionalmente, las cabezas de lectura/escritura están situadas a una distancia fija por encima del plato, permitiendo un hueco de aire. En el otro extremo hay un mecanismo de cabeza que realmente entra en contacto físico con el medio durante una operación de lectura o escritura. Este mecanismo se usa con los discos flexibles, que son un tipo de disco pequeño, flexible y más barato. Para entender el tercer tipo de disco, es necesario comentar la relación entre la densidad de datos y el tamaño del hueco de aire. La cabeza debe generar o sentir un campo electromagnético de suficiente magnitud. Cuanto más estrecha es la cabeza, mas cerca debe estar de la superficie del plato para poder funcionar. Cuanto más cerca esta la cabeza del disco, mayor es el riego de un error por impurezas o imperfecciones. Se desarrollo el disco Winchester, en este disco las cabezas se utilizan en una unidad sellada que esta casi libre de contaminantes. Están diseñadas para operar mas cerca de la superficie del disco que las cabezas de los discos rígidos convencionales, permitiendo así mayor densidad de datos.
  • 44. La cabeza, realmente, esta en una lamina aerodinámica que descansa ligeramente sobre la superficie del plato cuando el disco esta inmóvil. La presión de aire generada por el disco al girar es suficiente para hacer que la lámina se eleve por encima de la superficie. Memorias ópticas En 1983, se introdujo uno de los más exitosos productos comerciales de todos los tiempos: el sistema digital de audio en disco compacto (CD, Compact Disk). El CD es un disco que no se puede borrar y que puede almacenar más de 60 minutos de información audio sobre una cara. El enorme éxito comercial del CD permitió el desarrollo dela tecnología a bajo coste para el almacenamiento en discos ópticos, lo que ha revolucionado el almacenamiento de datos en las computadoras. Se han introducido varios sistemas de disco óptico. CD-ROM Tanto el CD audio como el CD-ROM (Compact Disk Read-Only Memory, Disco Compacto con Memoria de Solo Lectura) comparten una tecnología similar. La principal diferencia es que los reproductores de CD-ROM son más robustos y tienen dispositivos de corrección de errores que aseguran que se transfieren correctamente los datos desde el disco al computador. Ambos discos se fabrican de la misma forma. El disco esta formado de una resina, como el policarbonato, y están forrados de una superficie altamente reflectante, normalmente aluminio. La información grabada digitalmente se imprime en forma de una serie de surcos microscópicos sobre la superficie reflectante. Esto hace, antes de nada, con un láser de alta intensidad y de foco muy fino para crear un disco maestro. El disco maestro se usa, por turnos, para hacer un molde con el que estampar las copias. La superficie surcada de las copias se protege contra el polvo y los roces con una capa de laca transparente.
  • 45.
  • 46.
  • 47.
  • 48. Reproduce películas con una calidad de imagen impresionante, y se dispone de acceso aleatorio como en los CD de audio, que también pueden reproducir las maquinas de DVD. En un disco se pueden apiñar enormes cantidades de datos, en la actualidad siete veces más que un CD-ROM. Con la enorme capacidad de almacenamiento y de alta calidad de los DVD, los juegos de PC. Pueden llegar a ser mucho más realistas y el software educativo incorporara más videos. Estas son algunas de las características destacables de un DVD que le distinguen del CD-ROM: Un DVD estándar contiene 4,7 Gbytes por nivel y con una cara de dos niveles alcanza los 8,5 Gbytes. El DVD utiliza un tipo de comprensión de video conocido como MPEG para imágenes de alta calidad en pantalla completa. Un solo nivel de DVD puede almacenar una película de 2 horas y 13 minutos, mientras dos niveles pueden contener una película de más de 4 horas. Discos magneto-ópticos Una unidad de disco magneto-óptica (MO) usa un láser óptico par enfocar la cabeza magnética de grabación para poder alcanzar capacidades mayores. En este esquema, el disco esta recubierto con un material cuya polaridad se puede alterar solo a altas temperaturas. La información se escribe en el disco usando el láser para calentar un pequeño punto de la superficie y, después, se aplica un campo magnético. Cuando el punto se enfría, el campo adopta una polaridad norte-sur. Puesto que el proceso de polarización no produce un cambio físico de disco, el proceso se puede repetir muchas veces.
  • 49. La operación de lectura es puramente óptica. La dirección del magnetismo se puede detectar por un haz de luz láser polarizado. La luz polarizada reflejada desde un punto concreto cambiara su grado de rotación dependiendo de la orientación de los campos magnéticos. La principal ventaja de la unidad MO sobre un CD óptico puro es la longevidad de los discos. Repetidas grabaciones de datos sobre un disco óptico producen una degradación paulatina del material. La unidad MO no sufre esta degradación, se mantiene útil a lo largo de múltiples operaciones de escritura. Otra ventaja es que tiene un coste por megabyte considerablemente menor que el almacenamiento magnético.