Contenido Sistemas de Entrada/Salida • Categorias de los Dispositivos de Entrada/Salida • ¿En qué se diferencian los dispositivos de Entrada/Salida? • Técnicas para realizar la E/S • Interrupciones • Interfaces involucradas en E/S • Buffering M. B. Ibáñez M. B. Ibáñez Categorias de los Dispositivos de Entrada/Salida Categorias de los Dispositivos de Entrada/Salida • Legibles por los humanos • Legibles por las máquinas – Utilizados para comunicarse con los usuarios – video display terminals – keyboard – mouse – printer From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall – Utilizados para comunicarse con los equipos electrónicos – disk drives – tape drives – controllers From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez M. B. Ibáñez Categorias de los Dispositivos de Entrada/Salida ¿En qué se diferencian los dispositivos de Entrada/Salida? • Comunicación • Tasa de Transferencia de Datos – Utilizados para comunicarse con dispositivos remotos – digital line drivers – modems From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez – Teclado 0.01 kilobytes/sec – Display gráfico 30000 kilobytes/sec • Aplicación – Un disco para manejar almacenamiento de archivos debe tener software que le permita manejar (administrar) archivos – Un disco utilizado para manejar páginas virtuales necesita hardware especial que lo soporte From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez 1 ¿En qué se diferencian los dispositivos de Entrada/Salida? • Complejidad de control ¿En qué se diferencian los dispositivos de Entrada/Salida? • Representación de datos – Una impresora necesita una interfaz de control simple – Un disco requiere una interfaz de control más compleja • Unidad de transferencia – Esquemas de codificación diferentes – Convenciones de paridad diferentes • Condiciones de error – Los datos pueden ser transferidos como un stream de bytes para un terminal o como grandes bloques a un disco Operating Systems. Internals and Design Principles . W. Stallings. Prentice Hall – Los dispositivos reaccionan de manera diferente ante los errores Operating Systems. Internals and Design Principles W. Stallings. Prentice Hall . M. B. Ibáñez M. B. Ibáñez Razones por las que los dispositivos periféricos no están conectados directamente al bus del sistema ¿Solución? • Hay una amplia variedad de periféricos con formas de funcionamiento diferentes • A menudo, la velocidad de transferencia de datos de los periféricos es mucho menor que la de la memoria o la de CPU • Con frecuencia, los periféricos utilizan datos con formatos y tamaños de palabra diferentes de los del computador a los que se conectan • Módulo de E/S • Funciones principales del módulo de E/S: – Realizar la interfaz entre el CPU y la memoria a través del bus del sistema o un conmutador central – Realizar la interfaz entre uno o más dispositivos periféricos mediante enlaces de datos específicos M. B. Ibáñez M. B. Ibáñez Modelo genérico de un módulo de E/S Modelo genérico de un dispositivo periférico Lineas de dirección Bus del sistema Lineas de datos Módulo de E/S Control Estado Datos Lineas de control Buffer Lógica de Control Módulo de E/S Transductor Enlaces con dispositivos periféricos Datos desde y hacia el entorno M. B. Ibáñez M. B. Ibáñez 2 Interacción entre un Módulo de E/S y un Dispositivo Periférico • Datos Técnicas para realizar la E/S • Programmed I/O – Se intercambian como conjuntos de bits • Señales de Control – Envíe o Reciba datos de E/S – Indique su estado – Coloque la cabeza del disco en determinada posición • Señales de Estado – En qué estado está el dispositivo: listo, ocupado – El procesador está en busy-waiting hasta que se completa la operación • Interrupt-driven I/O – Comando de I/O es iniciado – El procesador continúa ejecutando instrucciones – El módulo de I/O envía una interrupción cuando termina From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez M. B. Ibáñez Procesamiento simple de interrupciones Técnicas para realizar la E/S • Direct Memory Access (DMA) – El módulo DMA controla el intercambio de datos entre la memoria principal y el dispositivo de E/S – El procesador es interrumpido solo luego de que el bloque completo ha sido transferido From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall Devi ce controller or other system hardware issues an interrupt Save remainder of process state information Processor finishes executi on of current instruction Processor signals acknowledgment of interrupt Process interrupt Processor pushes PSW and PC onto control stack Restore process state information Processor loads new PC value based on interrupt Restore old PSW and PC From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez M. B. Ibáñez Manejador de Interrupciones Interrupcioners múltiples. Orden secuencial • Un programa determina la naturaleza de la interrupción y realiza las acciones necesarias • El control es transferido a ese programa que generalmente es parte del Sistema de Operación M. B. Ibáñez From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall • Deshabilite las interrupciones de manera que el procesador pueda completar su tarea • Las interrupciones permanecen en espera hasta que el procesador habilite las interrupciones • Cuando la rutina que maneja las interrupciones termina, el procesador revisa si hay interrupciones pendientes From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez 3 Interrupciones múltiples. Prioridades • Las interrupciones de alto nivel de prioridad hacen esperar a las de menor prioridad y pueden interrumpirlas From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall Interfaz de aplicaciones de E/S • Las llamadas de E/S del sistema encapsulan comportamientos de dispositivos en clases genéricas • Hay técnicas de estructuración e interfases para el Sistema de Operación que permiten tratar a los dispositivos de E/S de manera uniforme • Las técnicas involucran abstracción, encapsulamiento y niveles de software M. B. Ibáñez M. B. Ibáñez Interfaz Block-device Interfaz Character-stream • Esta interfaz captura los aspectos necesarios para acceder a disk drivers y otros dispositivos orientados al uso de bloques (discos, cintas) • Se almacena la información en bloques de tamaño fijo y se transfiere un bloque por vez • El dispositivo entiende comandos tales como leer y escribir • Si es un dispositivo de acceso random, tiene un comando de búsqueda para especificar cuál es el próximo bloque a transferir. • La llamada básica de sistema de esta interfaz permite a una aplicación tomar o colocar un caracter a la vez • Sobre esta interfaz pueden construirse librerías que ofrezcan acceso a una linea por vez con servicios de buffer y edición • Es conveniente para – Dispositivos de entrada tales como keyboards, ratón, y modems – Dispositivos de salida tales como printers o audio boards M. B. Ibáñez M. B. Ibáñez Dispositivos de Red Relojes • Una interfaz disponible en muchos Sistemas de Operación es la interfaz de socket • Las llamadas al sistema en la interfaz de red permiten a un aplicación: – Crear un socket – Conectar un socket local a una dirección remota – Escuchar a una aplicación remota queriendo conectarse a un socket local – Enviar y recibir paquetes a través de una conexión M. B. Ibáñez • La mayoría de los computadores tienen relojes de hardware que brindan operaciones básicas tales como – Dar el tiempo actual – Dar el tiempo que ha transcurrido desde un instante predefinido – Pfrogramar el reloj paraq que se ejecute una operación O en el tiempo T M. B. Ibáñez 4 Buffering No Buffering • Un buffer es un área de memoria que almacena datos mientras éstos son transferidos – Entre dos dispositivos – O entre un dispositivo y una aplicación Operating System User Process In I/O Device • Buffering se realiza por una de estas razones No buffering – Para tratar la diferencia de velocidades entre un productor y un consumidor – Para adaptar dispositivos que tienen tamaños de transferencias de datos diferentes From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez M. B. Ibáñez Buffer único Buffer único • El sistema de operación asigna un buffer en memoria principal para una petición de E/S • Orientado a bloques Operating System I/O Device In User Process Mov e • Orientado a bloques – El proceso del usuario procesa un bloque de datos mientras el próximo bloque es leído – swapping puede ocurrir pues la entrada se lleva a cabo en la memoria del sistema y no en la memoria del usuario. Single buffering From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez M. B. Ibáñez Buffer único Buffer Doble • Orientado a streams – Se usa una linea al tiempo – Ejemplo: El usuario introduciendo datos desde un terminal es una linea al tiempo, el carriage return señala el final de la linea • Utilizar dos buffers del sistema en vez de uno solo • Un proceso puede transferir datos hacia o desde un buffer mientras el Sistema de Operación vacía o llena el otro buffer Operating System I/O Device User Process Mov e In Double buffering From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez 5 Buffer Circular • Se utilizan más de dos buffers • Cada buffer individual es una unidad en un buffer circular • Utilizado cuando una operación de E/S debe mantenerse dentro de un proceso Operating System In I/O Device User Process Mov e . . Circular buffering From Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall M. B. Ibáñez 6