lunes, 27 de mayo de 2013

UNIDAD 4 ADMINISTRACIÓN DE ENTRADA Y SALIDA

1.1 DISPOSITIVOS Y MANEJA DORES DE DISPOSITIVOS: DEVICE DRIVERS

Los dispositivos externos trabajan a través de los módulos de E/S de un sistema informático, por lo que se pueden clasificar en las siguientes 3 categorías:
Dispositivos legibles por los humanos: Son aquellos que el usuario puede reconocer e interpretar, un ejemplo podría ser las terminales de video, el teclado, el monitor, y otros como el mouse o impresora.
Dispositivos legibles por la maquina: Son los que sirven para comunicarse con los dispositivos electrónicos como discos, unidades de cinta, sensores controladores e impulsores.
Dispositivos de comunicaciones: Sirven para comunicarse con dispositivos lejanos, Por ejemplo adaptadores de líneas digitales y modem.
Existen muchas diferencias entre las clases de dispositivos que son de importancia dentro de las mismas clases, algunas de ellas se describen a continuación:
Velocidad de datos: Son las velocidades con en bps con que trabajan los dispositivos.
Aplicaciones: Es la utilidad que tiene un dispositivos ya que influye en el software y en las políticas del sistema operativo y de apoyo, Por ejemplo un disco que almacena archivos necesita del soporte de un software de gestión de archivos.
Complejidad de control: Esto es que nivel de complejidad que tienen los dispositivos, una impresora puede tener una interfaz de control relativamente simple, a un disco que es mucho mas complejo, el modulo de entrada/salida es el que se encarga de filtrar estas diferencia para comunicarse con el Sistema Operativo.
Unidad de transferencia: Los datos se pueden transmitir como flujo de bytes o caracteres.
Representación de datos: Los dispositivos emplean diversos esquemas de codificación de los datos, que incluye la diferencia de códigos de caracteres y los convenios de paridad.
Condiciones de error: Como nos representa o informa un dispositivos un error acerca de ellos, el rango disponible de respuesta varia de un dispositivo a otro.
Esta diversidad conduce hacia un enfoque consistente y uniforme de la E/S, que es difícil de alcanzar, tanto desde el punto de vista del sistema operativo como de los procesos de usuario.
Los controlares hardware (interfaces) son los que actúan como intermediarios entre el sistema informático y los dispositivos de E/S. su propósito es superar la incompatibilidad de velocidad y de señalización de niveles entre el procesador y los periféricos y traducir las ordenes de E/S genéricas emitidas por el procesador a controles específicos del dispositivo.
El hardware de E/S suele estar físicamente distribuido sobre una serie de interfaces o controladores de dispositivo en la siguiente figura se muestra un esquema que representa un diagrama de bloques de un sistema informático. Esta estructura se identifica fácilmente en la estructura física de un sistema informático. Generalmente el centro del sistema es la tarjeta base, que tiene una serie de conectores en los cuales se conectan otras tarjetas, el bus del sistema, que sirve para comunicación e intercambio de direcciones, datos y pulsos de control entre datos.


1.2 MECANISMOS Y FUNCIONES DE LOS MANEJA DORES DE DISPOSITIVOS: DEVICE DRIVERS

El controlador es el componente más importante desde el punto de vista del sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde la CPU. El Sistema Operativo generalmente trabaja con el controlador y no con el dispositivo.
Tecnicas de E/S
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 que termine la operación, antes de seguir.
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 cuan do completa su trabajo. Las instrucciones siguientes pueden ser del mismo proceso, si no es necesario para este esperar la terminación de E/S. en otro caso, el proceso se suspende a la espera de la interrupción, mientras se realiza otro trabajo.
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 DMA y se interrumpe solo cuando se ha transferido el bloque entero.
En la mayoría de los sistemas informáticos, el DMA es la forma dominante de transferencia ofrecida por el sistema operativo.
Sin interrupciones
Con interrupciones
Transferencia de E/S a memoria a través del procesador
E/S programada
E/S dirigida por interrupciones
Transferencia de E/S directa a memoria
Acceso directo a memoria (DMA)

Hay que recalcar que el controlador al ser una parte crítica del sistema operativo, el fallo de un controlador puede ser más grave que otros errores de software, pudiendo bloquear el ordenador o incluso dañar el hardware. Debido a que el hardware es (necesariamente) indeterminista, encontrar y solucionar un fallo en un controlador es una tarea complicada ya que no sólo hay que monitorizar el programa, sino también el propio dispositivo.
2.- Se añade un controlador o modulo de E/S. El procesador utiliza E/S programada sin interrupciones.
3.- Se añade un controlador o modulo. Pero empleándose interrupciones.
4.- El modulo de E/S recibe el control directo de la memoria, a través de DMA, Ahora puede mover un bloque de datos a la memoria o desde la misma sin que intervenga el procesador.
5.- se mejora el modulo de E/S hasta llegar a ser un procesador separado con un conjunto de instrucciones especializadas para E/S.
6.- El modulo de E/S posee su propia memoria local y es, de hecho un computador independiente.
A medida que sigue la evolución, una mayor parte de la funciones de E/S se realiza sin la participación del procesador. El procesador central se libera cada vez más de las tareas relacionadas con la E/S, mejorando así el rendimiento.

