• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Gestion de Entrada y Salida
 

Gestion de Entrada y Salida

on

  • 2,790 views

 

Statistics

Views

Total Views
2,790
Views on SlideShare
2,790
Embed Views
0

Actions

Likes
1
Downloads
63
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 Gestion de Entrada y Salida Presentation Transcript

  • Gestión de E/S
  • Introducción
    • El corazón de una computadora lo constituye la CPU
    • Pero n o serviría de nada sin :
      • -D ispositivos de almacenamiento secundario (discos, cintas, etc.).
      • D ispositivos periféricos, que le permitan interactuar con el usuario:
        • G eneralmente están fuera de la computadora y se conectan a ella mediante cables .
        • S on los teclados, ratones, micrófonos, cámaras y cualquier otro dispositivo de E/S que se le ocurra conectar a una computadora.
  •  
  • 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.
  • ... 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.
  • El 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 velocidades
    • CPU 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.
  • ... Velocidades de datos de dispositivos
  • 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.
  • 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.
  • Estructura de un PC
  • 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
    • 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.
  • 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.
  • Los canales pueden ser: Selectores: Permiten manejar varios dispositivos pero solo uno en cada momento, Generalmente es usado con dispositivos rápidos.
  • Multiplexores: Trabajan con varios dispositivos pudiendo transferir datos de todos simultáneamente. Esta relacionado con dispositivos lentos como el teclado o la impresora.
    • 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:
    • E/S programada
    • E/S dirigida por interrupciones
    • E/S por acceso directo a la memoria (DMA)
  • 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.
  • 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.
  • 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.
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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)
  • ... 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).
  • ... 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
  • 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.
  • 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)
  • 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)
  • 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).
  • 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
  • ...
  • 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.
  • 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.
  • ...