Anda di halaman 1dari 34

Sistemas Operativos

Entrada y Salida

En computacin, entrada/salida, tambin abreviado E/S o I/O (del original en ingls input/output), es la coleccin de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de informacin para comunicarse unas con otras, o las seales (informacin) enviadas a travs de esas interfaces.

Dispositivos Entrada y Salida


Los dispositivos de entrada y saluda se pueden dividir de manera general en dos categoras:

Dispositivos de bloque Dispositivos de carcter

Dispositivos Entrada y Salida

Dispositivos de bloque Dispositivo de Bloque: Es aquel que almacena la informacin en bloques de tamao fijo, cada uno con su propia direccin. Los tamaos comunes de los bloques van desde 128 bytes hasta 1024 bytes. La propiedad esencial de un dispositivo de bloque es la posibilidad de leer o escribir en un bloque de forma independiente de los dems, es decir, el programa puede leer o escribir en cualquiera de los bloques.

Dispositivos Entrada y Salida


Dispositivos de bloque La informacin se almacena en bloques de tamao fijo. Cada bloque tiene su propia direccin. Los tamaos ms comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes. Se puede leer o escribir en un bloque de forma independiente de los dems, en cualquier momento. Un ejemplo tpico de dispositivos de bloque son los discos.

Dispositivos Entrada y Salida

Dispositivos de caracter Es aquel que enva o recibe un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones ni tienen una operacin de bsqueda.

Dispositivos Entrada y Salida


Dispositivos de carcter La informacin se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones. No tienen una operacin de bsqueda. Un ejemplos tpico de dispositivos de caracter son las impresoras de lnea, terminales, interfaces de una red, ratones, etc.

Controladoras de Dispositivosentrada y salida Las unidades de


constan por lo general de un componente mecnico y otro electrnico. El componente electrnico se llama controladora o adaptador de dispositivo.

Controladoras de Dispositivos
La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel

Generalmente trabajan con la computadora a travs de interrupciones, estas viajan por el bus de la computadora y son recibidos por el CPU

Acceso a un Dispositivo - Principios de I/O ://


El acceso a un dispositivo de E/S, se puede realizar de dos formas: acceso directo por puerto de E/S o Correspondencia en memoria. Cuando se utilizan puerto directos, se ejecutan instrucciones de CPU especificas que leen o escriben de los puertos de E/S. Ej: IN R0, 1 OUT R2, 2
Canal E/S 2 Canal E/S 1

Lectura desde dispositivo 1 al registro 0 Escritura desde el registro 0 al dispositivo 2

CPU

RAM

Dispositivo 1

Dispositivo 2

Acceso a un Dispositivo
El acceso a un dispositivo de E/S a travs de correspondencia en memoria, significa que el sistema mapea la ubicacin de los registros del dispositivo de E/S a direcciones de memoria. De esta forma no se requieres instrucciones en assembler para accederlo, sino solo accesos a memoria (siempre uncached).

1.

Se arma la direccin de memoria en la ejecucin de la instruccin que la solicita y muy raramente esta mapeada en el TLB. La direccin memoria del dispositivo siempre cae en un rango nocacheable y pasa directo al bus de datos. El dispositivo reconoce su direccin fsica y responde con datos.

2.

3.

Acceso a Memoria

1.

Se arma la direccin de memoria en la ejecucin de la instruccin que la solicita y son consultados a la TLB. Se presenta la direccin de memoria real al cache L1, si esta presente la informacin, esta se retorna a la CPU. Si no esta presente en el cache L1, se intenta en el L2. Si no esta presente en el cache L2, se intenta en el L3. Si no se encuentra la direccin en los caches, se coloca la direccin de memoria en el bus del sistema. El chip de RAM que contiene la direccin solicitada responde la peticin colocando los datos en bus para su retorno.

2.

3.

4.

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.

Acceso Directo a Memoria


La estrategia de DMA (Direct Memory Access) permite desligar a la CPU de la tarea de transferir byte a byte los datos desde y hacia dispositivos y memoria.

Ejemplo de Entrada con DMA:


1. La CPU programa el controlador DMA escribiendo en sus registros desde donde debe leer, a que direccin de memoria escribir y cuantos bytes. 2. La controladora de DMA enva una seal al controlador de dispositivo solicitando leer, idntico como lo hara la CPU sin DMA. 3. Se escriben los datos a memoria y se decrementa la cantidad de bytes restantes para terminar. 4. Se seala al controlador DMA que el proceso termino. Si la cantidad restante es cero, se interrumpe la CPU indicando que el I/O ha terminado; de lo contrario se repite el proceso desde 2.

