entrada salida

37
Gestión de E/S

Upload: henrry-eliseo-navarro-chinchilla

Post on 29-Jun-2015

7.447 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Entrada salida

Gestión de E/S

Page 2: Entrada salida

IntroducciónIntroducción

El corazón de una computadora lo constituye la CPU

Pero no serviría de nada sin: -Dispositivos de almacenamiento secundario (discos, cintas, etc.). -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.

Page 3: Entrada salida
Page 4: Entrada salida

Dispositivos de E/SDispositivos de E/S

Los dispositivos que tienen que hacer E/S con los computadores se clasifican en 3 categorías:

1) Dispositivos legibles por el humano: teclado, pantalla, impresora, mouse

2) Dispositivos legibles por la máquina: discos, unid. De cinta, controlador, etc.

3) Dispositivos de comunicaciones: módem, Tarjeta de Red, etc.

Page 5: Entrada salida

......

Otra manera de ver los tipos de dispositivos de E/S es:

– – Dispositivos de bloquesDispositivos de bloques• Almacenan la información en bloques de tamaño fijo• Cada bloque tiene su propia dirección (nº de bloque)• Es posible leer/escribir cada bloque independientemente

• Ejemplo: discos.

– – Dispositivos de caracteresDispositivos de caracteres• Aceptan o envían flujos de caracteres• No son direccionables

• Ejemplo: impresoras.

Page 6: Entrada salida

El problemaEl problema

a) Los procesos hacen un uso extensivo de E/S

b) Cada dispositivo de E/S tiene su propia idiosincrasia

c) Los dispositivos necesitan ayuda del núcleo

d) Diferentes velocidadesCPU ejecuta operaciones a 1 GHz o más (nanosegundos)

RAM: acceso de nanosegundos.Dispositivos de E/S: acceso de milisegundos o más.

Esta diferencia y el deseo de aplicaciones interactivas hace que la E/S sea el cuello de botella.Los sistemas operativos se esfuerzan para optimizar la E/S.

Page 7: Entrada salida

......

SCSI bus

fast eth

disco duro

ethernet

impresora laser

modem

ratón

teclado

0,00 0,01 0,10 1,00 10,00 100,00 1000,00 10000,00 100000,00

Velocidades de datos de dispositivos

Page 8: Entrada salida

Funciones del SO para la gestión de dispositivosFunciones del SO para la gestión de dispositivos

– Enviar comandos a los dispositivos.

– Capturar interrupciones.

– Tratar errores.

– Proporcionar un interfaz entre los dispositivos y el resto del sistema operativo:

• Simple.• Fácil de utilizar.• Idéntico para todos los dispositivos.

Page 9: Entrada salida

A pesar de la inmensa variedad de dispositivos de entrada/salida, tan solo se requieren unos cuantos conceptos para entender como están conectados y como se pueden controlar mediante programas.

Puerto: Es el punto físico de conexión de un dispositivo al sistema.

Bus: Conjunto de cables que son compartidos por un conjunto de ports para transmitir información. El manejo de este bus esta definido de forma estricta mediante un protocolo.

Controlador: Conjunto de circuitos que operan sobre un bus, un puerto o un dispositivo.

Page 10: Entrada salida

Estructura de un PC

Page 11: Entrada salida

Präsentation

Conexión entre periféricos y CPU

Inicialmente el procesador controlaba directamente los dispositivos de E/S.

Para aislar al procesador de los detalles específicos del dispositivo se realiza una conexión indirecta a través de:

Controladoras

Canales

Page 12: Entrada salida

Controladoras

Las unidades de E/S suelen constar de un componente mecánico (el propio del dispositivo) y uno electrónico (controladora ó adaptador de dispositivo).

La CPU se conecta a través de esta controladora al dispositivo.

Una controladora puede servir para varios dispositivos del mismo tipo.

La interfaz entre la controladora y el dispositivo es estándar como:

IDE (Integrated Device Electronics), SCSI( Small Computer System Interface), USB (Universal Serial Bus) y otros.

Funciones:

Almacenar el estado del dispositivo. Controlar el dispositivo. Convertir el flujo de bits en una serie de bloques de bytes y realizar la corrección

de errores necesaria.

Page 13: Entrada salida

Canales

Otra forma de conexión es a través de canales de E/S, que consiste en unProcesador especifico para operaciones de E/S.

La evolución de estos procesadores han llevado a que tengan su propia memoria,Se habla ahora de procesadores de E/S (Ej: Familia IOP de Intel).

El canal pretende tratar el dispositivo como abstracto ó virtual.

Se maneja mediante ordenes especializadas. Una vez terminada la acción elCanal devuelve el estado del dispositivo a la vez que interrumpe el procesador Central.

