GestionE_S_ ARCO 2015 - diseño de sistemas operativos (2812)

Anuncio
16/11/15
Arquitectura de
Computadores, SO
Gestión E/S
2015-2016
Contenido
•
Introducción
l
•
Caracterización de los dispositivos de E/S
Arquitectura del sistema de E/S
l
l
l
ARCO 2015
Drivers dispositivo
Controladoras
Modos de transferencia
2
Gestión E/S
1
16/11/15
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
3
Gestión E/S
Estructura de una computadora
Dispositivos de salida
(impresora, monitor, ...)
Dispositivos de entrada
(teclado, ratón,
lápiz óptico, ...)
ARCO 2015
4
Unidad principal
(UCP, registros,
memoria RAM,
entrada/salida (
discos internos,
red, ...))
Dispositivos de
entrada/salida
(discos, cintas,
modem, ...)
Gestión E/S
2
16/11/15
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
5
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
ARCO 2015
6
Gestión E/S
3
16/11/15
Jerarquía del almacenamiento
Registros
Memoria
RAM
Almacenamiento
secundario
Almacenamiento
terciario
ARCO 2015
10-60
nsegundos
20-70
msegundos
150-500
msegundos
7
Gestión E/S
Funciones del sistema de E/S
•
•
Parte del sistema operativo que se oc upa de facilitar el manej o 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 funcionami ento de t odos los
dispositivos de E/S para alcanzar los siguientes objetivos:
–
–
–
–
Facilitar el manejo de los dispositivos periféricos. Para ello debe ofrecer
una interfaz entre los dispositivos y el resto del sistema que sea sencilla y
fácil de utilizar.
Optimizar la E/S del sistema, proporcionando mecanismos de incremento
de prestaciones dónde sea necesario.
Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de
dispositivo físico sin que sea necesario remodelar el sistema de E/S del
sistema operativo.
Permitir la conexión de dispositivos nuevos de E/S, solventando de forma
automática su instalación usando mecanismos del tipo plug&play.
ARCO 2015
8
Gestión E/S
4
16/11/15
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 electromecá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
9
Gestión E/S
Conexión de dispositivos a una computadora
CPU
Mem oria
Controlador
gráfico
Bus del sistem a
Controlador
de disco
Bus de expansión
estado c ontrol datos
…
ARCO 2015
10
Gestión E/S
5
16/11/15
Conexión de dispositivos del sistema de 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.
§
§
ARCO 2015
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).
11
Gestión E/S
Controladores
•
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 computadoracontrolador.
ARCO 2015
12
Gestión E/S
6
16/11/15
Sistema de E/S
Copia en
memoria del
usuario
Proceso
de usuario
Software
SW de E/S independiente
de los dispositivos (SF)
Copia en el
sistema
operativo
Manejadores de
dispositivos (drivers)
Manejadores de
interrupciones
Controladores
Copia en el
controlador
Dispositivos
Bloque del
Gestión E/S
dispositivo
Hardware
ARCO 2015
13
Capas del software de E/S y flujo de una operación
Pr o c e s o
de usuario
Aplicación
Subsistem a
o DLL
Modo usuario
Modo núcleo
Servicios
Gestor de
archivos
SW d e E/S
independient e
de disposit ivo
Gestor de
bloques
Gestor de
cache
SW d e E/S
independient e
de disposit ivo
Manejador de
interrupción
Software
Hardware
ARCO 2015
Copia en el
sistema
operativo
Manejador
de
dispositivo
SW d e E/S
dependient e
de disposit ivo
Dispositivo
(disco)
Copia en
memoria del
usuario
Controlador
Copia en el
controlador
Bloque del
dispositivo
14
Gestión E/S
7
16/11/15
Capas del sistema de E/S Unix
Interfa z d el Sistema Op era tivo
Sistema s d e Arc hivos
NFTS HPFS
FAT
CD-ROM ...
Gestión ddee R
Red
edes
es
Gestión
(IPX/SPX, NETBEUI,
TCP/IP, ... )
Gestor d e Bloq ues
Gestor d e Ca c he
Ma neja d ores d e Disp ositivos
(CD-ROM, cinta, disco, puerto, ... )
Controla d ores d e d isp ositivo
ARCO 2015
15
Gestión E/S
Flujo de una Operación de E/S
Software que ejecuta
el usuario
Respuesta/ desbloqueo
Software que ejecuta
el usuario
Servidor de
archivos
Petición / bloqueo
Respuesta
Servidor de
archivos
Driver
Petición
Respuesta
Driver
Manejador de
interrupción
Programación del
controlador
Interrupción
Controlador de
dispositivo
Controlador de
dispositivo
Inicio de la
transferencia
Fin de la
transferencia
Dispositivo
periférico
Dispositivo
periférico
Transferencia
ARCO 2015
16
Gestión E/S
8
16/11/15
Operaciones en un manejador/driver
Peticiones de
E/S del dispositivo
Extraer petición
E/S de la lista
Traducir a formato
del controlador
Contestación a
la petición
Preparar
respuesta
de error
Si
Enviar mandatos
al controlador
Operaciones
sobre datos
No
Error
Programación del
controlador
Bloqueo
Leer registros
estado del
controlador
No
Si
Esperar
interrupción
ARCO 2015
17
Interrupción
Gestión E/S
Conexión por puerto o memoria
•
•
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.
ARCO 2015
18
Gestión E/S
9
16/11/15
Direcciones de E/S de controladores
ARCO 2015
19
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
ARCO 2015
20
Gestión E/S
10
16/11/15
E/S por Interrupciones
•
•
•
•
•
El procesador envía la orden de E/S al c ontrolador de dispositivo y no
espera, se dedica a otras tar eas hasta que llega una i nterrupció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
21
Gestión E/S
E/S por Interrupciones
CPU
1
Ma neja d or d e
d isp ositivo
em p ieza E/S
2
Em p ieza
la E/S
Ejec uc ión en CPU
Com p rrob a r interrup c iones
entre instruc c iones
7
Interrup c ión a CPU,
c ed e c ontrol a l
m a neja d or
Controlador E/S
3
4
Op era c ión
c om p leta
o error
g enera una seña l
d e interrup c ión
5
Proc eso d a tos en
m a neja d or int,
vuelta d e int
6
La CPU reinic a,
la ta rea l
interrum p id a
ARCO 2015
22
Gestión E/S
11
16/11/15
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:
§
§
§
§
§
§
§
ARCO 2015
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).
23
Gestión E/S
Interrupciones que usan algunos controladores
ARCO 2015
24
Gestión E/S
12
16/11/15
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
25
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 lect ura)
una cierta c antidad de datos desde una posición determi nada del
dispositivo a su memoria interna.
4.-Cuando los datos están listos, el control ador los copia a la posición de
memoria que tiene en sus registros, increment a 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 est a a cero, el control ador interrumpe
a la UCP para indicar que la operación de DMA ha terminado.
ARCO 2015
26
Gestión E/S
13
16/11/15
Memoria
Sistema de
DMA
Contador
Bus del sistema
Contador
Registro
de datos
Pe tic ió n DMA
(c o n ta d o r,
d ire c c ió n,
d a to s)
Ac e p ta c ió n DMA
In te rrup c ió n
Op e ra c ió n
(L/E)
Disco
Dirección
Lógica de
control
Controlador
UCP
ARCO 2015
27
Gestión E/S
Pasos de la E/S por DMA
5. El co ntrola do r po r DMA
transfiere l os bytes al
buffer X, increm entando
dirección m em o ria y
decrem entando C
hasta que C = 0
6. C uando C = 0, el D MA
interrum pe a la C P U
pa ra indicar fin de
transferencia
1. Orden a l co ntro la do r de
dispo si tivo para m over
da to s del disco al
buffer con direcció n X
2. El m aneja do r dice al
co ntro la do r de disco
que tra nsfi era C bytes
del disco al buffer X
DMA/bus/interrupc.
controlador
CPU
cache
Bus CPU-memoria
x
memoria buffer
Bus E/S
controlador
de disco
ARCO 2015
disco
disco
disco
disco
3. El co ntrola do r de di sco
er
inicia transferencia
de D MA
4. El co ntrola do r de
disco env ía cada
al co ntro la do r de DMA
28
Gestión E/S
14
16/11/15
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
ARCO 2015
29
Gestión E/S
15
Descargar