You are on page 1of 15

SISTEMAS OPERATIVOS Entrada y Salida

Introduccin
Introduccin Principios del Software de I/O Objetivos, I/O Programado, I/O con Interrupciones, I/O con DMA Capas del Software I/O Manejadores de interrupciones, controladores de dispositivos, SW de SO independiente de dispositivo, SW de I/O de usuario Discos Relojes Terminales de caracteres

ENTRADA Y SALIDA
Una de las funciones de un S.O. es controlar todos los dispositivos de E/S de la computadora. Debe:  Enviar los comandos a los dispositivos.  Atrapar interrupciones.  Y manejar errores.  Proporcionar una interfaz sencilla y fcil de usar entre los dispositivos y el resto del sistema.

Principios del Hardware de E/S


Hay diversos puntos de vista:  Los Ingenieros Elctricos: Lo ven en trminos de chips, cables, fuentes de energa, motores y todos los componentes fsicos del hardware.  Los Programadores: Ven la interfaz que presenta al software: - Los comandos que acepta el hardware. - Las funciones que desempea. - Y los errores que pueden informar. En las tres secciones que siguen proporcionaremos algunos antecedentes generales del hardware de E/S y su relacin con la programacin.

Dispositivos de E/S
Pueden dividirse a grandes rasgos en dos categoras: Dispositivos de Bloques: - Son las que almacenan informacin en bloques de tamao fijo, cada uno con su propia direccin. - Los tamaos de los bloques van desde 512 bytes hasta 32,768 bytes. - La propiedad fundamental de un dispositivo de bloques consiste en que es posible leer o escribir cada bloque con independencia de todos los dems. Tenemos: Los discos son los dispositivos de bloques ms comunes. Dispositivos de Caracteres: - Suministra o acepta un flujo de caracteres sin estructurarlos en bloques; - No es direccionable ni tiene una operacin de desplazamiento.

Tenemos: Las impresoras, teclado, interfaces de red, ratones, y casi todos los dems dispositivos que no son del tipo disco, pueden considerarse como dispositivos de caracteres.

Controladoras de Dispositivos
Las unidades de E/S por lo regular constan de un componente mecnico y uno electrnico. Es posible separar en dos partes para tener un diseo mas regular y general.  Componente Electrnico: - Se le denomina controladora o adaptador de dispositivos. - En las computadoras personales, este componente suele adoptar la forma de una tarjeta de circuitos impresos que puede insertarse en una ranura de expansin.  Componente Mecnico: - Viene a ser el dispositivo mismo.

E/S con Correspondencia en Memoria


Cuando se utiliza correspondencia en memoria, es la CPU encargada de realizar las transferencias de datos entre los dispositivos y la memoria principal. La CPU realiza la lectura de a una palabra a la vez desde el dispositivo de E/S, escribindola luego en una direccin de memoria o bien en otro dispositivo. As la CPU queda inhabilitada de realizar labores ms complejas que la simple transferencia de informacin, no siendo el modelo ms ptimo.

Principios del Software de E/S


Metas del software de E/S:
 En el diseo del software para E/S se conoce como independencia del dispositivo: Esto significa que debe ser posible escribir programas capaces de acceder a cualquier dispositivos de E/S sin tener que especificar por adelantado de que dispositivo se trata.
Ej.: Un programa que lee un archivo como entrada deber poder leerlo de un disco flexible, de un disco duro o de un CD-ROM sin tener que modificar el programa para cada dispositivo.

 El objetivo de lograr nombres uniformes est muy relacionado con el de independencia del dispositivo. Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso.  Otro aspecto importante del software es el manejo de errores de E/S: - Generalmente los errores deben manejarse lo ms cerca posible del hardware. - Si la controla dora descubre un error de lectura deber tratar de corregirlo ella misma si puede. - Muchos errores son transitorios, como los de lectura causados por una partcula en la cabeza de lectura y desaparecen si se repite la operacin. - Solo si los niveles inferiores(driver) no pueden resolver el problema, se informa a los niveles superiores. - Generalmente la recuperacin se puede hacer en un nivel inferior y de forma transparente. Tipos comunes de errores: Errores de Programacin: Peticin de un sector que no existe Error transigente: polvo en el disco, disco no insertado, etc. Error permanente: sector malo, dispositivo daado.

 Diferencia entre las transferencias: Sncronas(por bloqueo): El programa se suspende automticamente hasta que los datos estn disponibles en el buffer. Asncronas(controladas por interrupciones): - Es cuando la CPU inicia la transferencia y se pone hacer alguna otra cosa hasta que llega la interrupcin.

 El software debe manejar es el uso de bferes: - El uso de buffers permite agilizar las tareas de entradas como de salida, permitiendo a quien provee la informacin un lugar donde dejarla sin tener que esperar por el receptor final.

E/S Programada
La forma ms sencilla de E/S deja que la CPU haga todo el trabajo. El dispositivo E/S realiza la accin (no la CPU) colocando los bits necesarios en sus registros de status. No hay interrupciones. La desventaja es que ocupa la CPU en forma continua hasta que termina la E/S.

E/S Dirigida por Interrupciones


La CPU es interrumpida cuando el dispositivo E/S est listo para intercambiar datos. La CPU esta libre entre la solicitud de datos e interrupcin. No hay necesidad de esperar. Consume mucha CPU ya que cada byte ledo/escrito pasa por la CPU desde/hacia la memoria. Una desventaja es que se presenta una interrupcin por cada carcter en el caso de enviar a imprimir un carater. Las interrupciones ocupan tiempo, por lo que este esquema desperdicia cierta cantidad de tiempo de CPU.

E/S Dirigida por Interrupciones


E/S dirigida por interrupciones:

Pasos que ocurren cuando un E/S termin su tarea

E/S con Acceso Directo a Memoria


Transfiere un bloque de datos directamente hacia/desde la memoria Se enva una interrupcin cuando los datos fueron transferidos La CPU slo participa al inicio y al final de la accin. La gran ventaja es que reduce el numero interrupciones.