Page 14: Entrada salida

Los canales pueden ser:

Selectores:

Permiten manejar varios dispositivos pero solo uno en cada momento,Generalmente es usado con dispositivos rápidos.

Page 15: Entrada salida

Multiplexores:

Trabajan con varios dispositivos pudiendo transferir datos de todos simultáneamente.Esta relacionado con dispositivos lentos como el teclado o la impresora.

Page 16: Entrada salida

Control de E/S

¿Cómo conoce el HW y el SO que una operación de E/S ha acabado?

Existen tres técnicas para realizar la E/S:

1. E/S programada

2. E/S dirigida por interrupciones

3. E/S por acceso directo a la memoria (DMA)

Page 17: Entrada salida

E/S programada:

Inicialmente el procesador controlaba directamente los dispositivos periféricos.

Luego se añade una controladora del dispositivo de E/S. La CPU utiliza E/S programada.

El dispositivo E/S realiza la acción (no la CPU) colocando los bits necesarios en sus registros de status.

La CPU chequea los bits de status continuamente. Este comportamiento se conoce como sondeo (polling) ó espera activa (la CPU esta ocupada hasta que acaba La operación de E/S).

No hay interrupciones.

Page 18: Entrada salida

E/S dirigida por interrupciones:

Son un mecanismo asistido por HW para Sincronizar el procesador con los procesos Asincronos.

La CPU es interrumpida cuando el dispositivo E/S está listo para intercambiar datos.

La CPU está libre entre la solicitud de datos e interrupción.

No hay necesidad de esperar.

Consume mucha CPU ya que cada byte leído/escrito pasa por la CPU desde/hacia la memoria.

Page 19: Entrada salida

Una interrupción ó petición IRQ (Interrupt Request) es una señal que seorigina en un dispositivo HW para indicar al procesador que algo requiere su asistencia.

Page 20: Entrada salida

E/S con acceso directo a memoria (DMA):

Transfiere un bloque de datos directamente hacia/desde la memoria sin usar CPU

Se envía una interrupción cuando los datos fueron transferidos

La CPU sólo participa al inicio y al final de la acción

Page 21: Entrada salida

DMA (Direct Memory Access):

Para evitar que la CPU sea la encargada de transferir datos entre la memoria y el periférico se usa el DMA.

La técnica de Acceso Directo a Memoria (DMA) requiere un módulo adicional conectado al bus del sistema: El controlador de DMA que es capaz de hacer las funciones asignadas a la CPU y asumir el control del sistema

El controlador de DMA contiene:

◆ Registro de Datos

◆ Registro de Direcciones

◆ Registro contador de palabras

◆ Unidad de control del DMA

Page 22: Entrada salida

Estos registros permiten al controlador de DMA transferir datos desde (o hacia) una zona contigua de memoria:

El registro de dirección

◆ Almacena la dirección de la siguiente palabra a transmitir

◆ Se incrementa de forma automática después de cada transferencia

El registro contador de palabras

◆ Almacena el número de palabras que quedan por enviar

◆ Se decrementa automáticamente después de cada transferencia

Page 23: Entrada salida

La unidad de control del DMA

◆ Comprueba si el contenido del registro contador es 0

◆ Cuando alcanza este valor para la transferencia, envía una señal de interrupción a la CPU para indicarle que la transferencia a finalizado

Cuando la CPU desea leer o escribir un bloque de datos emite una orden al controlador de DMA enviándole la siguiente información:

◆ Si la operación es de lectura o escritura

◆ La dirección del periférico

◆ La posición de comienzo de memoria de donde hay que leer o donde hay que escribir

◆ El número de palabras que se tienen que leer o escribir

Page 24: Entrada salida

A partir de este momento la CPU continúa realizando otra tarea. La CPU ha delegado esta operación de E/S en el controlador de DMA y es este módulo quien se encargará de ella.

El controlador de DMA transfiere directamente, palabra a palabra, el bloque completo de datos entre el periférico y la memoria, sin pasar par la CPU.

Cuando la transferencia finaliza el controlador de DMA envía una señal de interrupción a la CPU.

De esta forma la CPU únicamente participa al comienzo y al final de la transferencia

Page 25: Entrada salida

El controlador de DMA necesita tener el control del bus para poder transferir datos hacia (o desde) la memoria:

◆ Por ráfagas

◆ Por robo de ciclos

◆ DMA transparente

◆ Por demanda

◆ Dato a dato

Cuando el controlador de DMA está preparado para transmitir o recibir datos, activa la línea de petición de DMA a la CPU.

La CPU espera en el siguiente punto de ruptura del DMA, renuncia al control de los buses de datos y direcciones y activa la línea de reconocimiento de DMA

Page 26: Entrada salida

