Sistemas de Entrada/Salida Contenido Categorias de los

Anuncio
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
Descargar