Sistemas Operativos

Anuncio
Dispositivos de Entrada/Salida
Sistemas Operativos
Entrada/Salida
Mario Medina ([email protected])
It is better to fail in originality than to succeed in imitation.
Es mejor fracasar en ser original que tener éxito en la imitación.
Herman Melville
Dispositivos usados for personas
• Terminales
• Dispositivos de entrada de datos
◦ Mouse, trackball, etc.
◦ Teclados, tabletas
◦ Controladores de juegos
Dispositivos de comunicación local
• Discos, cintas
• Sensores, controladores
• Impresoras
Dispositivos de comunicación remota
• Modem
• Controladores de redes Ethernet
• Dispositivos inalámbricos
Clasificación
Velocidad de transferencia
Complejidad del control
Unidad básica de transferencia de datos (bytes ó bloques)
Representación de los datos
Manejo de errores
Sistemas Operativos, 2007-1
Sistemas Operativos, 2007-1
1
Tipos de Entrada/Salida
Entrada/Salida Controlada por Programa La CPU emite comando de transferencia de datos, y espera a que termine la
operación.
Gigabit Ethernet
Graphics display
Hard disk
Entrada/Salida Controlada por Interrupciones La CPU emite comando de transferencia de datos, continúa su ejecución
y es interrumpida por el dispositivo cuando éste está listo.
Ethernet
Optical disk
Acceso Directo a Memoria (DMA) Un dispositivo de DMA
controla la transferencia de datos entre Entrada/Salida y
Memoria. CPU da comandos al DMA, el que sólo la interrumpe
después de haber transferido un bloque de datos.
Scanner
Laser printer
Floppy disk
Canales de Entrada/Salida Entrada/Salida a cargo de un procesador especializado que ejecuta un programa de E/S escrito
por la CPU en memoria principal. Canal interrumpe a la CPU
sólo después de terminada una secuencia de instrucciones.
Modem
Mouse
Keyboard
101
102
103
104
105
106
107
Data Rate (bps)
108
109
Procesador de Entrada/Salida Procesador independiente con
memoria local está a cargo de Entrada/Salida.
Figure 11.1 Typical I/O Device Data Rates
CPU queda cada vez más liberada de tareas de Entrada/Salida.
Sistemas Operativos, 2007-1
2
Acceso Directo a Memoria (DMA)
Issue Read
command to
I/O module
Read status
of I/O
module
CPU Æ I/O
Issue Read
command to
I/O module
I/O Æ CPU
Read status
of I/O
module
CPU Æ I/O
Do something
else
Interrupt
I/O Æ CPU
Not
ready
Check
status
Check
status
Error
condition
Ready
No
Error
condition
CPU Æ DMA
Issue Read
Do something
block command
to I/O module
else
Read status
of DMA
module
I/O Æ CPU
Read word
from I/O
Module
I/O Æ CPU
Write word
into memory
CPU Æ memory
Write word
into memory
CPU Æ memory
No
Done?
Yes
Next instruction
Done?
Yes
Next instruction
(a) Programmed I/O
DMA Æ CPU
(c) Direct memory access
Ready
Read word
from I/O
Module
Interrupt
Next instruction
(b) Interrupt-driven I/O
Figure 1.19 Three Techniques for Input of a Block of Data
Dispositivo transfiere datos desde y hacia la memoria a través
del bus del sistema
• CPU involucrada sólo al comienzo y término de la transferencia
CPU entrega información necesaria para la transferencia
• Lectura ó escritura
• Dispositivo a accesar
• Número de palabras a escribir
• Dirección inicial en memoria
DMA accesa bus del sistema
• Cuando el procesador no lo está usando, ó
• Roba ciclos del bus (Cycle Stealing )
◦ CPU detenida por un ciclo del bus
◦ No es interrupción sino detención del pipeline
Configuraciones de DMA
• DMA conectado a bus común
• DMA conectado a dispositivos de Entrada/Salida
• DMA conectado a bus de E/S
Sistemas Operativos, 2007-1
Data
Count
Data Lines
Data
Register
Address Lines
Address
Register
DMA Request
DMA Acknowledge
Interrupt
Read
Write
Control
Logic
Figure 11.2 Typical DMA Block Diagram
3
Processor
I/O
DMA
Memory
I/O
• • •
Diseño de Sistemas de Entrada/Salida
(a) Single-bus, detached DMA
Objetivos
Processor
DMA
Eficiencia
• Dispositivos de E/S son el cuello de botella del sistema
• Multiprogramación mantiene a la CPU ocupada
• Transferencia de bloques de datos
Generalidad
• Tratar todos los dispositivos de manera uniforme
• Capa de software intermedia de gestión de dispositivos
(Drivers)
• Presentar una interfaz común para familias de dispositivos
Memory
DMA
I/O
I/O
I/O
(b) Single-bus, Integrated DMA-I/O
System bus
Processor
Memory
DMA
Organización por niveles
I/O bus
I/O
I/O
Nivel superior
• Ofrece interfaz de alto nivel
• Interactúa con el usuario
• Tiempos de respuesta permitidos son mayores
Nivel inferior
• Interfaz de bajo nivel
• Más cercano al hardware
• Tiempos de respuesta más exigentes
I/O
(c) I/O bus
Figure 11.3 Alternative DMA Configurations
Sistemas Operativos, 2007-1
User
Processes
4
User
Processes
Modelos de Entrada/Salida
User
Processes
Directory
Management
Dispositivos periféricos locales
Logical
I/O
Se comunica con procesos como flujos de bytes
E/S Lógica Este nivel presenta al usuario una interfaz del
dispositivo que le ofrece operaciones básicas como Abrir,
Cerrar, Leer y/o Escribir, etc.
E/S a nivel del Dispositivo Este nivel traduce las instrucciones del usuario en operaciones propias del canal y/o
controlador. Este nivel también ofrece almacenamiento intermedio de datos (Buffering )
Planificación y Control Este nivel se encarga del control,
planificación y encolamiento de las operaciones. Este nivel
es el que interactúa con el dispositivo
Dispositivos de Comunicaciones
Communication
Architecture
File
System
Physical
Organization
Device
I/O
Device
I/O
Device
I/O
Scheduling
& Control
Scheduling
& Control
Scheduling
& Control
Hardware
Hardware
Hardware
(a) Local peripheral device
(b) Communications port
(c) File system
Similar al anterior, pero reemplaza nivel de E/S Lógica por
una arquitectura de comunicación de datos (Ej., TCP/IP)
Figure 11.4 A Model of I/O Organization
Sistemas Operativos, 2007-1
5
Modelos de Entrada/Salida
Almacenamiento Intermedio (Buffering)
Sistema de Archivos
Porqué es necesario?
Agrega otro nivel de abstracción a la comunicación con los
procesos
Administración de directorios Maneja nombres simbólicos
para los dispositivos y los archivos
Agrega operaciones de manejo de directorios (Creación,
eliminación, renombre)
Sistema de Archivos Organiza datos en estructuras lógicas
(Archivos)
Maneja operaciones sobre archivos omo Abrir, Cerrar, Leer
y/o Escribir, etc.
Controla permisos de acceso a archivos
Organización Fı́sica Traduce referencias lógicas a archivos
en direcciones fı́sicas en los dispositivos de almacenamiento
secundario
Administra el Almacenamiento Intermedio
Proceso quiere leer bloque de datos de 4 KB desde disco a
memoria a partir de posición 0x10000 en página 10 de datos
Proceso se bloquea esperando por E/S
Qué pasa con página 10 de datos?
• Debe recibir datos de la transferencia
• No puede ser paginada a disco
Sistema operativo provee almacenamiento intermedio
• Transferencia se realiza en el espacio del sistema
• Al terminar transferencia, sistema operativo mueve el bloque al espacio del usuario
• Sea:
◦ T : Tiempo de E/S de un bloque
◦ C : Tiempo entre operaciones de E/S
◦ M : Tiempo para mover un bloque
◦ Sin buffering, TE/S = C + T
◦ Con buffering, TE/S = máx (C, T ) + M
Almacenamiento intermedio doble
Almacenamiento intermedio circular
Sistemas Operativos, 2007-1
6
Operating System
I/O Device
User Process
In
(a) No buffering
Operating System
I/O Device
In
User Process
Move
(b) Single buffering
Operating System
I/O Device
In
User Process
Move
(c) Double buffering
Operating System
I/O Device
In
User Process
Move
•
•
(d) Circular buffering
Figure 11.5
I/O Buffering Schemes (input)
Sistemas Operativos, 2007-1
7
Descargar