Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

S.O 14

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 35

SISTEMAS OPERATIVOS

Dispositivos de entrada y salida

Ingeniería en Computación
Sabás Flores Ascencio ESIME. Culhuacan
OBJETIVO DE LA UNIDAD

Al término de la unidad el alumno:

Describirá las técnicas utilizadas para el manejo de


dispositivos de entrada y salida considerando la
diferencia velocidades entre CPU y los canales de
entrada y salida e interfaces y espacios de memoria
temporal

Sabás Flores Ascencio

2
INTRODUCCIÓN
ADMINISTRACIÓN DE MEMORIA

ADMINISTRACIÓN DEL PROCESADOR

DISPOSITIVOS DE ENTRADA Y SALIDA

SISTEMA DE ARCHIVOS

INTERFACE DE USUARIO

Sabás Flores Ascencio


Sabás Flores Ascencio
Aspectos de Entrada/Salida (Input/Output)

• Gran variedad de periféricos


—Entregan diferentes cantidades de datos
—A diferentes velocidades
—En diferentes formatos

• Más lentos que la CPU


• Se necesitan módulos de I/O

Sabás Flores Ascencio


Dispositivos Externos

• Leibles por Humano


—Pantalla, impresora, teclado

• Leibles por Máquina


—Discos,cintas

• Comunicación
—Modem
—Tarjeta de Red, Network Interface Card (NIC)

Sabás Flores Ascencio


Velocidades Típicas I/O

Sabás Flores Ascencio


Módulo de Entrada/salida

• Interface con la CPU y Memoria


• Interface a uno o más periféricos

Memoria
CPU Periférico

Módulo ...
de I/O
Periférico

Sabás Flores Ascencio

8
Modelo Genérico de Módulo de I/O

Dirección

Líneas a los
Bus del
Sistema
Datos Módulo
de I/O ... periféricos

Control

Sabás Flores Ascencio

9
Función de Módulo de E/S

• Comunicación con la CPU


• Comunicación con el dispositivo
• Buffering de datos
• Control & Timing
• Detección de error

Sabás Flores Ascencio


Diagrama en Bloques de un Módulo E/S

Sabás Flores Ascencio


Diagrama en Bloques de Dispositivo Externo

Sabás Flores Ascencio

12
Técnicas de Entrada Salida

• Programada

• Por Interrupciones

• Acceso Directo a Memoria (DMA)

Sabás Flores Ascencio

13
Entrada Salida Programada

• La CPU tiene control directo sobre la E/S


—Sensado de estado
—Comandos de Lectura/Escritura
—Transferencia de datos
• La CPU espera que el módulo de E/S complete la
operación
• Se desperdicia tiempo de CPU

Sabás Flores Ascencio


Detalle de E/S programada

• La CPU pide una operación de E/S


• El módulo de E/S realiza la operación
• El módulo E/S setea los bits de status
• La CPU chequea los bits de status periodicamente
• El módulo de E/S no informa a la CPU
directamente
• El módulo de E/S no interrumpe a la CPU
• La CPU debe esperar o volver más tarde

Sabás Flores Ascencio

15
Entrada/salida Programada

⌦Ejemplo periférico lento

➢Procesador a 200 MHz (tiempo ciclo = 5 ns)

➢Ciclos por instrucción promedio: CPI = 2


Una instrucción tarda en promedio 2 x 5 ns = 10 ns
⇒ la CPU puede ejecutar ~100 MIPS

➢Queremos imprimir un archivo de 10 Kbytes en una


impresora láser de 20 páginas por minuto

➢1 página ≅ 3.000 caracteres (1 carácter = 1 byte)


La impresora imprime 60.000 caracteres por minuto = 1 Kbyte/seg

Sabás Flores Ascencio


Entrada/Salida Programada

a) E/S con espera de respuesta

➢ La CPU entra en un bucle y envía un nuevo byte cada vez que la impresora
está preparada para recibirlo

⇨ La impresora tarda 10 s en imprimir 10 Kbytes

⇨ La CPU está ocupada con la operación de E/S durante 10 s


(en ese tiempo la CPU podría haber ejecutado 1000 millones de instrucciones)

Sabás Flores Ascencio

17
Comandos de Entrada/salida

• La CPU coloca una dirección


—Identifica el módulo (& dispositivo si >1 por módulo)
• La CPU coloca un comando
—Control – dice al módulo que hacer
– e.g. Realizar un coversión AD
—Test - chequear status
– e.g. listo? Error?
—Read/Write
– El módulo transfiere datos via buffer desde/hacia el despositivo

Sabás Flores Ascencio

18
Sabás Flores Ascencio
Direccionamiento de Dispositivos de E/S

• Con E/S programada la transferencia de datos es muy


similar a acceder a memoria (desde el punto de vista de
la CPU)
• Cada dispositivo con un único identificador

Sabás Flores Ascencio

20
Mapeo de Entrada/Salida

