View
2
Download
0
Category
Preview:
Citation preview
16/11/15
1
Arquitectura de Computadores, SO
Gestión E/S
2015-2016
ARCO 2015 2 Gestión E/S
Contenido
• Introducción
l Caracterización de los dispositivos de E/S
• Arquitectura del sistema de E/S
l Drivers dispositivo
l Controladoras
l Modos de transferencia
16/11/15
2
ARCO 2015 3 Gestión E/S
Introducción
• El corazón de una computadora lo constituye la UCP.
• Pero no serviría de nada sin:
– Dispositivos de almacenamiento secundario (discos) y terciario (cintas y sistemas de archivo).
– Dispositivos periféricos, que le permitan interactuar con el usuario.
• Generalmente están fuera de la computadora y se conectan a ella mediante cables.
• Son los teclados, ratones, micrófonos, cámaras y cualquier otro dispositivo de E/S que se le ocurra conectar a una computadora.
ARCO 2015 4 Gestión E/S
Estructura de una computadora
Dispositivos de salida(impresora, monitor, ...)
Dispositivos de entrada(teclado, ratón, lápiz óptico, ...)
Dispositivos de entrada/salida(discos, cintas,
modem, ...)
Unidad principal(UCP, registros, memoria RAM,entrada/salida (discos internos,
red, ...))
16/11/15
3
ARCO 2015 5 Gestión E/S
Clasificación de dispositivos
• Todos estos dispositivos de E/S se pueden agrupar en tres grandes
grupos:
– Periféricos. Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.).
– Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la UCP. Según su capacidad e inmediatez se pueden dividir en almacenamiento secundario (discos y disquetes) y terciario (cintas y sistemas de archivo).
– Dispositivos de comunicaciones. Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más importantes de esta clase son los MODEM y las tarjetas de interfaz a la red.
ARCO 2015 6 Gestión E/S
Velocidad de los dispositivos
• El gran problema de todos estos dispositivos de E/S es que son muy
lentos.
– La UCP procesa instrucciones a casi 1 GHz y la memoria RAM tiene un tiempo de acceso de nanosegundos
– Los dispositivos de E/S más rápidos tienen una velocidad de acceso del orden de milisegundos.
– Esta diferencia en la velocidad de acceso, y el hecho de que las aplicaciones son cada vez más interactivas y necesitan más E/S, hace que los sistemas de E/S sean el cuello de botella más importante de los sistemas de computación y que todos los sistemas operativos dediquen un gran esfuerzo a desarrollar y optimizar todos los mecanismos de E/S.
• La figura siguiente muestra la jerarquía del sistema de E/S en
función de su velocidad de transferencia
16/11/15
4
ARCO 2015 7 Gestión E/S
Jerarquía del almacenamiento
Almacenamiento secundario
MemoriaRAM
Registros
Almacenamiento terciario
10-60 nsegundos
20-70msegundos
150-500msegundos
ARCO 2015 8 Gestión E/S
Funciones del sistema de E/S
• Parte del sistema operativo que se ocupa de facilitar el manejo de los
dispositivos de E/S ofreciendo una visión lógica simplificada de los
mismos que pueda ser usada por otros componentes del sistema
operativo (como el sistema de archivos) o incluso por el usuario.
• El sistema operativo debe controlar el funcionamiento de todos los
dispositivos de E/S para alcanzar los siguientes objetivos:
– Facilitar el manejo de los dispositivos periféricos. Para ello debe ofreceruna interfaz entre los dispositivos y el resto del sistema que sea sencilla yfácil de utilizar.
– Optimizar la E/S del sistema, proporcionando mecanismos de incrementode prestaciones dónde sea necesario.
– Proporcionar dispositivos virtuales que permitan conectar cualquier tipo dedispositivo físico sin que sea necesario remodelar el sistema de E/S delsistema operativo.
– Permitir la conexión de dispositivos nuevos de E/S, solventando de formaautomática su instalación usando mecanismos del tipo plug&play.
16/11/15
5
ARCO 2015 9 Gestión E/S
Visión del sistema de E/S
• La visión del sistema de E/S puede ser muy distinta dependiendo del
nivel de detalle necesario en su estudio.
– Para los programadores, el sistema de E/S es una caja negra que lee y escribe datos en dispositivos externos a través de una funcionalidad bien definida.
– Para los fabricantes de dispositivos, un dispositivo es un instrumento muy complejo que incluye cientos o miles de componentes electrónicos o electro-mecánicos.
– Los diseñadores de sistemas operativos se encuentran en un lugar intermedio entre los dos anteriores.:
• Les interesa la funcionalidad del dispositivo, aunque a un nivel de detalle mucho más grande que la funcionalidad que espera el programador de aplicaciones.
• También les interesa conocer la interfaz física de los dispositivos y su comportamiento interno para poder optimizar los métodos de acceso a los mismos.
ARCO 2015 10 Gestión E/S
Conexión de dispositivos a una computadora
Bus del sistema
Bus de expansión
Controlador gráfico
…
CPUMemoria
Controlador de disco
estado control datos
16/11/15
6
ARCO 2015 11 Gestión E/S
• En el modelo de un periférico se distinguen dos elementos:
– Periféricos o dispositivos de E/S. Elementos que se conectan a la unidad central de proceso a través de las unidades de entrada/salida.
§ Son el componente mecánico que se conecta al computador.– Controladores de dispositivos o unidades de E/S. Se
encargan de hacer la transferencia de información entre la memoria principal y los periféricos.
§ Son el componente electrónico a través del cual se conecta el dispositivo de E/S. § Tienen una conexión al bus de la computadora y otra para el dispositivo (generalmente
mediante cables internos o externos).
Conexión de dispositivos del sistema de E/S
ARCO 2015 12 Gestión E/S
• Los controladores son muy variados, casi tanto como los dispositivos de
E/S.– Muchos de ellos, como los de disco, pueden controlar múltiples dispositivos. – Otros, como los de canales de E/S, incluyen su propia UCP y bus para controlar la
E/S por programa y evitar interrupciones en la UCP de la computadora.
• En los últimos años ha existido un esfuerzo importante de
estandarización de los dispositivos, lo que permite usar un mismo
controlador para dispositivos de distintos fabricantes (ejemplo: SCSI, Small
Computer System Interface, o IDE, Integrated Drive Electronics).
• El controlador es el componente más importante desde el punto de
vista del sistema operativo, ya que constituye la interfaz del
dispositivo con el bus de la computadora y es el componente que se ve
desde la UCP. – Su programación se lleva a cabo mediante una interfaz de muy bajo nivel que
proporciona acceso a una serie de registros del controlador.(ver tra. 14) – Las características del controlador son muy importantes, ya que definen el aspecto
del periférico para el sistema operativo.– Fundamental: Dirección de E/S, Unidad de transferencia e Interacción computadora-
controlador.
Controladores
16/11/15
7
ARCO 2015 13 Gestión E/S
Sistema de E/S
Procesode usuario
SW de E/S independiente de los dispositivos (SF)
Manejadores de dispositivos (drivers)
Manejadores de interrupciones
Controladores
DispositivosHardware
Bloque deldispositivo
Copia en elcontrolador
Copia en elsistema operativo
Copia enmemoria delusuario
Software
ARCO 2015 14 Gestión E/S
Capas del software de E/S y flujo de una operación
AplicaciónSubsistema
o DLL
Manejadorde
dispositivo
Manejador deinterrupción
Gestor dearchivos
Gestor debloquesGestor de
cache
Servicios
Controlador
Dispositivo(disco)
Copia en elsistema operativo
Copia enmemoria delusuarioModo usuario
Modo núcleo
Proc esode usuar io
SW de E/S independient e de d ispos i t ivo
SW de E/S independient e de d ispos i t ivo
SW de E/S dependient e
de d ispos i t ivo
Hardware
Software
Bloque deldispositivo
Copia en elcontrolador
16/11/15
8
ARCO 2015 15 Gestión E/S
Capas del sistema de E/S Unix
Controladores de dispositivo
Interfaz del Sistema Operativo
Gestor de Cache
Gestor de Bloques
Sistemas de ArchivosNFTS HPFS FAT CD-ROM ...
Manejadores de Dispositivos(CD-ROM, cinta, disco, puerto, ... )
Gestión de Redes(IPX/SPX, NETBEUI, TCP/IP, ... )
Gestión de Redes
ARCO 2015 16 Gestión E/S
Flujo de una Operación de E/S
Software que ejecutael usuario
Servidor dearchivos
Driver
Controlador dedispositivo
Dispositivoperiférico
Transferencia
Servidor dearchivos
Software que ejecutael usuario
Driver
Petición / bloqueo
Respuesta/ desbloqueo
Petición
Programación delcontrolador
Inicio de la transferencia
Fin de la transferencia
Interrupción
Respuesta
Respuesta
Manejador deinterrupción
Controlador dedispositivo
Dispositivoperiférico
16/11/15
9
ARCO 2015 17 Gestión E/S
Operaciones en un manejador/driver
Enviar mandatosal controlador
Operacionessobre datos
Contestación ala petición
Traducir a formatodel controlador
Prepararrespuestade error
Extraer peticiónE/S de la lista
Peticiones de E/S del dispositivo
Bloqueo
Error
Esperarinterrupción
Programación delcontrolador
Si
Si
No
No
Interrupción
Leer registrosestado delcontrolador
ARCO 2015 18 Gestión E/S
• Para empezar una operación de E/S, la UCP tiene que escribir sobre los
registros anteriores los datos de la operación a través de una dirección de E/S
o de memoria asignada únicamente al controlador.
• El modelo de dispositivos por puertos es clásico en las arquitecturas de Intel.
– Cuando se instala un dispositivo, a su controlador se le asigna un puerto de E/S, una interrupción hardware y un vector de interrupción.
– Una operación de E/S la UCP ejecuta operaciones portin o portout con la dirección de puerto del dispositivo y con parámetros para indicar que registro se quiere manipular.
– Problema de este tipo de direccionamiento es que exige conocer las direcciones de E/S y programar las instrucciones especiales de E/S, lo que es significativamente distinto del modelo de memoria de la computadora.
• El modelo proyectado en memoria asigna a cada dispositivo de E/S un rango
de direcciones de memoria a través de las cuáles se escribe sobre los registros
del controlador.
– No hay instrucciones específicas de E/S, sino que las operaciones se llevan a cabo usando mediante instrucciones máquina de manejo de memoria.
– Mapa único de direcciones de memoria. – Se reserva una zona de memoria física para asignar las direcciones de E/S.
Conexión por puerto o memoria
16/11/15
10
ARCO 2015 19 Gestión E/S
Direcciones de E/S de controladores
ARCO 2015 20 Gestión E/S
E/S programada
• La transferencia de información entre un periférico y el procesador
se realiza mediante la ejecución de una instrucción de E/S.
• El procesador es el responsable de extraer o enviar datos entre la
memoria y el controlador de dispositivo -> el procesador tiene que
esperar mientras se realiza la transferencia.
• Muestreo periódico de los dispositivos -> Determina el estado del
dispositivo:
– Listo, ocupado, error– Ciclo de espera activa para esperar del dispositivo de E/S
• Ventaja: no hay gasto de tiempo de gestión de interrupción.
• Desventaja: Consume mucha CPU para dispositivos poco usados
• Aplicación:
– Hardware sin interrupciones– Programas de control de canales de E/S
16/11/15
11
ARCO 2015 21 Gestión E/S
E/S por Interrupciones
• El procesador envía la orden de E/S al controlador de dispositivo y no
espera, se dedica a otras tareas hasta que llega una interrupción del
dispositivo que indica que se ha realizado la operación solicitada.
• Líneas de petición de interrupción de la CPU activadas por los
dispositivos
• El gestor de interrupciones recibe y maneja la interrupción:
– Enmascarables para ignorar o retrasar interrupciones– El vector de interrupción tiene las direcciones de memoria de los
manejadores de interrupción– Se procesan según distintas políticas:
• Prioridad, FIFO, etc.• Algunas no se pueden enmascarar (NMI). Ejemplo: reset.
• Los mecanismos de interrupción se usan también para excepciones.
Ejemplo: instrucción errónea.
ARCO 2015 22 Gestión E/S
E/S por Interrupciones
Manejador de dispositivo
empieza E/S
Interrupción a CPU, cede control al
manejador
Operación completa
o error
genera una señalde interrupción
La CPU reinica, la tareal
interrumpida
Empiezala E/S
Proceso datos enmanejador int,vuelta de int
CPU
Controlador E/S1
2
3
4
5
6
7
Ejecución en CPUComprrobar interrupciones
entre instrucciones
16/11/15
12
ARCO 2015 23 Gestión E/S
Rutina de tratamiento de interrupción
• Las rutinas de interrupción suelen tener dos partes:
§ una genérica y otra particular para el dispositivo. • La parte genérica hace los siguiente:
§ Captura de la interrupción.§ Salvaguarda de estado del procesador.§ Activación de la rutina de manejo de la interrupción.§ Indicar al planificador que debe poner lista para ejecutar la rutina
particular.§ Desactivación de la interrupción.§ Restauración del estado del procesador.§ Cesión de control (RETI).
ARCO 2015 24 Gestión E/S
Interrupciones que usan algunos controladores
16/11/15
13
ARCO 2015 25 Gestión E/S
Acceso Directo a Memoria (DMA)�
• Se usa para evitar la E/S programada de grandes bloques de
datos
• Necesita un controlador con DMA
• Evita el uso de la CPU transfiriendo los datos directamente
entre los dispositivos de E/S y la memoria
– del usuario– del núcleo
• Básico para aprovechar la CPU en un sistema
multiprogramado, ya que libera tiempo de la CPU que se
puede usar para ejecutar otros programas.
ARCO 2015 26 Gestión E/S
Pasos operación Lectura de DMA
1.-Programación de la operación de E/S. Se indica al controlador la operación, los datos a transferir y la dirección de memoria sobre la que se efectuará la operación.
2.-El controlador contesta aceptando la petición de E/S.
3.-El controlador le ordena al dispositivo que lea (para operación lectura)
una cierta cantidad de datos desde una posición determinada del
dispositivo a su memoria interna.
4.-Cuando los datos están listos, el controlador los copia a la posición de
memoria que tiene en sus registros, incrementa dicha posición de de
memoria y decrementa el contador de datos pendientes de transferir.
5.-Los pasos 3 y 4 se repiten hasta que no quedan más datos por leer.
6.-Cuando el registro de contador esta a cero, el controlador interrumpe
a la UCP para indicar que la operación de DMA ha terminado.
16/11/15
14
ARCO 2015 27 Gestión E/S
Sistema de DMA
Petic ión DMA(c ontador,d irec c ión,
datos)
Interrupc iónOperac ión
(L/E)
Ac eptac ión DMA
Memoria
Cont
ador
Registrode datos
Lógica de control
Contador
Dirección
Disco
ControladorUCP
Bus d
el si
stem
a
ARCO 2015 28 Gestión E/S
Pasos de la E/S por DMA1. Orden a l contro lador de
disposi tivo para mover da tos del disco al buffer con dirección XEl controlador por DMA
transfiere l os bytes al buffer X, incrementando dirección memoria y decrementando Chasta que C=0
Cuando C=0, el D MA interrumpe a la CPU pa ra indicar fin de transferencia
El manejador dice alcontro lador de discoque transfi era C bytes del disco al buffer X
4. El controlador de disco env ía cada al contro lador de DMA
6.
2.
5.
3. El controlador de di scoinicia transferencia de D MAer
controlador de disco
xDMA/bus/interrupc.controlador buffermemoriaBus CPU-memoria
Bus E/S
cache
CPU
disco
disco
disco
disco
16/11/15
15
ARCO 2015 29 Gestión E/S
Procesadores de E/S
• El PE/S es el controlador de E/S convertido en procesador con un
conjunto de instrucciones especializadas en operaciones de E/S,
lo que le da un control completo sobre dicha operación
• En los computadores que incluyen PE/S, la UCP no ejecuta las
instrucciones de E/S, éstas se almacenan en memoria principal
para ser ejecutadas por un PE/S. Así la UCP inicia una
transferencia de E/S al dar una orden al PE/S para que ejecute
un programa en memoria
Recommended