Gestion de Entrada y Salida

2,659 views
2,554 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,659
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
72
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Los procesos, durante su ejecución intercalan períodos de calculo con operaciones de Entrada/Salida . El sistema operativo es el encargado de controlar, dialogar e intercambiar información directamente con los dispositivos de entrada/salida.
  • Objetivo: Crear un subsistema capaz de controlar los dispositivos de forma homogénea y al mismo tiempo dar cabida a todo tipo de dispositivos.
  • Un sistema suele tener varios buses . La arquitectura de un PC tiene dos buses . PCI : El principal que conecta el procesador, la memoria y los dispositivos mas rápidos. Bus de Expansión : Conecta el resto de dispositivos con velocidad de transferencia mas baja. SCSI : Bus opcional que esta conectado al bus PCI. Requiere su propio controlador así como sus propios dispositivos. Suele contener su propio procesador. Cada dispositivo de entrada/salida dispone de su propio controlador que se conecta a un tipo de bus específico .
  • Petición de transferencia de disco 2. Controlador programa el disco 3. Controlador de disco inicia transferencia por DMA 4. Controlador envía datos a DMA 5. DMA transfiere dato a memoria 6. DMA interrumpe a la CPU.
  • Estas operaciones son tan frecuentes que el rendimiento del procesador puede ser sensiblemente mejorado mediante la introducción de un procesador adicional especializado en estas operaciones . Este procesador se denomina DMA (Direct Memory Access) y su única capacidad es la de transferir datos entre memoria y los dispositivo de entrada/salida. El DMA ejecuta únicamente peticiones de transferencia. Para ello recibe dos direcciones de memoria (origen y destino) y el numero de bytes a transferir . El DMA se comporta como un dispositivo, y se controla a través de interrupciones .
  • Gestion de Entrada y Salida

    1. 1. Gestión de E/S
    2. 2. Introducción <ul><li>El corazón de una computadora lo constituye la CPU </li></ul><ul><li>Pero n o serviría de nada sin : </li></ul><ul><ul><li>-D ispositivos de almacenamiento secundario (discos, cintas, etc.). </li></ul></ul><ul><ul><li>D ispositivos periféricos, que le permitan interactuar con el usuario: </li></ul></ul><ul><ul><ul><li>G eneralmente están fuera de la computadora y se conectan a ella mediante cables . </li></ul></ul></ul><ul><ul><ul><li>S on los teclados, ratones, micrófonos, cámaras y cualquier otro dispositivo de E/S que se le ocurra conectar a una computadora. </li></ul></ul></ul>
    3. 4. Dispositivos 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.
    4. 5. ... Otra manera de ver los tipos de dispositivos de E/S es: – Dispositivos 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 caracteres • Aceptan o envían flujos de caracteres • No son direccionables • Ejemplo: impresoras.
    5. 6. El problema <ul><li>a) Los procesos hacen un uso extensivo de E/S </li></ul><ul><li>b) Cada dispositivo de E/S tiene su propia idiosincrasia </li></ul><ul><li>c) Los dispositivos necesitan ayuda del núcleo </li></ul><ul><li>d) Diferentes velocidades </li></ul><ul><li>CPU ejecuta operaciones a 1 GHz o más (nanosegundos) </li></ul><ul><ul><li>RAM: acceso de nanosegundos. </li></ul></ul><ul><ul><li>Dispositivos de E/S: acceso de milisegundos o más. </li></ul></ul><ul><li>Esta diferencia y el deseo de aplicaciones interactivas hace que la E/S sea el cuello de botella. </li></ul><ul><li>Los sistemas operativos se esfuerzan para optimizar la E/S. </li></ul>
    6. 7. ... Velocidades de datos de dispositivos
    7. 8. Funciones 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.
    8. 9. 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.
    9. 10. Estructura de un PC
    10. 11. Präsentation <ul><li>Conexión entre periféricos y CPU </li></ul><ul><li>Inicialmente el procesador controlaba directamente los dispositivos de E/S. </li></ul><ul><li>Para aislar al procesador de los detalles específicos del dispositivo se realiza una conexión indirecta a través de: </li></ul><ul><li>Controladoras </li></ul><ul><li>Canales </li></ul>
    11. 12. <ul><li>Controladoras </li></ul><ul><li>Las unidades de E/S suelen constar de un componente mecánico (el propio del dispositivo) y uno electrónico (controladora ó adaptador de dispositivo). </li></ul><ul><li>La CPU se conecta a través de esta controladora al dispositivo. </li></ul><ul><li>Una controladora puede servir para varios dispositivos del mismo tipo. </li></ul><ul><li>La interfaz entre la controladora y el dispositivo es estándar como: </li></ul><ul><li>IDE (Integrated Device Electronics), SCSI( Small Computer System Interface), </li></ul><ul><li>USB (Universal Serial Bus) y otros. </li></ul><ul><li>Funciones: </li></ul><ul><li>Almacenar el estado del dispositivo. </li></ul><ul><li>Controlar el dispositivo. </li></ul><ul><li>Convertir el flujo de bits en una serie de bloques de bytes y realizar la corrección </li></ul><ul><li>de errores necesaria. </li></ul>
    12. 13. Canales Otra forma de conexión es a través de canales de E/S, que consiste en un Procesador 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 el Canal devuelve el estado del dispositivo a la vez que interrumpe el procesador Central.
    13. 14. Los canales pueden ser: Selectores: Permiten manejar varios dispositivos pero solo uno en cada momento, Generalmente es usado con dispositivos rápidos.
    14. 15. Multiplexores: Trabajan con varios dispositivos pudiendo transferir datos de todos simultáneamente. Esta relacionado con dispositivos lentos como el teclado o la impresora.
    15. 16. <ul><li>Control de E/S </li></ul><ul><li>¿Cómo conoce el HW y el SO que una operación de E/S ha acabado? </li></ul><ul><li>Existen tres técnicas para realizar la E/S: </li></ul><ul><li>E/S programada </li></ul><ul><li>E/S dirigida por interrupciones </li></ul><ul><li>E/S por acceso directo a la memoria (DMA) </li></ul>
    16. 17. 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.
    17. 18. 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.
    18. 19. Una interrupción ó petición IRQ (Interrupt Request) es una señal que se origina en un dispositivo HW para indicar al procesador que algo requiere su asistencia.
    19. 20. 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
    20. 21. 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
    21. 22. 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
    22. 23. 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
    23. 24. 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
    24. 25. 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
    25. 26. ASPECTOS DE DISEÑO DEL SISTEMA OPERATIVO OBJETIVOS del diseño de la E/S: 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)
    26. 27. ... 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).
    27. 28. ... 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
    28. 29. Procesos de Usuario E /S l ógica E /S con dispositivos Planificación y Control Hardware 1) Comunicación con un dispositivo periférico local, Los niveles son: Trata al dispositivo como un recurso lógico, sin preocuparse de los detalles de control del dispositivo particular. 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 m anejo de interrupciones. Se encarga de realizar la comunicación con el hardware.
    29. 30. Procesos de Usuario Arquitectura de Comunicaciones E /S con dispositivos Planificación y 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 sistemas abiertos (7 niveles)
    30. 31. Procesos de Usuario Gestión de directorios Sistema de Archivos Organización Física E /S con dispositivos Planificación y 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)
    31. 32. Almacenamiento 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).
    32. 33. Buffer 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
    33. 34. ...
    34. 35. Buffer 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.
    35. 36. Buffer 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.
    36. 37. ...

    ×