• E/S mapeada en memoria (Memory mapped I/O)


— Los dispositivos y la memoria comparten un espacio de direcciones
— E/S es como leer/escribir en memoria
— No hay instrucciones especiales para E/S
– Conjunto de instrucciones completo
• E/S Separada
— Espacios de direcciones separados
— Se necesitan lineas de selección de E/S o memoria (si el bus es
compartido)
— Instrucciones especiales de E/S
– Conjuto de instrucciones limitado

Sabás Flores Ascencio

21
Mapeo de Entrada/Salida

• E/S mapeada en memoria (Memory mapped I/O)


— Los dispositivos y la memoria comparten un espacio de direcciones
— E/S es como leer/escribir en memoria
— No hay instrucciones especiales para E/S
– Conjunto de instrucciones completo
• E/S Separada
— Espacios de direcciones separados
— Se necesitan lineas de selección de E/S o memoria (si el bus es
compartido)
— Instrucciones especiales de E/S
– Conjuto de instrucciones limitado

Sabás Flores Ascencio

22
Entrada Salida Manejada por Interrupciones

• Soluciona la espera de la CPU

• No se requiere el chequeo repetido por parte de


la CPU del dispositivo

• El módulo de E/S interrumpe cuando está listo

Sabás Flores Ascencio


Entrada Salida Manejada por Interrupciones, Operación
Básica

• La CPU coloca un comando, ej.: lectura

• El módulo E/S toma el dato del periférico, mientras


tanto la CPU hace otro trabajo

• El módulo de E/S interrumpe la CPU

• La CPU accede al dato

Sabás Flores Ascencio


Punto de vista de la CPU

• Colocar el comando de lectura

• Hacer otro trabajo

• Chequear si hay interrupciones al final de cada ciclo


de instrucción

• Si es interrunpida:
—Salvar contexto (registros)
—Procesar interrupción
– Buscar el dato & alamacenarlo

Sabás Flores Ascencio


Ciclo de Interrupción

• Agregado al ciclo de instrucción


• El procesador verifica si hay interrupciones
— Indicado por una señal de interrupción
• Si no hay interrupción, buscar la próxima instrucción
• Si hay interrupciones pendientes:
— Suspender la ejecución del programa actual
— Salvar el contexto
— Poner en el PC la dirección de comienzo de la rutina de atención
de la interrupción (handler)
— Procesar la interrupción
— Reestablecer el contexto y continuar la ejecución del programa
interrumpido

Sabás Flores Ascencio

26
Transferencia de Control via Interrupciones

Sabás Flores Ascencio


Entrada Salida Manejada por Interrupciones, continúa ejemplo

b) E/S por interrupciones

➢La impresora genera una interrupción cada vez que está preparada
para recibir un nuevo byte
⇨ Suponemos que son necesarias 10 instrucciones para
ejecutar el handler (salvar contexto, comprobar estado,
transferir byte, restaurar contexto)
⇨ Para transferir 10 Kbyte tenemos repetir el proceso 10.000 veces
⇒ hay ejecutar 100.000 instrucciones para atender al periférico
⇒ la CPU tarda 0,001 s

CONCLUSIÓN:

➢ La E/S por interrupciones reduce en 10.000 veces el tiempo que la CPU


está ocupada gestionando la impresora

Sabás Flores Ascencio

28
Interrupciones, en forma más amplia

• Mecanismo por el cual los distintos módulos (e.g. E/S)


pueden interrumpir la secuencia de procesamiento
normal.
• Excepción de Programa
— e.g. overflow, división por cero
• Timer
— Generada por timer interno del procesador
— Usada en “pre-emptive” multi-tasking
• E/S
— de controlador de I/O
• Falla de Hardware
— e.g. error de paridad en memoria

Sabás Flores Ascencio


Una clasificación de las interrupciones

• Internas (excepciones)

• Externas

• De Software

Ternimología no consistente entre distintas máquinas: interrupciones, faults,


traps, excepciones, cubren todos los posibles aspectos: Pedido de
dispositovo de E/S, breakpoint, overflow, underflow, page fault, memory
access violation, power failure, etc.
Sabás Flores Ascencio

30
Interrupciones Múltiples

• Deshabilitar interrupciones
—El procesador no atiende los pedidos de interrupción mientras
procesa una interrupción
—Las interrupciones que permanecen pendientes son chequedas
luego que haber sido procesada la primer interrupción
—La interrupciones se manejan en secuencia
• Definir prioridades
—Las interrupciones de baja prioridad pueden ser interrumpidas
por interrupciones de prioridad más alta
—Cuando una interrupción de prioridad más alta ha sido
procesada, el procesador regresa a la interrurción previa

Sabás Flores Ascencio


Múltiples Interrupciones - Secuencial

Sabás Flores Ascencio

32
Múltiples Interrupciones – Anidadas

Sabás Flores Ascencio


Sabás Flores Ascencio

34
Sabás Flores Ascencio

También podría gustarte