UNET Logo

Universidad Nacional Experimental Del Táchira
Decanato De Docencia
Dpto. Ingeniería en Informática

Dispositivos de E/S

Código 0435607T

Contenido

  • El sistema de E/S (I/O).
  • Caracterización de los dispositivos de E/S.
  • Controladores.

Dispositivos de E/S

Recursos de un Computadora

  • CPU
  • Memoria
  • Dispositivos de E/S:
    • Dispositivos de Interfaz de usuario (periféricos)
    • Dispositivos de Almacenamiento (secundario-terciario)
    • Dispositivos de Comunicaciones

Dispositivos de E/S

Los sistemas operativos se esfuerzan para optimizar la E/S. Debido a que son los mas lentos de todo el sistema, por ejemplo:

  • CPU ejecuta operaciones a 1-4 GHz aproximadamente.
  • El acceso a RAM es de nanosegundos.
  • Dispositivos de E/S: acceso de milisegundos o más.

Sistema de E/S

Ofrece una visión lógica simplificada de dispositivos de E/S:

  • Para otros componentes del SO: Ejemplo. el sistema de archivos.
  • Para el usuario.

Objetivos

  • Optimizar la E/S, implementando mecanismos para mejorar prestaciones.
  • Facilitar el manejo de los dispositivos periféricos.
  • Permitir conectar cualquier tipo de dispositivo físico sin remodelar el sistema operativo.
  • Permitir conectar dispositivos solventando automáticamente su instalación (plug&play).

Caracterización de los Dispositivos de E/S

¿Cómo se ven los dispositivo de E/S?

  • Los programadores: una caja negra que permite leer y escribir datos a través de una funcionalidad bien definida.
  • Los fabricantes de dispositivos: instrumento muy complejo, cientos o miles de componentes electrónicos o electro-mecánicos.
  • Los diseñadores de sistemas operativos: les interesa la funcionalidad, pero con gran detalle; la interfaz física y su comportamiento interno para poder optimizar el acceso.

Elementos del Sistema de Entrada / Salida

Periféricos o dispositivos de E/S

  • Son el componente físico.
  • Se conectan al computador a través del controlador de dispositivo.

Controladores de dispositivos

  • Son el componente electrónico
  • Se encargan de la transferencia de información entre la memoria principal y los periféricos
  • Conectan el bus de la computadora con el dispositivo (generalmente mediante cables)

Controladores

Los estándares permiten usar un controlador para distintos Dispositivos:

  • SCSI, Small Computer System Interface.
  • IDE, Integrated Drive Electronics.
  • USB, Universal Serial Bus.

El controlador es la interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde el CPU. Poseen 3 registros principales, necesarios para su programación:

  • Registros de Datos.
  • Registros de Estado.
  • Registros de Control.

Características de un controlador

  • Dirección de E/S:

    • Usando puertos.
    • Mapeado en memoria.
  • Unidad de transferencia:

    • De carácter.
    • De bloque.
  • Interacción computadora-controlador:

    • Interrupción.
    • E/S programada.

a) De acuerdo al direccionamiento de la E/S

  • Dispositivos por puertos de E/S (ej. arquitectura Intel):

    Al controlador se le asigna un puerto de E/S, una interrupción hardware. Se programa con operaciones de E/S (portin y portout) para indicar que registro se quiere manipular y como.

  • Dispositivos proyectados en memoria:

    Se asigna a cada controlador un rango de dirección es a través de las cuáles se accede a sus registros. Se programa con instrucciones de acceso a memoria, se reserva una zona de memoria física para asignar a controladores de E/S.

Características de un controlador

ES en Windows

En Windows

Características de un controlador

ES en Linux

En Linux

Características de un controlador

b) De acuerdo a la unidad de transferencia

  • Operaciones (leer, escribir, posicionarse)

    • Posible acceso a través de ficheros proyectados en memoria como los discos y cintas.

Características de un controlador

b) De acuerdo a la unidad de transferencia

  • Dispositivos de caracter

    • Acceso secuencial a nivel de carácter.
    • Operaciones: get, put, .... Ejemplo: terminales, impresoras, interfaces de red.

    Dispositivos de bloque

    • Accesso por bloques de datos, utilizan búffers.
    • El disco duro funciona de esta manera.

b) De acuerdo a la unidad de transferencia

  • L/E guiada por programa

    El CPU programa las operaciones y monitoriza el estado del dispositivo mediante sondeo.

  • Ejemplo de lectura de un único dispositivo:

    
    	configurar_dispositivo();
    	while(!fin_lectura())
    	{
    	  programar_lectura();
    	  while (!dato_recibido());
    	  leer_dato();
    	}
    							

b) De acuerdo a la unidad de transferencia

  • L/E guiada por programa

    Ejemplo de lectura de un múltiples dispositivos:

    
    configurar_dispositivo();
    
    while(!fin_transferencias())
    {
      if (dispositivo_preparado(DISP1))
        atender_disp(DISP1);
    
      if (dispositivo_preparado(DISP2))
        atender_disp(DISP2);
    
      if (dispositivo_preprado(DISPN))
        atender_disp(DISPN);
    }

    Prioridad uniforme

    
    configurar_dispositivo();
    while(!fin_transferencias())
    {
      if (dispositivo_preparado(DISP1))
        atender_disp(DISP1);
    
      else if (dispositivo_preparado(DISP2))
        atender_disp(DISP2);
    
      else if (dispositivo_preprado(DISPN))
        atender_disp(DISPN);
    }

    Prioridad Escalonada

Controladores

Inconvenientes:

  • Espera ocupada.
  • Complicado coordinar gestión de dispositivos con otras actividades.

Usado en:

  • Sistemas empotrados.
  • Procesadores dedicados.
  • Sistemas monoprogramado.

Características de un controlador

c) De acuerdo a interacción computador-controlador

E/S por interrupciones:

IRQ

Lista de IRQs en Windows

El procesador envía la orden de E/S al controlador del dispositivo y se dedica a otras tareas hasta que llega una interrupción del dispositivo.

c) De acuerdo a interacción computador-controlador

E/S por interrupciones:

Las rutinas de interrupción suelen tener dos partes:

  • Parte genérica:
    • Captura de la interrupción
    • Salvaguarda de estado del procesador
    • Activación de la rutina de manejo de la interrupción
  • Planificar la ejecución de la rutina:
    • Desactivación de la interrupción
    • Restauración del estado del procesador
    • Ceder de control (RET)

Arquitectura de dispositivos de E/S


Gestión de E/S en Linux

Linux provee 4 tipos de gestores de E/S o elevadores llamados:

  • Anticipatory (Anticipadores)
  • Deadline (Coloca un tiempo límite)
  • CFQ (Complete Fairness Queueing)
  • Noop (No operation = FIFO)

¿Preguntas?