viernes, 30 de noviembre de 2012

INTRODUCCIÓN A "ENTRADA Y SALIDA" (E/S)

Una de las funciones principales de un S. O. es el control de todos los dispositivos de e / s de la computadora.
Las principales funciones relacionadas son:
  • Enviar comandos a los dispositivos.
  • Detectar las interrupciones.
  • Controlar los errores.
  • Proporcionar una interfaz entre los dispositivos y el resto del sistema:
    • Debe ser sencilla y fácil de usar.
    • Debe ser la misma (preferentemente) para todos los dispositivos (independencia del dispositivo).
Principios del Hardware de E / S
El enfoque que se considerará tiene que ver con la interfaz que desde el hardware se presenta al software.
  • Comandos que acepta el hardware.
  • Funciones que realiza.
  • Errores que puede informar.
Dispositivos de E / S
Se pueden clasificar en dos grandes categorías:
  • Dispositivos de bloque.
  • Dispositivos de carácter.
Las principales características de los dispositivos de bloque son:
  • La información se almacena en bloques de tamaño fijo.
  • Cada bloque tiene su propia dirección.
  • Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes.
  • Se puede leer o escribir en un bloque de forma independiente de los demás, en cualquier momento.
  • Un ejemplo típico de dispositivos de bloque son los discos.
Las principales características de los dispositivos de carácter son:
  • La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques.
  • No se pueden utilizar direcciones.
  • No tienen una operación de búsqueda.
  • Unos ejemplos típicos de dispositivos de carácter son las impresoras de línea, terminales, interfaces de una red, ratones, etc.
Controladores de Dispositivos
Las unidades de e / s generalmente constan de:
  • Un componente mecánico.
  • Un componente electrónico, el controlador del dispositivo o adaptador.
Muchos controladores pueden manejar más de un dispositivo.
El S. O. generalmente trabaja con el controlador y no con el dispositivo.
Los modelos más frecuentes de comunicación entre la cpu y los controladores son:
  • Para la mayoría de las micro y mini computadoras:
    • Modelo de bus del sistema.
  • Para la mayoría de los mainframes:
    • Modelo de varios buses y computadoras especializadas en e / s llamadas canales de e/s.
La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel:
  • La comunicación es mediante un flujo de bits en serie que:
    • Comienza con un preámbulo.
    • Sigue con una serie de bits (de un sector de disco, por ej.).
    • Concluye con una suma para verificación o un código corrector de errores.
  • El preámbulo:
    • Se escribe al dar formato al disco.
    • Contiene el número de cilindro y sector, el tamaño de sector y otros datos similares.
El controlador debe:
  • Convertir el flujo de bits en serie en un bloque de bytes.
  • Efectuar cualquier corrección de errores necesaria.
  • Copiar el bloque en la memoria principal.
Cada controlador posee registros que utiliza para comunicarse con la cpu:
  • Pueden ser parte del espacio normal de direcciones de la memoria: e / s mapeada a memoria.
  • Pueden utilizar un espacio de direcciones especial para la e / s, asignando a cada controlador una parte de él.
El S. O. realiza la e / s al escribir comandos en los registros de los controladores; los parámetros de los comandos también se cargan en los registros de los controladores.
Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo.
Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:
  • Obtenga el control de la cpu.
  • Verifique los resultados de la operación.
La cpu obtiene los resultados y el estado del dispositivo al leer uno o más bytes de información de los registros del controlador.
Ejemplos de controladores, sus direcciones de e / s y sus vectores de interrupción en la PC IBM pueden verse en la Tabla 5.1.

  

Controlador de e / s
Dirección de e / s
Vector de interrupciones
Reloj
040 - 043
8
Teclado
060 - 063
9
Disco duro
320 - 32f 
13
Impresora
378 - 37f 
15
Disco flexible
3f0 - 3f7
14
Rs232 primario
3f8 - 3ff 
12
Rs232 secundario
2f8 - 2ff 
11
Tabla 5.1: Controladores de e / s, direcciones de e / s y vector de interrupciones.
  
Acceso Directo a Memoria (DMA)
Muchos controladores, especialmente los correspondientes a dispositivos de bloque, permiten el DMA.
Si se lee el disco sin DMA:
  • El controlador lee en serie el bloque (uno o más sectores) de la unidad:
    • La lectura es bit por bit.
    • Los bits del bloque se graban en el buffer interno del controlador.
  • Se calcula la suma de verificación para corroborar que no existen errores de lectura.
  • El S. O. lee el bloque del disco por medio del buffer del controlador:
    • La lectura es por byte o palabra a la vez.
    • En cada interacción de este ciclo se lee un byte o una palabra del registro del controlador y se almacena en memoria.
  • Se desperdicia tiempo de la cpu.
DMA se ideó para liberar a la cpu de este trabajo de bajo nivel.
La cpu le proporciona al controlador:
  • La dirección del bloque en el disco.
  • La dirección en memoria adonde debe ir el bloque.
  • El número de bytes por transferir.
Luego de que el controlador leyó todo el bloque del dispositivo a su buffer y de que corroboró la suma de verificación.

Un controlador realiza completamente una transferencia DMA.

No hay comentarios:

Publicar un comentario