La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

 Hardware de E/S  Interfaz de aplicación E/S (API)  Sub-sistema de E/S en el Kernel  Transformando solicitudes de E/S en operaciones de hardware 

Presentaciones similares


Presentación del tema: " Hardware de E/S  Interfaz de aplicación E/S (API)  Sub-sistema de E/S en el Kernel  Transformando solicitudes de E/S en operaciones de hardware "— Transcripción de la presentación:

1

2  Hardware de E/S  Interfaz de aplicación E/S (API)  Sub-sistema de E/S en el Kernel  Transformando solicitudes de E/S en operaciones de hardware  Streams  Rendimiento

3  Explorar la estructura del sub-sistema de E/S de un Sistema Operativo  Discutir los principios del hardware de E/S y su complejidad  Proveer detalles de aspectos de rendimiento del software y hardware de E/S

4  Variedad increíble de dispositivos de E/S  Conceptos comunes ◦ Puerto ◦ Bus (daisy chain o shared direct access) ◦ Controlador (adaptador de host)  Dispositivos de control de instrucciones de E/S  Los dispositivos tienen direcciones, utilizadas por ◦ Instrucciones directas de E/S ◦ E/S mapeada a memoria

5

6

7  Determina el estado del dispositivo ◦ listo para recibir comandos ◦ ocupaco ◦ error  Ciclo de espera-ocupada para esperar E/S del dispositivo

8  Línea de solicitud-de-interrupción de CPU disparada por el dispositivo de E/S  Manejador de interrupciones recibe interrupciones  Permite máscaras para ignorar o retrasar algunas interrupciones  Vector de interrupción para despachar la interrupción al manejador correspondiente ◦ Basado en prioridades ◦ Algunas no pueden enmascararse  Mecanismo de interrupciones también se utiliza para excepciones

9

10

11  Usado para evitar programación de E/S para mover grandes cantidades de datos  Requiere un controlador DMA  Se salta al CPU para transferir datos directamente entre el dispositivo de E/S y la memoria

12

13  Llamadas al sistema de E/S encapsulan el comportamiento de dispositivos en clases genéricas  La capa de manejadores de dispositivos esconde diferencias entre controladores de E/S del kernel  Los dispositivos varían en diversas dimensiones: ◦ Flujo de carácter o de bloque ◦ Acceso secuencial o aleatorio ◦ Compartido o dedicado ◦ Velocidad de operación ◦ lectura-escritura, sólo lectura o sólo escritura

14

15

16  Dispositivos de bloque incluyen discos duros ◦ Comandos: read, write, seek ◦ Acceso de E/S crudo (raw) o sistema de archivos ◦ Posible acceso a archivos mapeados a memoria  Los dispositivos de carácter incluyen teclados, ratones y puertos seriales ◦ Comandos: get, put ◦ Bibliotecas externas permiten la edición de líneas

17  Varían entre los de bloque y carácter, hasta tener su propia interfaz  Unix y Windows NT/9x/2000 incluyen la interfaz socket ◦ Separa el protocolo de red de la operación de la misma ◦ Incluye funcionalidad select  Los enfoques varían ampliamente: entubamientos, FIFOs, flujos (streams), colas, buzones,...

18  Proveen tiempo actual, tiempo ocupado y temporizador  Intervalo de tiempo programable utilizado para mediciones e interrupciones periódicas  ioctl (en UNIX) cubre aspectos poco comunes de E/S: relojes y temporizadores

19  Con bloqueo - proceso suspendido hasta que se completa E/S ◦ Fácil de utilizar y entender ◦ Insuficiente para ciertas necesidades  Sin bloqueo - Llamada de E/S regresa tanto como esté disponible ◦ Interfaz de usuario, copia de datos (E/S con buffer) ◦ Se implementa a través de multi-hilos de ejecución ◦ Regresa rápidamente con la cuenta de bytes escritos o leídos  Asíncrona - proceso corre durante ejecución de E/S ◦ Difícil de utilizar ◦ sub-sistema E/S avisa proceso cuando E/S termina

20 Síncrona Asíncrona

21  Planificación ◦ Algún ordenamiento de solicitudes E/S vía colas por-dispositivo ◦ Algunos SO intentan ser justos  Buffering - almacenar datos en memoria mientras se transfieren entre dispositivos ◦ Para lidiar con las diferencias de velocidad de los dispositivos ◦ Para lidiar con la diferencia en los tamaños de transferencia ◦ Para mantener “semántica de copia”

22

23

24  Caching - memoria rápida mantiene copia de los datos ◦ Siempre es una simple copia ◦ Clave en el rendimiento  Spooling - mantener salida para un dispositivo ◦ Si el dispositivo puede servir solamente una solicitud a la vez ◦ i.e., impresión  Reserva de dispositivo - provee acceso exclusivo a un dispositivo ◦ Llamadas al sistema para asignación y liberación ◦ Posibilidad de abrazos mortales

25  SO puede recuperarse de lecturas de disco, dispositivos indispuestos y fallas de escritura temporales  La mayoría regresan un número de error o código cuando la solicitud de E/S falla  La bitácora del sistema almacena los reportes de problemas

26  Procesos de usuario pueden accidentalmente o a propósito atentar contra la operación normal con instrucciones ilegales de E/S ◦ Todas las instrucciones de E/S son privilegiadas ◦ La E/S se realiza vía llamadas al sistema  Mapeo-a-memoria y las localidades en memoria de puertos de E/S también deben protegerse

27

28  El kernel mantiene información de estado de componentes de E/S. E.g. tablas de archivos abiertos, conexiones a red, estado de dispositivos de carácter  Muchas, pero muchas estructuras de datos complejas para seguir la pista de buffers, asignación de memoria, “dirty” blocks, etc.  Algunos utilizan métodos de orientación a objetos y paso de mensajes para implementar E/S

29

30  Considera la lectura de un archivo de disco para un proceso: ◦ Determinar el dispositivo que contiene el archivo ◦ Traducir nombre a la representación del dispositivo ◦ Físicamente leer los datos del disco en un buffer ◦ Hacer disponibles los datos al proceso que solicitó la lectura ◦ Regresar el control al proceso

31

32  Flujo – canal de comunicación full-duplex (de ida y vuelta) entre un proceso de nivel-usuario y un dispositivo en UNIX (System V y más recientes)  Un flujo consiste de: ◦ Interfaces del Flujo con el proceso de usuario ◦ Interfaces del manejador con el dispositivo ◦ Cero o más módulos del flujo entre ellos  Cada módulo contiene una cola de lectura y una cola de escritura  Paso de mensajes se utiliza para comunicación entre colas

33

34  E/S es un factor importante en el rendimiento del sistema: ◦ Requiere que el CPU ejecute el manejador del dispositivo (código E/S del kernel) ◦ Cambio de contexto debido a interrupcciones ◦ Copiar datos ◦ Tráfico de red particularmente agotador

35

36  Reducir el número de cambios de contexto  Reducir el copiado de datos  Reducir interrupciones utilizando grandes transferencias, controladores inteligentes y polling (SO espera y monitorea dispositivo hasta que está listo para leer)  Utilizar DMA  Balancear CPU, memoria, bus, y E/S para alcanzar el máximo rendimiento de procesamiento

37

38


Descargar ppt " Hardware de E/S  Interfaz de aplicación E/S (API)  Sub-sistema de E/S en el Kernel  Transformando solicitudes de E/S en operaciones de hardware "

Presentaciones similares


Anuncios Google