Acceso Directo a Memoria

Los controladores DMA pueden manejar una o ms transferencias a la vez, dependiendo de su arquitectura, realizndolas por palabras (largo de la arquitectura, ej: 32 bits palabra = 4bytes) o por bloques.

Robo de Ciclos: cuando la transferencia de dato se realiza palabra por palabra, entonces la controladora de dispositivo debe utilizar de cuando en cuando un ciclo del bus de datos para transferir la informacin, haciendo la CPU un poco ms lenta. Modo de Rfagas: en modo de bloques, la controladora DMA instruye al controlador de dispositivo que obtenga el bus de datos, realice una serie de transferencias y luego lo libere. Aqu si la rfaga es muy larga, entonces el computador estar bloqueado durante mucho tiempo.

Acceso Directo a Memoria


Existen 2 formas en las cuales puede operar la transferencia de datos entre memoria y dispositivos cuando se utiliza DMA
Las transferencias se realizan directamente entre el dispositivo y la memoria, requirindose solo un ciclo de bus. A este modo se le conoce como modo de sobrevuelo.

Otra forma es que el controlador DMA reciba los datos desde el dispositivo, y luego este realice la transferencia a memoria. Aunque utiliza un ciclo ms de bus, este modelo permite la transferencia directa de datos entre dispositivos o entre memoria.

Interrupciones
Cuando un dispositivo de I/O termina su trabajo, emite una seal elctrica por el canal asignado (Interrupt ReQuest - IRQ). Esta llega al controlador de interrupciones el cual decide que hacer.

Cuando el sistema operativo ha deshabilitado las interrupciones, el hardware seguir enviando la seal hasta que se le haga caso.
Cuando la interrupcin se acepta en el controlador, dado que estas estn habilitadas y no hay interrupciones pendientes de atencin, este coloca el cdigo identificador del dispositivo que requiere atencin en el bus e interrumpe a la CPU. Cuando la CPU recibe la interrupcin, esta salta a ejecutar el ISR (Interrupt Service Routine), el cual provoca un cambio de contexto que debe ser correctamente manejado para poder retornar el punto de ejecucin anterior.

Software de I/O
El software de Entrada y Salida suele estar organizado en 4 capas. Cada una tiene una funcin bien definida que realizar y debe proveer interfaces para que las capas adyacentes puedas comunicarse con ella.

Software de I/O en espacio de usuario Software de SO Independiente de dispositivo Controlador de Dispositivo (Driver) Manejador de Interrupciones Hardware

Usuario Kernel

Metas de Software E/S


Un concepto clave en el diseo del software de E/S es lo que se conoce como la independencia del dispositivo, lo que significa que debe ser posible escribir programas capaces de acceder a cualquier dispositivo de E/S sin tener que especificar por adelantado de qu dispositivo se trata

Metas de Software E/S


Nombres Uniformes
El nombre de un archivo o dispositivo deber ser una cadena o entero y no debe depender del dispositivo

Metas de Software E/S


Manejo de Errores

En el contexto de entrada/salida, los errores son algo recurrente. Algunos errores pueden ser manejados en la capa inferior (driver) como errores de lectura que se solucionan reintentando el proceso; otros requieren ser informados a las capas superiores para su tratamiento

Metas de Software E/S


Diferencia de transferencias
Sncrona(por bloqueo)

Asncrona(Controladas por interrupciones )

Metas de Software E/S


Buffers

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.

Ejecucin de Entrada y Salida


Programada Por Interrupciones DMA

Manejadores de Interrupciones
Las interrupciones deben ocultarse en el S. O.: Cada proceso que inicie una operacin de e / s se bloquea hasta que termina la e / s y ocurra la interrupcin. El procedimiento de interrupcin realiza lo necesario para desbloquear el proceso que lo inicio.

Controlador de Dispositivo
El

driver o Controlador de dispositivo es la pieza de software encargada de aplicar las operaciones reales sobre el dispositivo y generalmente es proporcionado por el fabricante.

