arquitectura de computadores, so

15
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

Upload: others

Post on 03-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitectura de Computadores, SO

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

Page 2: Arquitectura de Computadores, SO

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, ...))

Page 3: Arquitectura de Computadores, SO

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

Page 4: Arquitectura de Computadores, SO

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.

Page 5: Arquitectura de Computadores, SO

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

Page 6: Arquitectura de Computadores, SO

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

Page 7: Arquitectura de Computadores, SO

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

Page 8: Arquitectura de Computadores, SO

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

Page 9: Arquitectura de Computadores, SO

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

Page 10: Arquitectura de Computadores, SO

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

Page 11: Arquitectura de Computadores, SO

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

Page 12: Arquitectura de Computadores, SO

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

Page 13: Arquitectura de Computadores, SO

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.

Page 14: Arquitectura de Computadores, SO

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

Page 15: Arquitectura de Computadores, SO

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