1.3 ESTRUCTURA DE DATOS PARA MANEJO DE DISPOSITIVOS


Una Estructura de Datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema. 
Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa. Las peticiones se procesan de forma estructurada en las siguientes capas:
• Manejadores de interrupción.
• Manejadores de dispositivos o drivers.
•Software de EIS independiente de los dispositivos. Este software está formado por la parte de alto nivel de los manejadores, el gestor de cache, el gestor de bloques y el servidor de archivos.
• Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de usuario. 
El sistema operativo estructura el software de gestión de E/S de esta forma para ofrecer a los usuarios una serie de servicios de E/S independientes de los dispositivos. Esta independencia implica que deben emplearse los mismos servicios y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado. 
MANEJADORES DE INTERRUPCION
Un manejador de interrupciones, también conocido como ISR (interrupt service routine o rutina de servicio de interrupción), es una subrutina callback en un sistema operativo o en un controlador de dispositivo cuya ejecución es desencadenada por la recepción de una interrupción. Los manejadores de instrucciones tienen una multitud de funciones, que varían basadas en el motivo por el cual la interrupción fue generada y la velocidad en la cual el manejador de interrupciones completa su tarea.
Estos manejadores pueden ser iniciados por interrupciones de hardware o de software, y son usados para servir a los dispositivos de hardware y transiciones entre modos protegidos de operación como los llamados de sistema.
MANEJADORES DE DISPOSITIVOS
- Contiene el codigo dependiente del dispositivo 
- Cada manejador contiene sus colas.

E/S INDEPENDIENTE DE DISPOSITIVO
- La frontera de este nivel con el anterior es difusa.
- Funciones:
- Ofrecer una interfaz uniforme a los procesos de usuarios.
- Asignar nombres a los dispositivos.
- Proteger a los dispositivos.
- Ofrecer un tamaño de bloque independiente de los dispositivos.
- Almacenar los datos temporales en la transferencias de E/S.
- Gestionar la asignación del espacio en dispositivos de bloques.
- Reservar y liberar los dispositivos dedicados.
- Informar de los posibles errores.
- Un aspecto muy importante en un S.O. es la asignacion de nombres a los
archivos y dispositivos.
E/S EN EL ESPACIO DE USUARIO
SPOOLING

El sistema de E/S verá que el dispositivo no está y lo notificará a los niveles superiores hasta que el error llegue a la aplicación. Sin embargo, es importante resaltar que los sistemas operativos son cada vez más robustos y cada vez incluyen más control y reparación de errores, para lo cual usan métodos de paridad, checksums, códigos correctores de error, etc. Además, la información que proporcionan cuando hay un error es cada vez mayor.

1.4 OPERACIONES DE ENTRADA/SALIDA


Funciones que realizan       
Vamos a señalar las funciones que debe realizar un computador para ejecutar trabajos de entrada/salida:

     - Direccionamiento o selección del dispositivo que debe llevar a cabo la operación de E/S.
     - Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido).
     - Sincronización y coordinación de las operaciones.
Esta ultima función es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo, suelen tener relojes diferentes). 
Se define una transferencia elemental de información como la transmisión de una sola unidad de información (normalmente un byte) entre el procesador y el periférico o viceversa. Para efectuar una transferencia elemental de información son precisas las siguientes funciones:

    - Establecimiento de una comunicación física entre el procesador y el periférico para la transmisión de la unidad de         información.
    - Control de los periféricos, en que se incluyen operaciones como prueba y modificación del estado del periférico. Para         realizar estas funciones la CPU gestionara las líneas de control necesarias. 
Definiremos una operación de E/S como el conjunto de acciones necesarias para la transferencia de un conjunto de datos (es decir, una transferencia completa de datos). Para la realización de una operación de E/S se deben efectuar las siguientes funciones:

    - Recuento de las unidades de información transferidas (normalmente bytes) para reconocer el fin de operación.
    - Sincronización de velocidad entre la CPU y el periférico.
    - Detección de errores (e incluso corrección) mediante la utilización de los códigos necesarios (bits de paridad, códigos de        redundancia cíclica, etc.)
    - Almacenamiento temporal de la información. Es más eficiente utilizar un buffer temporal específico para las operaciones        de E/S que utilizan el área de datos del programa.
    - Conversión de códigos , conversión serie/paralelo, etc.

No hay comentarios.:

Publicar un comentario