Controlador de Dispositivo
El driver contiene la informacin de cmo manejar las particularidades del hardware para el cual fue escrito. Un driver de disco duro, por ejemplo, contiene las rutinas para transformar una direccin en cilindro/pista/bloque. El driver tiene entre otras tareas: - Aceptar solicitudes abstractas de leer o escribir enviadas por el Software Independiente de Dispositivo. - Asignacin de valores iniciales del dispositivo, manejo de energa, encendido del dispositivo, etc. - Enviar los comandos especficos al dispositivo escribindolos en sus registros. - Esperar la respuesta del dispositivo bloquendose, reanudando con la interrupcin.

Software de E/S espacio Usuarios


La mayora del software de E/S est dentro del S. O. Una pequea parte consta de bibliotecas ligadas entre s con los programas del usuario. La biblioteca estndar de E/S contiene varios procedimientos relacionados con e / s y todos se ejecutan como parte de los programas del usuario. Otra categora importante de software de E/S a nivel usuario es el sistema de spooling. El spooling es una forma de trabajar con los dispositivos de E/S de uso exclusivo en un sistema de multiprogramacin: El ejemplo tpico lo constituye la impresora de lneas.

Relojes
Son esenciales para el buen funcionamiento de cualquier sistema porque juegan un papel decisivo en la sincronizacin de procesos en la calendarizacin de trabajos por lote y para la asignacin de turnos de ejecucin entre otras tareas relevantes. Los relojes o cronmetros son esenciales para la operacin de sistemas de tiempo compartido Registran la hora del da. Evitan que un proceso monopolice la cpu. El software para reloj toma generalmente la forma de un controlador de dispositivo, aunque no es un dispositivo de bloque ni de caracter.

Relojes
Los relojes ms sencillo trabajan con la lnea de corriente elctrica de 110 o 220 voltios y provocan una interrupcin por cada ciclo de voltaje, a 50 o 60 hz.
Otro tipo de relojes consta de tres componentes: Un oscilador de cristal, un contador y un registro. Una pieza de cristal de cuarzo se monta en una estructura bajo tensin: Genera una seal peridica de muy alta precisin, generalmente entre 5 y 100 mhz. La seal se alimenta en el contador para que cuente en forma descendente hasta cero. Cuando el contador llega a cero, provoca una interrupcin de la cpu.

Relojes
Los relojes ms sencillo trabajan con la lnea de corriente elctrica de 110 o 220 voltios y provocan una interrupcin por cada ciclo de voltaje, a 50 o 60 hz.
Otro tipo de relojes consta de tres componentes: Un oscilador de cristal, un contador y un registro. Una pieza de cristal de cuarzo se monta en una estructura bajo tensin: Genera una seal peridica de muy alta precisin, generalmente entre 5 y 100 mhz. La seal se alimenta en el contador para que cuente en forma descendente hasta cero. Cuando el contador llega a cero, provoca una interrupcin de la cpu.

Relojes
Los relojes ms sencillo trabajan con la lnea de corriente elctrica de 110 o 220 voltios y provocan una interrupcin por cada ciclo de voltaje, a 50 o 60 hz.
Otro tipo de relojes consta de tres componentes: Un oscilador de cristal, un contador y un registro. Una pieza de cristal de cuarzo se monta en una estructura bajo tensin: Genera una seal peridica de muy alta precisin, generalmente entre 5 y 100 mhz. La seal se alimenta en el contador para que cuente en forma descendente hasta cero. Cuando el contador llega a cero, provoca una interrupcin de la cpu.

Relojes
Los relojes programables tienen varios modos de operacin: Modo de Disparo nico: Cuando el reloj se inicializa, copia el valor del registro en el contador. Decrementa el contador en cada pulso del cristal. Cuando el contador llega a cero provoca una interrupcin y se detiene hasta ser nuevamente inicializado por el software. Modo de onda cuadrada: Luego de llegar a cero y provocar la interrupcin, el registro se copia de manera automtica en el contador. Todo el programa se repite en forma indefinida. Las interrupciones peridicas se llaman marcas del reloj.

Relojes
La ventaja del reloj programable es que su frecuencia de interrupcin puede ser controlada por el software. Las principales funciones del software manejador del reloj son: Mantener la hora del da o tiempo real. Evitar que los procesos se ejecuten durante ms tiempo del permitido. Mantener un registro del uso de la cpu. Controlar llamadas al sistema tipo alarm por parte de los procesos del usuario. Proporcionar cronmetros guardianes de partes del propio sistema. Realizar resmenes, monitoreo y recoleccin de estadsticas. El software manejador del reloj puede tener que simular varios relojes virtuales con un nico reloj fsico.

Anda mungkin juga menyukai