Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dispositivos
Dispositivos
Dispositivos de Entrada/Salida
Hardware de E/S Software de E/S Estratos del software de E/S Discos Relojes Terminales de tipo caracter Interfaces grficas Terminales de red Administracin de energa
ELO321 E/S 2
ELO321 E/S
Controladores de Dispositivos
Dispositivos de E/S tienen componentes:
componentes mecnicos componentes electrnicos
convertir flujo de datos seriales en bloques de bytes correccin de errores dejar disponible para la memoria principal
4
ELO321 E/S
Operaciones de E/S
Instrucciones especiales de entrada y salida soportadas por el procesador:
Definicin de la atencin de eventos de E/S; seteo del estado de un dispositivo. Operacin de un evento de E/S Trmino de la operacin de E/S, seteo del estado del dispositivo.
lecturas/escrituras en estas zonas permiten acceder al controlador o a los datos de un dispositivo de E/S
5
ELO321 E/S
1 espacio de dir.
0xFF 0xFF Puertos E/S
2 espacios de dir.
Puertos E/S
RAM RAM
Puertos E/S 0 0 0
RAM
Puertos E/S
(a)
(b)
(c)
a)
b) c)
ELO321 E/S
CPU
RAM
I/O
CPU
RAM
I/O
ELO321 E/S
Objetivos
Independencia del Dispositivo
Programas puede acceder a cualquier dispositivo de E/S sin especificarlo a priori
Nomenclatura uniforme
nombre de un archivo o dispositivo como string o nmero independiente de la mquina
Manejo de errores
manejo tan cercano al hardware como sea posible
ELO321 E/S 8
Buffering
la data proveniente de un dispositivo no puede ser almacenada en su destino final
Procedimientos de E/S
a)
CPU rpida
CPU-driven Instruccin de E/S muy lenta o una espera ociosa: la ejecucin tarda tanto como la operacin de E/S
b)
I/O-driven La CPU intercambia datos con el controlador de E/S e inicia la operacin de E/S. El controlador efecta la operacin de E/S y sealiza cuando termina. Direct Memory Access (DMA) La CPU inicializa un canal de DMA que transfiere un bloque de memoria sealizando al finalizar.
c)
ELO321 E/S
10
ncleo
AB
a)
b)
c)
11
ELO321 E/S
12
3. CPU atiende
interrupcin
bus
Activacin de Interrupciones
ELO321 E/S 13
Continuacin despus de la interrupcin: lectura del estado del controlador. finalizar E/S
sistema / procesador
ELO321 E/S
hardware / perifrico
14
a)
b)
ELO321 E/S
16
a)
b)
ELO321 E/S
18
Manejadores de Interrupcin
Etapas del software al completar una interrupcin:
Respaldar registros no respaldados por el hardware de interrupcin Setear el contexto para la rutina de servicio de interrupcin (RSI) Inicializar el stack de la RSI reconocer interrupcin y re-habilitar interrupciones restaurar registros salvados ejecutar RSI setear el contexto de la MMU para prximo proceso carga nuevo PCB comienza a ejecutar prximo proceso
ELO321 E/S 19
Drivers de Dispositivos
Espacio de Usuario Proceso de Usuario
Resto del SO Espacio de Ncleo Driver de Impresora controlador Driver de Cmara Controlador Driver de DVD Controlador
Hardware Dispositivos
ELO321 E/S
20
(a) (b)
Sin un estndar para la interfaz del driver Con un estndar para la interfaz del driver
22
ELO321 E/S
(a) entrada sin buffer (b) utilizando un buffer en espacio de usuario (c) buffer de ncleo seguido de una copia a espacio de usuario (d) doble buffer de ncleo
ELO321 E/S 23
ELO321 E/S
24
ELO321 E/S
26
ELO321 E/S
27
ELO321 E/S
28
Sistema RAID
RAID: Redundant Array of Independent (or Inexpensive) Disks Velocidad: Disponibilidad:
almacenamiento distribuido almacenamiento redundante
Niveles en RAID: 0: almacenamiento distribuido 1: almacenamiento redundante 2: almacenamiento distribuido y tolerante a fallas 3-5: almacenamiento distribuido y mejoramiento de la correccin de errores
ELO321 E/S
29
RAID (1)
lectura paralela Strip: grupo de sectores
RAID (2)
CD Hardware (1)
CD Hardware (2)
Sector de un disco
ELO321 E/S
34
ELO321 E/S
35
ELO321 E/S
Algoritmo FIFO
ELO321 E/S 38
Algoritmo del menor tiempo de bsqueda Shortest Seek Time First (SSTF)
ELO321 E/S 39
Manejo de Errores
a) b) c)
Una pista con sector defectuoso Cambiando sector defectuoso por uno de reserva Desplazando sectores
41
ELO321 E/S
Almacenamiento Estable
Relojes (1)
Tpicamente se tienen 2 usos para los relojes: a) Reloj de tiempo real
ELO321 E/S
seteo lectura actualizacin automtica de la hora y la fecha seteo operacin automtica interrupcin del temporizador
43
b) Temporizadores
Relojes (2)
timeout
5500
ELO321 E/S
ELO321 E/S
46
Un terminal RS-232 se comunica con la CPU bit por bit Lnea serial bits salen en serie, 1 bit cada vez Windows usa los puertos COM1 y COM2 CPU y terminales son completamente independientes
ELO321 E/S 47
ELO321 E/S
48
Comunicacin serial asincrnica: 1-2 start bits (activar y sincronizar el receptor) 7 bits de datos 1 bit de paridad 1-2 stop bits (garantiza una pausa antes del prximo frame)
start
start
stop
ELO321 E/S
49
a) b)
ELO321 E/S
Monitor (1)
Parallel port
Monitor (2)
Teclado
El teclado enva secuencia de nmeros a la CPU:
el driver hace la conversin a caracteres usa una tabla ASCII
Cdigo ASCII
ELO321 E/S
54
Ambientes Grficos
Entradas: eventos
mouse teclado objetos
Salidas: pantalla
foreground / background crear eliminar ventanas elementos dentro de una ventana ventanas con funciones especiales
grfica dilogos
ELO321 E/S
55
ELO321 E/S
56
ELO321 E/S
60
Escalabilidad:
Bitmap vs Vectores
ELO321 E/S 61
X Windows (1)
ELO321 E/S
62
X Windows (2)
ELO321 E/S
63
Ejemplos:
suprimiendo el color; cambiando a modo blanco y negro reduciendo la resolucin en una imagen
66
ELO321 E/S