Professional Documents
Culture Documents
Las entradas y salidas se refieren a cualquier transferencia de informacin desde o hacia la memoria o el procesador. Implica la transferencia entre los diferentes niveles de la memoria as como la comunicacin con los perifricos. El sistema de Entrada / Salida es parte del Sistema Operativo y se encarga de la administracin de los dispositivos es decir acta como una interfaz(sencilla, independiente y fcil de usar) entre los usuarios y los dispositivos de entrada y salida.
MODELOS DE COMUNICACIN ENTRE EL CPU Y LOS CONTROLADORES -Para la mayora de las micro y mini computadoras: Modelo de bus del sistema. -Para la mayora de los mainframes: Modelo de varios buses y computadoras especializadas en e/s llamadas canales de e/s. La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel:
-La comunicacin es mediante un flujo de bits e n serie que: Comienza con un prembulo. Sigue con una serie de bits (de un sector de disco, por ej.). Concluye con una suma para verificacin o un cdigo corrector de errores. -El prembulo: Se escribe al dar formato al disco. Contiene el nmero de cilindro y sector, el tamao de sector y otros datos similares. El controlador debe: -Convertir el flujo de bits en serie en un bloque de bytes. -Efectuar cualquier correccin de errores necesaria. -Copiar el bloque en la memoria principal. Cada controlador posee registros que utiliza para comunicarse con la cpu: -Pueden ser parte del espacio normal de direcciones de la memoria: e/s mapeada a memoria. -Pueden utilizar un espacio de direcciones especial para la e/s, asignando a cada controlador una parte de l. El S. O. realiza la e/s al escribir comandos en los registros de los controladores; los parmetros de los comandos tambin se cargan en los registros de los controladores. Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador provoca una interrupcin para permitir que el S. O.: -Obtenga el control de la cpu. -Verifique los resultados de la operacin. La cpu obtiene los resultados y el estado del dispositivo al leer uno o ms bytes de informacin de los registros del controlador. Su programacin se lleva a cabo mediante una interfaz de muy bajo nivel que proporciona acceso a una serie de registros del controlador, que se pueden acceder mediante instrucciones de mquina de E/S. CARACTERSTICAS DEL CONTROLADOR
Son muy importantes, ya que definen el aspecto del perifrico para el sistema operativo. Atendiendo a las caractersticas del hardware de los dispositivos, se pueden observar las siguientes caractersticas:
Direccin de E/S. En general hay dos modelos de direccionamiento de E/S, los que usan puertos y los que proyectan los registros en memoria.
En otras palabras, esta es la primera direccin de un rango de direcciones consecutivas de puertos de entrada/salida que usa un dispositivo. Ejemplos de puertos Primer controlador DMA Primer controlador programable de interrupciones Maestrotemporizador programable timer) 8554 Teclado Real Time Clock Registro de pgina del DMA Canal 0 del DMA Refresh Controlador de disco Controlador del disco duro primario Puerto de juegos Puerto paralelo Unidad de transferencia. Los dispositivos suelen usar unidades de transferencia de tamao fijo. Hay dos modelos clsicos de dispositivos: de caracteres y de bloques. La unidad mxima de transferencia (Maximum Transfer Unit - MTU) es un trmino de redes de computadoras que expresa el tamao en bytes de la unidad de datos ms grande que puede enviarse usando un protocolo de comunicaciones. Ejemplos de MTU para distintos protocolos usados en Internet: de intervalos (system
Ethernet: 1518 bytes PPPoE: 1492 bytes ATM (AAL5): 8190 bytes FDDI: 4470 bytes PPP: 576 bytes
Los dispositivos de almacenamiento secundario y terciario manejan la informacin en unidades de tamao fijo, denominadas bloques, por lo que a su vez se denominan dispositivos de bloques. Estos bloques se pueden direccionar de manera independiente, lo que permite leer o escribir un bloque con independencia de los dems. Un dispositivo de caracteres, en informtica es un componente del ordenador que se comunica con la unidad central de proceso por medio de bytes individuales. Ejemplos de dispositivos de caracteres son impresoras y teclados, que permiten el manejo de un solo byte a la vez.
Interaccin computadora-controlador. La computadora tiene que interaccionar con la computadora para realizar las operaciones de E/S y saber cundo terminan.
DE
DATOS
PARA
MANEJO
DE
Una Estructura de Datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulacin. Un dato elemental es la mnima informacin que se tiene en un sistema. Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operacin de E/S, el sistema operativo prepara dicha operacin y bloquea al proceso hasta que se recibe una interrupcin del controlador del dispositivo indicando que la operacin est completa. Las peticiones se procesan de forma estructurada en las siguientes capas: Manejadores de interrupcin. Manejadores de dispositivos o drivers. Software de E/S 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 gestin 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, tambin conocido como ISR (interrupt service routine o rutina de servicio de interrupcin), es una subrutina callback en un sistema operativo o en un controlador de dispositivo cuya ejecucin es desencadenada por la recepcin de una interrupcin. Los manejadores de instrucciones tienen una multitud de funciones, que varan basadas en el motivo por el cual la interrupcin 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 operacin como los llamados de sistema. MANEJADORES DE DISPOSITIVOS - Contiene el cdigo 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 tamao de bloque independiente de los dispositivos. - Almacenar los datos temporales en la transferencia de E/S. - Gestionar la asignacin 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 asignacin 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 aplicacin. Sin embargo, es importante resaltar que los sistemas operativos son cada vez ms robustos y cada vez incluyen ms control y reparacin de errores, para lo cual usan mtodos de paridad, checksums, cdigos correctores de error, etc. Adems, la informacin que proporcionan cuando hay un error es cada vez mayor.
Los pasos a seguir en una operacin de E/S con DMA son los siguientes:
1. Programacin de la operacin de E/S. Se indica al controlador la operacin, los datos a transferir y la direccin de memoria sobre la que se efectuar la operacin. 2. El controlador contesta aceptando la peticin de E/S.
3. El controlador le ordena al dispositivo que lea (para operacin de lectura) una cierta cantidad de datos desde una posicin determinada del dispositivo a su memoria interna. 4. Cuando los datos estn listos, el controlador los copia a la posicin de memoria que tiene en sus registros, incrementa dicha posicin de memoria y decrementa el contador de datos pendientes de transferir. 5. Los pasos 3 y 4 se repiten hasta que no quedan ms datos por leer. 6. Cuando el registro de contador est a cero, el controlador interrumpe a la CPU para in dicar que la operacin de DMA ha terminado.
Funciones que realizan: Funciones que debe realizar un computador para ejecutar trabajos de entrada/salida:
- Direccionamiento o seleccin del dispositivo que debe llevar a cabo la operacin de E/S. - Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido). - Sincronizacin y coordinacin de las operaciones. Esta ltima funcin es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los perifricos y la CPU (por ejemplo, suelen tener relojes diferentes. Definiremos una operacin 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 realizacin de una operacin de E/S se deben efectuar las siguientes funciones:
Recuento de las unidades de informacin transferidas (normalmente bytes) para reconocer el fin de operacin.
Sincronizacin de velocidad entre la CPU y el perifrico. Deteccin de errores (e incluso correccin) mediante la utilizacin de los cdigos necesarios (bits de paridad, cdigos de redundancia cclica, etc.) Almacenamiento temporal de la informacin. Es ms eficiente utilizar un buffer temporal especfico para las operaciones de E/S que utilizan el rea de datos del programa.