Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 1
1Arquitectura de Computadores
Arquitectura de Computadores
Departament d’Informàtica de Sistemes i ComputadorsE.P.S.Alcoi
2Arquitectura de Computadores
Bloque Temático II: Arquitectura de Computadores
Tema 3: Introducción a la arquitectura de un computadorTema 4: Procesadores segmentadosTema 5: El subsistema de memoriaTema 6: El subsistema de E/STema 7: Computadores SuperescalaresTema 8: Multiprocesadores
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 2
3Arquitectura de Computadores
Gestión de la Entrada/SalidaPlanificación de discos
El subsistema de Entrada/Salida
4Arquitectura de Computadores
Categorías de dispositivos de entrada/salida
Dispositivos legibles por los humanos:• Apropiados para la comunicación con el usuario.• Impresoras.• Terminales de vídeo:
# Pantalla.# Teclado.# Ratón.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 3
5Arquitectura de Computadores
Categorías de dispositivos de entrada/salida
Dispositivos legibles por la máquina:• Adecuados para comunicarse con equipos electrónicos.• Discos y unidades de cinta.• Sensores.• Controladores.• Impulsores.
6Arquitectura de Computadores
Categorías de dispositivos de entrada/salida
Dispositivos de comunicaciones:• Apropiados para comunicarse con dispositivos lejanos.• Adaptadores de líneas digitales.• Módem.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 4
7Arquitectura de Computadores
Diferencias entre las clases de dispositivos de E/S
Velocidad de los datos:• Puede haber una diferencia de varios órdenes de magnitud
en las velocidades de transmisión de datos.
Ethernet de gigabit
Pantalla gráfica
Disco duro
Ethernet
Disco óptico
Escáner
Impresora láser
Disco flexible
Módem
Ratón
Teclado
Velocidad de datos (bps)
Figura 11.1. Velocidades de datos de dispositivos de E/S típicos.
101 102 103 104 105 106 107 108 109
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 5
9Arquitectura de Computadores
Diferencias entre las clases de dispositivos de E/S
Aplicaciones:• Un disco que almacena archivos necesita el soporte de un
software de gestión de archivos.• Un disco usado como almacén de páginas de un sistema
de memoria virtual necesita el soporte de un software y de un hardware especial.
• Puede que un terminal usado por el administrador del sistema tenga una prioridad mayor.
10Arquitectura de Computadores
Diferencias entre las clases de dispositivos de E/S
Complejidad del control.Unidad de transferencia:• Los datos pueden transmitirse como flujos de
bytes para un terminal o en bloques mayores para un disco.
Representación de los datos:• Esquemas de codificación.
Condiciones de error:• Cada dispositivo responde a los errores de
diferente manera.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 6
11Arquitectura de Computadores
Técnicas para realizar la E/S
E/S programada:• El proceso espera a que termine la operación.
E/S dirigida por interrupciones:• Se emite una orden de E/S.• El procesador continúa con la ejecución de las
instrucciones.• El módulo de E/S lo interrumpe cuando completa su
trabajo.
12Arquitectura de Computadores
Técnicas para realizar la E/S
Acceso directo a la memoria (DMA):• Un módulo de DMA controla el intercambio de datos entre
la memoria principal y el dispositivo de E/S. • El procesador se interrumpe sólo cuando se ha transferido
el bloque entero.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 7
13Arquitectura de Computadores
Evolución de las funciones de la E/S
El procesador controla directamente los dispositivos periféricos.Se añade un controlador o módulo de E/S:• El procesador utiliza E/S programada sin interrupciones.• El procesador se aisla de los detalles específicos de las
interfaces con dispositivos externos.
14Arquitectura de Computadores
Evolución de las funciones de la E/S
Controlador o módulo de E/S con interrupciones:• El procesador no tiene que desperdiciar tiempo esperando
a que se realice una operación de E/S.Acceso directo a la memoria:• Se puede mover un bloque de datos a la memoria sin que
intervenga el procesador.• El procesador sólo interviene al principio y al final de la
transferencia.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 8
15Arquitectura de Computadores
Evolución de las funciones de la E/S
El módulo de E/S es un procesador separado.Procesador de E/S:• El módulo de E/S posee su propia memoria local.• Es un computador independiente.
16Arquitectura de Computadores
Acceso directo a la memoria
Toma el control del sistema desde la CPU para transferir datos desde y hacia la memoria a través del bus del sistema. Se utiliza el robo de ciclos para transferir datos a través del bus del sistema. El ciclo de instrucción se suspende para dar paso a la transferencia de datos. La CPU espera un ciclo del bus. No existe interrupción alguna:• No salva el contexto.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 9
17Arquitectura de Computadores
DMA
Cuenta de datos
Registros de datos
Registrosde dirección
Lógica de control
Líneas de datos
Líneas de direcciones
Solicitud de DMAReconocimiento de DMA
InterrupciónLectura
Escritura
Figura 11.2. Diagrama de bloques de un DMA típico.
18Arquitectura de Computadores
DMA
El robo de ciclos hace que la CPU ejecute más lentamente. El número de ciclos de bus requeridos se puede acortar mediante la integración de las funciones del DMA y de la E/S. Debe haber un camino entre el módulo de DMA y el módulo de E/S que no pasen por el bus del sistema.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 10
Tiempo
Ciclo de instrucción
Ciclo delprocesador
Ciclo delprocesador
Ciclo delprocesador
Ciclo delprocesador
Ciclo delprocesador
Ciclo delprocesador
Leerinstrucción
Leeroperando
Descodificarinstrucción
Ejecutarinstrucción
Almacenarresultado
Interrupcióndel proceso
Puntos deruptura por DMA
Puntos de ruptura por interrupción
Figura 11.3. Puntos de ruptura por DMA y por interrupción en un ciclo de instrucción.
20Arquitectura de Computadores
DMA
Figura 11.4. Configuraciones posibles de DMA.
Procesador DMA E/S E/S Memoria
(a) DMA separada de bus sencillo
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 11
21Arquitectura de Computadores
DMA
(b) DMA integrada de bus sencillo
Figura 11.4. Configuraciones posibles de DMA.
Procesador DMA DMA
E/S
E/S E/S
Memoria
22Arquitectura de Computadores
DMA
Figura 11.4. Configuraciones posibles de DMA.
(c) Bus de E/S
Procesador DMA
E/S E/S E/S
Memoria
Bus del sistema
Bus de E/S
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 12
23Arquitectura de Computadores
Aspectos de diseño en los sistemas operativos
Eficiencia:• La mayoría de los dispositivos de E/S son
extremadamente lentos en comparación con la memoria principal.
• El uso de la multiprogramación permite que algunos procesos esperen en operaciones de E/S mientras otro proceso se está ejecutando.
• La E/S no puede seguir el paso de la actividad del procesador.
• Se utiliza el intercambio para introducir más procesos listos, que es una operación de E/S.
24Arquitectura de Computadores
Aspectos de diseño en los sistemas operativos
Generalidad:• Es preferible gestionar todos los dispositivos de E/S de
una manera uniforme. • Oculta la mayoría de los detalles de la E/S con dispositivos
en rutinas de bajo nivel, de forma que los procesos y los niveles superiores contemplen a los dispositivos en términos generales, como la lectura, escritura, apertura, cierre, bloqueo y desbloqueo.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 13
Procesos de usuario
Procesos de usuario
Procesos de usuario
E/S lógica
E/S condispositivos
E/S condispositivos
E/S condispositivos
Planificacióny control
Planificacióny control
Planificacióny control
Arquitectura decomunicaciones
Gestión dedirectorios
Sistema dearchivo
Organizaciónfísica
(a) Dispositivo periférico local (b) Puerto de comunicaciones (c) Sistema de archivos
Figura 11.5. Un modelo de organización de E/S.
Hardware Hardware Hardware
26Arquitectura de Computadores
Almacenamiento intermedio de la E/S
Razones para el almacenamiento intermedio:• Los procesos deben esperar a que termine la operación de
E/S para continuar. • Algunas páginas deben permanecer en la memoria
principal durante la E/S.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 14
27Arquitectura de Computadores
Almacenamiento intermedio de la E/S
Dispositivos orientados a bloque:• La información se almacena en bloques de tamaño fijo.• Las transferencias de un bloque se realizan cada vez. • Se utilizan para los discos y las cintas.
Dispositivos orientados a flujo:• Transfieren los datos como una serie de bytes. • Se utilizan para los terminales, impresoras, puertos de
comunicación, ratones y otros dispositivos que no son de almacenamiento secundario.
28Arquitectura de Computadores
Memoria intermedia sencilla
El sistema operativo asigna a una solicitud de E/S un espacio en la parte del sistema de la memoria principal. Dispositivos orientados a bloque:• Las transferencias de entrada se realizan en el espacio del
sistema. • Cuando sea necesario, el proceso mueve el bloque al
espacio del usuario. • El proceso mueve otro bloque al espacio:
# Lectura por adelantado.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 15
29Arquitectura de Computadores
Almacenamiento intermedio de E/S
Sistema operativo Proceso de usuario
(a) Sin almacenamiento intermedio
Sistema operativo Proceso de usuario
Dispositivo de E/S
Dispositivo de E/S
Entrar
Entrar Mover
(b) Almacemiento intermedio sencillo
Figura 11.6. Esquemas de almacenamiento intermedio de E/S (entrada).
30Arquitectura de Computadores
Memoria intermedia sencilla
Dispositivos orientados a bloque:• El proceso de usuario puede procesar un bloque de datos
mientras se está leyendo el siguiente. • Se puede dar el intercambio, ya que la entrada tiene lugar
en la memoria del sistema y no en la memoria de usuario. • El sistema operativo debe guardar constancia de las
asignaciones de memorias intermedias del sistema a procesos de usuario.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 16
31Arquitectura de Computadores
Memoria intermedia sencilla
Dispositivos orientados a flujo:• Se aplica por líneas.• La entrada del ususario a partir de un terminal se realiza
por líneas, marcadas con un retorno de carro al final de la misma.
• La salida al terminal es línea a línea.
32Arquitectura de Computadores
Memoria intermedia doble
Utiliza dos almacenes intermedios del sistema en lugar de uno. Un proceso puede transferir datos hacia o desde una memoria intermedia mientras que el sistema operativo vacía o rellena el otro.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 17
33Arquitectura de Computadores
Memoria intermedia circular
Se usan más de dos memorias intermedias.Cada memoria intermedia individual constituye una unidad de la memoria intermedia circular. Se usan cuando las operaciones de E/S han de ir al ritmo del proceso.
34Arquitectura de Computadores
Almacenamiento intermedio de E/S
Sistema operativo
Sistema operativo
Proceso de usuario
Proceso de usuario
Dispositivo de E/S
Dispositivo de E/S
Entrar
Entrar Mover
Mover
(c) Almacenamiento intermedio doble
(d) Almacenamiento intermedio circular
Figura 11.6. Esquemas de almacenamiento intermedio de E/S (entrada).
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 18
35Arquitectura de Computadores
Gestión de la Entrada/SalidaPlanificación de discos
El subsistema de Entrada/Salida
36Arquitectura de Computadores
Parámetros de rendimiento del disco
Para leer o escribir, la cabeza debe ponerse en la pista deseada, al comienzo del sector pertinente. Tiempo de búsqueda:• Es el tiempo que se tarda en ubicar la cabeza en la pista
deseada. Retardo o latencia de giro:• Es el tiempo que tarda el comienzo del sector en llegar
hasta la cabeza.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 19
37Arquitectura de Computadores
Media del tiempo de una transferencia de E/S a disco
Figura 11.7. Media del tiempo de una transferencia de E/S a disco.
BúsquedaEspera por dispositivo
Espera porcanal
Retardode giro
Transferenciade datos
Dispositivo ocupado
38Arquitectura de Computadores
Parámetros de rendimiento del disco
Tiempo de acceso:• Es la suma del tiempo de búsqueda y el retardo de giro.• Es decir, es el tiempo que se tarda en llegar a la posición
de lectura o escritura. La transferencia de datos tiene lugar a medida que el sector se mueve bajo la cabeza.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 20
39Arquitectura de Computadores
Políticas de planificación del disco
La razón de la diferencia en el rendimiento puede encontrarse en el tiempo de búsqueda.Para un disco sencillo, habrá un número de solicitudes de E/S. Si se eligen las solicitudes en un orden aleatorio, se obtendrá el peor rendimiento posible.
40Arquitectura de Computadores
Políticas de planificación del disco
Primero en entrar, primero en salir (FIFO):• Las solicitudes se procesan en un orden secuencial.• Es una estrategia justa para todos los procesos. • Esta técnica se parece mucho a la planificación aleatoria si
hay muchos procesos.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 21
41Arquitectura de Computadores
Políticas de planificación del disco
Prioridad:• No persigue la optimización del uso del disco, sino cumplir
con otros objetivos. • Los trabajos por lotes que sean cortos tienen una prioridad
más alta. • Proporciona un buen tiempo de respuesta interactiva.
42Arquitectura de Computadores
Políticas de planificación del disco
Último en entrar, primero en salir:• Buena política para los sistemas de proceso de
transacciones:# El hecho de conceder el dispositivo al último usuario acarrea
pocos o nulos movimientos del brazo. • Existe la posibilidad de inanición, ya que puede que el
trabajo no vuelva a ganar la cabeza de la línea.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 22
43Arquitectura de Computadores
Políticas de planificación del disco
Primero el tiempo de servicio más corto:• Elegir la solicitud de E/S a disco que requiera el menor
movimiento posible del brazo del disco desde su posición actual.
• Siempre se elige procurando el mínimo tiempo de búsqueda.
44Arquitectura de Computadores
Políticas de planificación del disco
SCAN:• El brazo sólo se puede mover en un sentido, resolviendo
todas las solicitudes pendientes de su ruta hasta que alcance la última pista o hasta que no haya más solicitudes en esa dirección.
• Se produce un cambio en la dirección.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 23
45Arquitectura de Computadores
Políticas de planificación del disco
C-SCAN:• Restringe el rastreo a una sola dirección. • Cuando se haya visitado la última pista en un sentido, el
brazo vuelve al extremo opuesto del disco y comienza a recorrerlo de nuevo.
46Arquitectura de Computadores
Políticas de planificación del disco
SCAN de N pasos:• Divide la cola de solicitudes del disco en subcolas de
longitud N. • Las subcolas se procesan una a una mediante un SCAN. • Mientras se procesa una cola, se añadirán nuevas
solicitudes a las otras. FSCAN:• Emplea dos subcolas.• Una de las colas permanece vacía en espera de nuevas
solicitudes.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 24
47Arquitectura de Computadores
Algoritmos de planificación del disco
Tabla 11.3. Algoritmos de planificación de disco [WIED87].
Nombre Descripción Comentarios
Selección en función del demandante:
Selección en función del elemento solicitado:
Planificación aleatoria
Primero en entrar, primero en salir
Prioridad del proceso
Último en entrar, primero en salir
Para análisis y simulación
El más justo de todos
El control se lleva fuera de la gestión de
la cola del disco
Maximiza el uso de recursos y cercanía
Primero el más corto
Recorre el disco de un lado a otro
Recorre el disco en un solo sentido
SCAN de N registros a la vez
SCAN de N pasos, con N =longitud de la cola al comienzo del ciclo del SCAN
Gran aprovechamiento y colas pequeñas
Mejor distribución del servicio
Menor variabilidad en el servicio
Garantía de servicio
Sensible a la cargaSCAN de N pasos
FSCAN
C-SCAN
SCANSSTF
LIFO
PRIFIFO
RSS
48Arquitectura de Computadores
RAID 0 (no redundante)
Figura 11.9A. Niveles RAID.
banda 0 banda 3banda 2banda 1
banda 7
banda 11
banda 13
banda 9
banda 5
banda 12
banda 8
banda 4
banda 14
banda 10
banda 6
banda 15
(a) RAID 0 (no redundante)
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 25
Figura 11.10. Correspondencia de datos para una serie RAID nivel 0.
banda 0
banda 1
banda 2
banda 3
banda 4
banda 5
banda 6
banda 7
banda 8
banda 9
banda 10
banda 11
banda 12
banda 13banda 14
banda 15
banda 1banda 0 banda 2 banda 3
banda 4 banda 5 banda 6 banda 7banda 8 banda 9 banda 10 banda 11
banda 12 banda 13 banda 14 banda 15
Disco lógicoDisco físico 0
Disco físico 1
Disco físico 2
Disco físico 3
Softwarede gestióndel vector
RAID 1 (espejo)
banda 0 banda 1
banda 13
banda 11banda 10
banda 7banda 6
banda 12
banda 8
banda 4
banda 3banda 2
banda 5
banda 9
banda 15banda 14
banda 0
banda 8
banda 1
banda 5
banda 9
banda 13
banda 2
banda 6
banda 10
banda 14 banda 15
banda 11
banda 7
banda 3
banda 12
banda 4
(b) RAID 1 (espejo)
Figura 11.9A. Niveles RAID.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 26
RAID 2 (redundancia mediante código Hamming)
Figura 11.9A. Niveles RAID.
(c) RAID 2 (redundancia mediante código Hamming)
b0 b1 b2 b3 F4(b) F1(b) F2(b)
52Arquitectura de Computadores
RAID 3 (paridad por intercalación de bits)
Figura 11.9B. Niveles RAID.
(d) RAID 3 (paridad por intercalación de bits)
b0 b1 b2 b3 P(b)
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 27
53Arquitectura de Computadores
RAID 4 (paridad por intercalación de bloques)
Figura 11.9B. Niveles RAID.
(e) RAID 4 (paridad por intercalación de bloques)
bloque 0
bloque 4
bloque 8
bloque 13
bloque 9
bloque 6
bloque 11
bloque 7
bloque 2
bloque 12
bloque 1
bloque 5
bloque 10
bloque 14 bloque 15
bloque 3 P(0-3)
P(4-7)
P(8-11)
P(12-15)
54Arquitectura de Computadores
RAID 5 (paridad por intercalación distribuida de bloques)
Figura 11.9B. Niveles RAID.
(f) RAID 5 (paridad por intercalación distribuida de bloques)
bloque 0
P(16-19)
P(12-15)
bloque 4
bloque 8
bloque 12
bloque 1
bloque 5
bloque 9
bloque 16
bloque 2
bloque 6
P(8-11)
bloque 13
bloque 17
P(4-7)
bloque 3
bloque 10
bloque 14
bloque 18
P(0-3)
bloque 7
bloque 11
bloque 15
bloque 19
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 28
55Arquitectura de Computadores
RAID 6 (redundancia dual)
Figura 11.9B. Niveles RAID.
(g) RAID 6 (redundancia dual)
bloque 0
bloque 4
bloque 8
bloque 7
bloque 11
bloque 2bloque 1
bloque 14bloque 13bloque 12
bloque 5 bloque 6
bloque 3
bloque 10
bloque 15P(12-15)
bloque 9 P(8-11)
Q(12-15)
P(4-7)
Q(8-11)
P(0-3)
Q(4-7)
Q(0-3)
56Arquitectura de Computadores
Cache de disco
Es una memoria intermedia situada en la memoria principal para sectores de disco.Contiene una copia de algunos sectores del disco.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 29
57Arquitectura de Computadores
Usado Menos Recientemente (LRU)
Se reemplaza el bloque que ha permanecido sin referencias en la cache durante más tiempo. La cache está formada por una pila de bloques.El bloque referenciado más recientemente estáen la cima de la pila.Cuando se hace referencia un bloque de la cache, se le mueve hasta la cima de la pila.
58Arquitectura de Computadores
Usado Menos Recientemente
Cuando se trae un bloque nuevo, se elimina el bloque que está en el fondo de la pila.En realidad estos bloques no se mueven por la memoria principal.Se utiliza una pila de punteros.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 30
59Arquitectura de Computadores
Usado Menos Frecuentemente (LFU)
Se sustituye el bloque que ha sufrido un menor número de referencias. Se asocia un contador a cada bloque.Con cada referencia al bloque, el contador se incrementa.Cuando hace falta un reemplazo, se selecciona el bloque con menor valor del contador.Puede que se haga referencia a algunos bloques a intervalos cortos de referencias repetidas y que, por lo tanto, no necesiten ser referenciados nuevamente .
60Arquitectura de Computadores
E/S en UNIX SVR4
Subsistema de archivos
Cache de buffers
Carácter Bloque
Gestor de dispositivo
Figura 11.14. Estructura de la E/S en UNIX.
Arquitectura de Computadores
Tema 6: El subsistema de Entrada/Salida 31
61Arquitectura de Computadores
E/S en WINDOWS 2000
Gestor de E/S
Gestorde cache
Controladores desistema de archivos
Controladores dered
Controladores dedispositivos hardware
Figura 11.16. Gestión de E/S en Windows 2000.