ASPECTOS DE DISEÑO DEL SISTEMA OPERATIVOASPECTOS DE DISEÑO DEL SISTEMA OPERATIVO

OBJETIVOS del diseño de la E/S:

1) Eficiencia:1) Eficiencia:

Reducir al máximo el tiempo de las operaciones de E/S, y evitar cuello de botella. Solución principal: Paralelización de las operaciones de E/S con las operaciones de la CPU (multiproceso)

Page 27: Entrada salida

......

2) Generalidad:2) Generalidad:

Uniformidad en el trato de dispositivos distintos:a) en la interfaz entre el proceso y los dispositivos b) en la gestión entre el Sistema Operativo y los dispositivos.

Solución principal: Enfoque Modular y jerárquico en el diseño de funciones de E/S.

Modularidad. Distribuir las funciones en capas organizadas jerárquicamente (niveles).

Los niveles coinciden con los requisitos de tiempos de respuesta requeridos. Niveles bajos atienden a eventos rápidos (hardware), mientras los niveles altos atienden a eventos o solicitudes menos críticas (comunicación con el usuario).

Page 28: Entrada salida

......

Hay tres configuraciones principales, que corresponden a:

1. Comunicación con un dispositivo periférico local

2. Dispositivo de comunicaciones

3. Dispositivo de almacenamiento secundario

Page 29: Entrada salida

Procesos deUsuario

E/S lógica

E/S condispositivos

Planificacióny Control

Hardware

1) Comunicación con un dispositivo periférico local,

Los niveles son:

Trata al dispositivo como un recurso lógico, sinpreocuparse de los detalles de control del dispositivoparticular. Se ocupa de la gestión de funciones generales de E/S pedidas por los procesos de usuario, proporciona identificadores y operaciones de: lectura, escritura, apertura y cierre.

Convierte las operaciones pedidas y datos en secuencias de instrucciones de E/S, comandos para el canal y ordenes al controlador.

Este nivel maneja la planificación, encolado y control de las operaciones de E/S; además del manejo de interrupciones. Se encarga de realizar la comunicación con el hardware.

Page 30: Entrada salida

Procesos deUsuario

Arquitectura deComunicaciones

E/S condispositivos

Planificacióny Control

Hardware

2) Dispositivo de comunicaciones

Es muy parecida a la anterior. La diferencia principal es que el nivel de E/S lógica se reemplaza por una arquitectura de comunicaciones, que a su vez puede constar de varios niveles.

Ej. OSI, arquitectura de interconexión de sistemasabiertos (7 niveles)

Page 31: Entrada salida

Procesos deUsuario

Gestión de directorios

Sistema deArchivos

OrganizaciónFísica

E/S condispositivos

Planificacióny Control

Hardware

3) Sistema de Almacenamiento secundario

Traducción de nombres de los archivos a identificadores que referencian al file. Operaciones que tienen que ver con la gestión de directorios: Añadir, Borrar, Reorganizar

Estructura lógica de los archivos. Operaciones especificadas por el usuario: Abrir, Cerrar, Leer, Escribir. Gestión de derechos de acceso

Conversión de “direcciones” lógicas a direcciones físicas del almacenamiento secundario. Asignación de espacio en el almacenamiento secundario (disco) y principal (buffers)

Page 32: Entrada salida

Almacenamiento Intermedio de E/SAlmacenamiento Intermedio de E/S

Para evitar carga a veces es conveniente llevar a cabo las transferencias de Entrada por adelantado a las peticiones y realizar transferencias de Salida un tiempo después de hacer la petición.

Esta técnica se conoce con el nombre de almacenamiento intermedio (buffering).

Page 33: Entrada salida

Buffer sencilloBuffer sencillo

Cuando un proceso de usuario realiza una petición de E/S, el SO le asigna a la operación un buffer en la parte del sistema de la MP.

Este método proporciona una mayor velocidad en comparación con la ausencia de almacenamiento intermedio en el sistema

Page 34: Entrada salida

......

Page 35: Entrada salida

Buffer dobleBuffer doble

Se puede realizar una mejora del buffer sencillo asignando dos (2) buffers del sistema a cada operación.

DE esta forma, un proceso puede transferir datos hacia (o desde) un buffer mientras que el SO vacía (o rellena) el otro.

Page 36: Entrada salida

Buffer circularBuffer circular

El esquema del buffer doble debería solucionar el flujo de datos entre un dispositivo de E/S y un proceso.

Si preocupa el rendimiento de un proceso determinado, sería deseable que las operaciones de E/S fueran capaces de ir al ritmo del proceso.

El buffer doble es inapropiado para ráfagas rápidas de E/S. Pero ello se mitiga usando más de 2 buffers.

Page 37: Entrada salida

......