Gestión de Entrada y Salida

17,797 views

Published on

Todo lo concerniente a gestiones de entrada y salida en sistemas operativos

2 Comments
3 Likes
Statistics
Notes
  • Por si quieren verlo, les dejo un video muy bueno relacionado con este tema.
    http://www.youtube.com/watch?v=vBrWp3giv5w&feature=plcp
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • muuy bien, muchas gracias :)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
17,797
On SlideShare
0
From Embeds
0
Number of Embeds
107
Actions
Shares
0
Downloads
341
Comments
2
Likes
3
Embeds 0
No embeds

No notes for slide

Gestión de Entrada y Salida

  1. 1. Gestión de E/S y Planificación de Discos <ul><li>Una área clave de la E/S es el almacenamiento intermedio (buffering). Uno de los servicios </li></ul>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 <ul><li>Dispositivos legibles por los humanos: apropiados para la comunicación con el usuario, como por ejemplo terminales de video, teclado, etc. </li></ul><ul><li>Dispositivos legibles por la maquina: adecuado para comunicarse con el equipo electrónico, como discos, unidad de cinta, etc. </li></ul><ul><li>Dispositivos de comunicaciones: apropiados para la comunicación con dispositivos lejanos por ejemplo adaptadores de líneas digitales y MODEM. </li></ul>Existen grandes diferencias entre las clases de dispositivos, entre las diferencias principales están las siguientes: <ul><li>Velocidad de los datos: puede haber una diferencia de varios orden de magnitud en las velocidades de transmisión de datos. </li></ul><ul><li>Aplicaciones: La utilidad que se le da a un dispositivo tiene una gran influencia en el software y en las políticas del sistema operativo y de apoyo. </li></ul>
  2. 2. <ul><li>Complejidad del control: Una impresora necesita una interfaz de control relativamente simple. Un disco es mucho mas complejo. La lógica del modulo de E/S que controla el dispositivo filtra, hasta cierto punto, el efecto de estas diferencias sobre el sistema operativo. </li></ul><ul><li>Unidad de transferencia: Los datos pueden transferirse como flujos de bytes o caracteres (por ejemplo E/S a terminales) o en bloques mayores ( por ejemplo E/S a discos). </li></ul><ul><li>Representación de los datos: en diferentes dispositivos se emplean diferentes esquemas de codificación de datos, incluidas las diferencias en los códigos de caracteres y los convenios de prioridad. </li></ul><ul><li>Condiciones de error: La naturaleza de los errores, la manera en que se informa sobre ellos, sus consecuencias y el rango disponible e respuestas difieren ampliamente en un dispositivo a otro. </li></ul>
  3. 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. 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. 5. Organización de las funciones de las E/S: existen tres técnicas para realizar las E/S <ul><li>E/S programada: el procesador emite una orden de E/S de parte de un proceso a un modulo de E/S; el proceso espera entonces a q termine la operación, antes de seguir. </li></ul><ul><li>E/S dirigida por interrupciones: el procesador emite una orden de E/S de parte de un proceso, continua la ejecución de las instrucciones siguientes y el modulo de E/S lo interrumpe cuando completa su trabajo. </li></ul><ul><li>Acceso directo a la memoria (DMA): un modulo de DMA controla el intercambio de datos entre la memoria principal y un modulo de E/S. El procesador envía una petición de transferencia de un bloque de datos al modulo de DMA y se interrumpe solo cuando se ha transferido el bloque entero. </li></ul>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:
  6. 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. 7. 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: <ul><li>Errores de programación : El driver le indica al controlador que una pista, cilindro, sector que no existe o una dirección de memoria invalida. El controlador al detectar el error lo trasmite al driver. Este avisa al SW E/S independiente. </li></ul><ul><li>Errores de posicionamiento : Este error se produce por errores mecánicos del brazo de l ectura / escritura . El controlador de disco mantiene internamente cual es la posición del brazo de lectura / escritura en cada momento. </li></ul>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)
  8. 8. <ul><li>Errores en el controlador de disco : puede darse la situación que el controlador se niegue a aceptar comandos del driver, en este caso el driver debe recetar el controlador. </li></ul>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: <ul><li>Si se solicita una lectura o una grabación, utiliza una línea de control de lectura o escritura entre el procesador y el modulo DMA. </li></ul><ul><li>Comunica la dirección del dispositivo de E/S involucrado, mediante la línea de datos. </li></ul><ul><li>Comunica la ubicación de comienzo de la lectura o de escritura en la memoria mediante la línea de datos y queda almacenada en el registro de contador de datos. </li></ul>
  9. 9. <ul><li>Comunica el número de palabras a leer o escribir nuevamente mediante las líneas de datos y queda almacenada en el registro de contador de datos. </li></ul>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
  10. 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. 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. 12. 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: <ul><li>E/S lógica : El modulo de E/S lógica se ocupa de la gestión de funciones generales de E/S solicitadas por los procesos de usuario, permitiéndoles gestionar el dispositivo mediante un identificador y ordenes simples como Abrir, Cerrar, Leer y Escribir. </li></ul><ul><li>E/S con dispositivos : Las operaciones solicitadas y los datos (caracteres almacenados, registros, etc.) se convierten en secuencias adecuadas a instrucciones de E/S y ordenes para el canal y e controlador. </li></ul><ul><li>Planificación y control : la actual planificación y puesta en cola de las operaciones de E/S ocurren en este nivel, así como el control de las operaciones. Así, las interrupciones se gestionan en este nivel, y se averigua e informa sobre el estado de la E/S. Este es el nivel del software que realmente interacciona con el modulo de E/S y por tanto, con el hardware del dispositivo. </li></ul>
  13. 13. 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: <ul><li>Gestión de los directorios : en este nivel, se traducen los nombres simbólicos de archivos a identificadores que hacen referencia directamente al archivo o indirectamente, a través de un descriptor de archivo o índice en una tabla. </li></ul><ul><li>Sistemas de archivos : este nivel se encarga de la estructura lógica de los archivos y las operaciones que pueden especificar los usuarios, se gestionan los derechos de acceso. </li></ul><ul><li>Organización física : del mismo modo que las direcciones virtuales de la memoria deben convertirse en direcciones físicas de la memoria principal, teniendo en cuenta la estructura de paginas o segmentos, las referencias lógicas a los archivos y registros deben convertirse en direcciones físicas del almacenamiento secundario, teniendo en cuenta la estructura en sectores y pistas físicas del dispositivo del almacenamiento secundario. La asignación de espacio de almacenamiento secundario y de las memorias intermedias (buffer) de almacenamiento principal también se trata en este nivel. </li></ul>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.
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 24. 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: <ul><li>RAID es un conjunto de unidades de disco físico vistas por el sistema operativo como una sola unidad lógica. </li></ul><ul><li>Los datos están distribuidos a través de las unidades físicas del vector. </li></ul><ul><li>La capacidad del disco redundante se utiliza para almacenar información de paridad, que garantiza la recuperabilidad de datos en caso de fallo del disco. </li></ul>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.
  25. 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. 26. 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: <ul><li>Una solicitud de lectura la puede servir cualquiera de los dos discos que contienen los datos solicitados y que suponga menor tiempo sumando el de la búsqueda y la latencia de giro. </li></ul>
  27. 27. <ul><li>Una solicitud de escritura requiere la actualización de las bandas correspondientes a ambos discos, pero esto se puede hacer en paralelo. No hay <<penalización de escritura>> en RAID 1. Los niveles RAID 2 a 6 implican el uso de bits de paridad. Sin embargo, cuando se actualiza solo una banda, el software de gestión del vector de discos debe primero calcular y actualizar los bits de paridad, además de actualizar la banda real en cuestión. </li></ul><ul><li>La recuperación de un fallo es sencilla. Cuando una unidad falla, los datos están todavía accesibles desde la segunda unidad. </li></ul>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.
  28. 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. 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. 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. 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. 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. 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. 34. 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: <ul><li>Lista de libres: lista de todas las entradas de la cache que están disponibles para asignación (en UNIX, una <<entrada>> se refiere a un buffer; cada entrada almacena un sector de disco). </li></ul><ul><li>Lista de dispositivos: lista de todos los buffers que están asociados actualmente a cada disco. </li></ul><ul><li>Cola del sector de E/S: lista de buffers que someten o esperan a la E/S con un dispositivo determinado. </li></ul>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.
  35. 35. 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 <ul><li>UNIX reconoce las cinco clases de dispositivos siguientes: </li></ul><ul><li>Unidades de disco </li></ul><ul><li>Unidades de cinta </li></ul><ul><li>Terminales </li></ul><ul><li>Líneas de comunicación </li></ul><ul><li>Impresoras </li></ul>
  36. 36. 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 : <ul><li>Gestor de cache : el gestor de cache gestiona por completo el subsistema de E/S. el gestor de cache ofrece un servicio de caches en la memoria principal para todos los sistemas de archivos y componentes de red. El tamaño de la cache se puede aumentar y disminuir debido a una actividad especial como la variada cantidad de memoria física disponible. </li></ul><ul><li>Escritura retardada : el sistema actualiza los registros en la cache solamente y no en el disco. Mas tarde, </li></ul><ul><li>cuando la demanda del procesador es baja, el gestor de cache escribe los cambios en el disco. Si un bloque </li></ul><ul><li>particular de la cache se actualiza mientras tanto, hay un ahorro en la red. </li></ul>
  37. 37. <ul><li>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: </li></ul><ul><li>Controlador del sistema de archivos : el gestor de E/S trata al controlador del sistema de archivos como otra unidad de dispositivos y encamina los mensajes para ciertos volúmenes a controladores de software adecuados para ese adaptador de dispositivo. </li></ul><ul><li>Controlador del sistema de archivos : el gestor de E/S trata al controlador del sistema de archivos como otra unidad de dispositivos y encamina los mensajes para ciertos volúmenes a controladores de software adecuados para ese adaptador de dispositivo. </li></ul><ul><li>Controladores de dispositivos de hardware : estos controladores acceden a los registros hardware de los dispositivos periféricos a través de puntos de entrada en Las bibliotecas de enlace dinámico del ejecutor de W2K. Existe un conjunto de estas rutinas para cada plataforma que soporta W2K; debido a que los nombres de las rutinas son los mismos para todas las plataformas, el código fuente de los controladores de los dispositivos de W2K es transferible entre los distintos tipos de procesadores. </li></ul>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.
  38. 38. 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: <ul><li>Señalizar un objeto dispositivo del núcleo : con este método, se activa un indicador asociado a un objeto dispositivo cuando una operación sobre ese objeto finaliza. El hilo que llama a la operación de E/S puede continuar la ejecución hasta que alcanza un punto donde debe parar hasta que la operación de E/S termine. En este punto, el hilo puede esperar hasta que termina la operación y, entonces, continuar. Esta técnica es sencilla y fácil de usar pero no apropiada para gestionar múltiples solicitudes de E/S. </li></ul><ul><li>Señalizar un objeto suceso del núcleo : esta técnica permite múltiples solicitudes de E/S simultáneas contra un solo dispositivo o archivo. El hilo crea un suceso para cada solicitud. Mas tarde, el hilo puede esperar a una sola de estas solicitudes o a todo el conjunto de solicitudes. </li></ul><ul><li>E/S alertable : esta técnica hace uso de una cola asociada a un hilo, conocida como cola de Llamada a Procedimiento Asíncrono (APC). En este caso, el hilo hace solicitudes de E/S y el gestor de E/S sitúa los resultados de estas solicitudes en la cola APC de los hilos llamadores. </li></ul><ul><li>Puertos de finalización de E/S : esta técnica se utiliza en W2K Server para optimizar el uso de hilos. En esencia, hay una reserva de hilos disponibles para su uso, así que no es necesario crear un nuevo hilo para gestionar una nueva solicitud. </li></ul>
  39. 39. SOFWARWE RAID <ul><li>W2K soporta dos clases de configuraciones RAID: </li></ul><ul><li>RAID de hardware: discos físicos independientes combinados en uno o más discos lógicos por medio del controlador de disco o un hardware de armario de almacenamiento en disco. </li></ul><ul><li>RAID de software: espacio de disco no contiguo combinado en una o más particiones lógicas por el controlador de disco del software de tolerancia a fallos, FTDISK. </li></ul>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: <ul><li>Fiabilidad , ofrece una fiabilidad del 99.999, es decir menos de 6 minutos de parada al año. </li></ul><ul><li>Escalabilidad , permite crear Clusters de hasta 32 nodos admitiendo hasta 32 procesadores por servidor. </li></ul><ul><li>Rendimientos , la plataforma Windows 2000, junto con la familia de servidores Microsoft dispone de los mejores registros en el ranking de rendimiento de transacciones por minuto TPC (Transaction Processing Council). </li></ul>
  40. 40. <ul><li>Costes , los costes de las Sistemas informáticos basados en tecnología Microsoft son mucho más bajos que cualquier otro en todos los aspectos (Personal técnico, hardware necesario, desarrollo del proyecto, manejabilidad de los sistemas, soporte, aceptabilidad por parte de los empleados, formación a empleados, tareas de administración, tareas de actualización,...). Solicite información sobre la metodología de análisis de viabilidad REJ (Justificación Económica Rápida). </li></ul><ul><li>Manejabilidad y Aceptación , es más fácil de implementar, administrar y usar, y además tiene mayor grado de aceptación entre los empleados. </li></ul>Evaluación del modelo I/O <ul><li>PORTABILIDAD </li></ul><ul><li>No deberían existir problemas de portabilidad vinculados a los mappers , dado que justamente estos realizan conversiones entre formatos estándar. Donde si existirán problemas relacionados a la portabilidad es en los dispositivo s . La idea claro está, es confinarlos a estos. ¿Cómo lograr este cometido? Nuestra solución se basa en ver los dispositivos a través de un conjunto de interfaces bien definidas, que deben ser usadas en el desarrollo de las aplicaciones. De esta forma la aplicación debería funcionar independientemente de la implementación concreta del dispositivo; dígase: &quot;Funcionar en forma independiente de los detalles específicos del ambiente&quot;, siempre y cuando existan implementaciones de los dispositivos, compatibles con los detalles del caso. </li></ul><ul><li>FLEXIBILIDAD </li></ul><ul><li>Un sistema concebido hasta ahora como un par de familias ortogonales y fuertemente jerarquizadas, es sin duda una excelente solución si de crecer estamos hablando. Pensemos en el problema de incluir un nuevo MAPPER para reconocer formato BMP. Esta tarea se limitaría a agregar una hoja en el árbol de herencia, implementando los </li></ul>
  41. 41. métodos definidos en la interfase correspondiente, sin tener que cuestionarse siquiera la existencia de otros componentes del sistema. <ul><li>ESCALABILIDAD. </li></ul><ul><li>En complemento resulta cómodo extender mediante especializaciones la internase establecida en principio. Pensemos en BICOTIDEVICE , la posibilidad de extender la internase para incluir elementos típicos de visualización, o la de sobre-extenderlo para destacar características particulares de la dimensión es un ejemplo del grado de escalabilidad alcanzable. </li></ul><ul><li>TRANSPARENCIA </li></ul><ul><li>La posibilidad de resolver los problemas a través de un pequeño grupo de interfaces abstractas, logra en sí mismo el objetivo de transparencia. </li></ul>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.
  42. 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. 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. 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. 45. 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: <ul><li>La capacidad de información almacenada es mucho mayor sobre disco óptimo. </li></ul>
  46. 46. <ul><li>El disco óptimo unido a la información almacenada puede ser duplicado en masa sin coste excesivo, no como en un disco magnético. Los datos de un disco magnético se tienen que duplicar copiando un disco cada vez mediante dos unidades de disco. </li></ul><ul><li>El disco es extraíble, pudiendo usarse para almacenar fondos de archivos. La mayoría de los discos magnéticos no son extraíbles. La información sobre un disco magnético no extraíble debe ser copiada en una cinta antes de que la unidad de disco o el disco se puedan usar para almacenar nueva información. </li></ul><ul><li>Las desventajas del CD-ROM son las siguientes: </li></ul><ul><li>Es de solo lectura y no puede ser actualizado. </li></ul><ul><li>Tiene un tiempo de acceso mucho mayor que una unidad de disco magnético, tanto como medio segundo. </li></ul>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.
  47. 47. 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: <ul><li>Capacidad alta: un disco óptico a 5,25 pulgadas puede almacenar 650 Mbytes de datos. El disco Winchester mas avanzado puede almacenar menos de la mitad de esta cantidad. </li></ul><ul><li>Portabilidad: el disco óptico puede ser extraído de la unidad. </li></ul><ul><li>Fiabilidad: las tolerancias para los discos ópticos son muchos menos severas que para los discos magnéticos de alta capacidad. De este modo, muestran mayor fiabilidad y una vida más larga. </li></ul>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.
  48. 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. 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.

×