2. 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.
3. 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.
4. Categorías de dispositivos de
entrada/salida
• Dispositivos de comunicaciones:
– Apropiados para comunicarse con
dispositivos lejanos.
– Adaptadores de líneas digitales.
– Módem.
5. 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.
6. Ethernet de gigabit
Pantalla gráfica
Disco duro
Ethernet
Disco óptico
Escáner
Impresora láser
Disco flexible
Módem
Ratón
Teclado
101 102 103 104 105 106 107 108 109
Velocidad de datos (bps)
Figura 11.1. Velocidades de datos de dispositivos de E/S típicos.
7. 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.
8. 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.
9. 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.
10. 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.
11. 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.
12. 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.
13. 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.
14. 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.
15. DMA
Cuenta
de datos
Registros
Líneas de datos
de datos
Registros
Líneas de de dirección
direcciones
Solicitud de DMA
Reconocimiento de
DMA Lógica
Interrupció
n
Lectura de control
Escritur
a
Figura 11.2. Diagrama de bloques de un DMA típico.
16. 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.
17. Tiempo
Ciclo de instrucción
Ciclo del Ciclo del Ciclo del Ciclo del Ciclo del Ciclo del
procesador procesador procesador procesador procesador procesador
Leer Descodificar Leer Ejecutar Almacenar Interrupción
instrucción instrucción operando instrucción resultado del proceso
Puntos de Puntos de ruptura
ruptura por DMA por interrupción
Figura 11.3. Puntos de ruptura por DMA y por interrupción en un ciclo de instrucción.
18. DMA
Procesador DMA E/S E/S Memoria
(a) DMA separada de bus sencillo
- Estructura sencilla y barata.
- El módulo realiza la transferencia entre Memoria y los
dispositivos de E/S a través del módulo DMA, por lo que
consume 2 ciclos de bus por cada palabra transferida, como en
la E/S programada
19. DMA
Procesador DMA DMA Memoria
E/S
E/S E/S
(b) DMA integrada de bus sencillo
- El módulo DMA está conectado directamente a uno o más
bloques de E/S, de modo que la posibles de DMA. de datos no
Figura 11.4. Configuraciones
transferencia
emplea el bus del sistema.
- El intercambio de datos entre DMA y los módulos de E/S
se realiza fuera del bus de sistema
20. DMA
Bus del sistema
Procesador DMA Memoria
Bus de E/S
E/S E/S E/S
(c) Bus de E/S
- Los módulos de E/S están conectados al DMA a mediante un bus
- La configuración es fácilmente ampliable de DMA.
Figura 11.4. Configuraciones posibles
- El intercambio de datos entre DMA y los módulos de E/S se
realiza fuera del bus de sistema
21. Canales de E/S
- Extensión del concepto de DMA, donde cada
canal tiene control absoluto de las operaciones de
E/S.
- Las instrucciones de E/S se almacenan en
memoria principal, pero son ejecutadas
completamente en un procesador de propósito
específico situado en el propio canal. Tipos:
22. Canal selector
Canal de Datos y direcciones
con la Memoria Principal
Canal
Selector
Controlador Controlador
de E/S de E/S
Señales de control
de la CPU
23. Canal Multiplexor
A la Memoria Principal
Canal
Multiplexor
Controlador
A la CPU de E/S
Controlador
de E/S
Controlador
de E/S
Controlador
de E/S
24. 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.
25. 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.
26. Comunicación con un
dispositivo periférico local
Procesos de
Usuario
Trata al dispositivo como un recurso lógico, sin
preocuparse de los detalles de control del dispositivo
E/S lógica particular. Proporciona identificadores y operaciones de
lectura, escritura, apertura y cierre
E/S con Convierte las operaciones en secuencias de instrucciones
dispositivos de E/S, comandos para el canal y ordenes al controlador
Planificación Planificación, encolado y control de las operaciones de
y Control E/S. Manejo de interrupciones. Se encarga de realizar la
comunicación con el hardware.
Hardware
27. Dispositivo de comunicaciones
Procesos de
Usuario
Arquitectura de Reemplaza a la E/S lógica. Puede constar de varios
niveles. Un ejemplo puede ser la arquitectura
Comunicaciones
TCP/IP.
E/S con
dispositivos
Planificación
y Control
Hardware
28. Sistema de archivos
Procesos de
Usuario
Gestión de
directorios
Traducción de nombres a identificadores de fichero.
Sistema de Operaciones que tienen que ver con la gestion de
Archivos directorios: Añadir, Borrar, Reorganizar
Organización Estructura lógica de los archivos. Operaciones
Física especificadas por el usuario: Abrir, Cerrar, Leer, Escribir.
Gestión de derechos de acceso
E/S con
Conversión de “direcciones” lógicas a direcciones físicas
dispositivos del almacenamiento secundario. Asignación de espacio en
Planificación el almacenamiento secundario (disco) y principal (buffers)
y Control
Hardware
29. 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.
30. 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.
31. 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.
32. Almacenamiento intermedio
de E/S
Sistema operativo Proceso de usuario
Entrar
Dispositivo de E/S
(a) Sin almacenamiento intermedio
Sistema operativo Proceso de usuario
Entrar Mover
Dispositivo de E/S
(b) Almacemiento intermedio sencillo
Figura 11.6. Esquemas de almacenamiento intermedio de E/S (entrada).
33. 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.
34. 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.
36. 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.
37. 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.
38. Almacenamiento intermedio
de E/S
Sistema operativo Proceso de usuario
Entrar Mover
Dispositivo de E/S
(c) Almacenamiento intermedio doble
Sistema operativo Proceso de usuario
Entrar Mover
Dispositivo de E/S
(d) Almacenamiento intermedio circular
Figura 11.6. Esquemas de almacenamiento intermedio de E/S (entrada).
39. 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.
40. Media del tiempo de una
transferencia de E/S a disco
Espera por Espera por Retardo Transferencia
Búsqueda
dispositivo canal de giro de datos
Dispositivo ocupado
Figura 11.7. Media del tiempo de una transferencia de E/S a disco.
41. 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.
42. 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.
43. 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.
44. Políticas de planificación del
disco
• Prioridad (PRI):
– 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.
45. Políticas de planificación del
disco
• Último en entrar, primero en salir
(LIFO):
– 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.
46. Políticas de planificación del
disco
• Primero el tiempo de servicio más corto
(SSTF):
– 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.
47. 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.
48. 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.
49. 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.
50. 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:
RSS Para análisis y simulación
Planificación aleatoria
FIFO Primero en entrar, primero en salir El más justo de todos
PRI Prioridad del proceso El control se lleva fuera de la gestión de
la cola del disco
LIFO Último en entrar, primero en salir Maximiza el uso de recursos y cercanía
Selección en función del elemento solicitado:
SSTF Primero el más corto Gran aprovechamiento y colas pequeñas
SCAN Recorre el disco de un lado a otro Mejor distribución del servicio
C-SCAN Recorre el disco en un solo sentido Menor variabilidad en el servicio
SCAN de N registros a la vez Garantía de servicio
SCAN de N pasos
SCAN de N pasos, con N =longitud Sensible a la carga
FSCAN de la cola al comienzo del
ciclo del SCAN
51. RAID 0 (no redundante)
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 13 banda 14 banda 15
(a) RAID 0 (no redundante)
Figura 11.9A. Niveles RAID.
52. Disco Disco Disco Disco
Disco lógico físico 0 físico 1 físico 2 físico 3
banda 0 banda 0 banda 1 banda 2 banda 3
banda 1 banda 4 banda 5 banda 6 banda 7
banda 2 banda 8 banda 9 banda 10 banda 11
banda 3 banda 12 banda 13 banda 14 banda 15
banda 4
banda 5
banda 6
banda 7 Software
banda 8 de gestión
del vector
banda 9
banda 10
banda 11
banda 12
banda 13
banda 14
banda 15
53. RAID 1 (espejo)
banda 0 banda 1 banda 2 banda 3 banda 0 banda 1 banda 2 banda 3
banda 4 banda 5 banda 6 banda 7 banda 4 banda 5 banda 6 banda 7
banda 8 banda 9 banda 10 banda 11 banda 8 banda 9 banda 10 banda 11
banda 12 banda 13 banda 14 banda 15 banda 12 banda 13 banda 14 banda 15
(b) RAID 1 (espejo)
54. RAID 2 (redundancia
mediante código Hamming)
b0 b1 b2 b3 F4(b) F1(b) F2(b)
(c) RAID 2 (redundancia mediante código
Hamming)
Figura 11.9A. Niveles RAID.
55. RAID 3 (paridad por
intercalación de bits)
b0 b1 b2 b3 P(b)
(d) RAID 3 (paridad por intercalación de bits)
Figura 11.9B. Niveles RAID.
59. Cache de disco
• Es una memoria intermedia situada en la
memoria principal para sectores de
disco.
• Contiene una copia de algunos sectores
del disco.
60. 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.
61. 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.
62. 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 .
63. 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.
64. E/S en WINDOWS 2000
Gestor de E/S
Gestor
de cache
Controladores de
sistema de archivos
Controladores de
red
Controladores de
dispositivos hardware
Figura 11.16. Gestión de E/S en Windows 2000.