37
UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

Embed Size (px)

Citation preview

Page 1: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

1Ing. Sara Noriega D.DOCENTE UNIVERSIDAD ECOTEC

GESTION DE ENTRADA/SALIDA

Page 2: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Funcionamiento de ambos esquemas• En ambos casos, cuando la CPU quiere leer una palabra, sea de la

memoria o de un puerto de e/s, coloca la dirección que necesita en las líneas de dirección del bus y luego aplica una señal de READ a la línea de control del bus.

• Se usa una segunda línea de señal para indicar si se debe usar el espacio de e/s o el de memoria.

• Si se va a usar el espacio de memoria, la memoria responde a la solicitud,

• Si se va a usar el espacio de e/s, el dispositivo de e/s responde a la solicitud.

• Si sólo hay espacio de memoria, cada módulo de memoria y cada dispositivo de e/s compara las líneas de dirección con el intervalo de direcciones que atiende.

• Si la dirección está dentro de su intervalo, responde a la solicitud, ya que ninguna dirección se asigna tanto a la memoria como a un dispositivo de e/s, no hay conflictos ni ambigüedades.

Page 3: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Ventajas de los esquemasEntre las ventajas están:• Si se necesitan instrucciones de e/s especiales para

leer y escribir en los registros de control de los dispositivos el acceso a ellos requerirá el uso de código en ensamblador, porque no hay manera de ejecutar una instrucción IN o OUT en C o C++.

• En contraste con e/s con correspondencia en

memoria, los registro de control de los dispositivos no son mas que variables en la memoria y pueden direccionarse en C igual que cualquier otra variable.

• Sin e/s con correspondencia en memoria, se requiere algo de código en ensamblador.

Page 4: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Ventajas de los esquemas

• Con e/s con correspondencia en memoria no se requiere un mecanismo especial de protección para evitar que los procesos de usuario efectúen E/S.

• Lo único que necesita hacer el SO es cuidar que la porción del espacio de direcciones que contiene los registro de control jamás se incluya en el espacio de direcciones virtual de ningún usuario.

• Con correspondencia en memoria cualquier instrucción que pueda hacer referencia a la memoria, también podrá hacer referencia a registros de control.

Page 5: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Arquitectura con el bus de datos• Cuando se tiene el esquema de un espacio de direcciones,

todos los módulos de memoria y todos los dispositivos de E/S tendrán que examinar todas las referencias a la memoria para determinar a cuáles deben responder.

• Si la computadora tiene un solo bus, es simple obligar a todos a examinar cada dirección.

• En cambio cuando las computadoras tienen un bus de alta velocidad dedicado a la memoria, el cual es diseñado para optimizar el desempeño de la memoria, sin hacer concesiones por la lentitud de los dispositivos de E/S.

• Desde los pentium en adelante tienen 3 buses externos (memoria, PCI, ISA).

Page 6: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Arquitectura con el bus de datos

• El problema de tener un bus en memoria aparte en las máquinas con correspondencia en memoria es que los dispositivos de E/S no pueden ver las direcciones de memoria a su paso por el bus de memoria, así que no tienen forma de responder.

Page 7: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

ACCESO DIRECTO A MEMORIA• La CPU necesita direccionar las controladoras de dispositivos

para intercambiar de datos con ellas.

• La CPU puede solicitar datos a una contradoladora de e/s por bytes, haciendo perder tiempo a la CPU.

• Para evitar esto existe otro esquema distinto, y es el acceso directo a memoria DMA. (Direct Memory Access).

• El SO solo puede usar el DMA si el hardware tiene una controladora DMA. (casi todos lo tienen)

• En ocasiones la controladora está integrada en las controladoras de disco y de otro tipo, pero tal diseño requiere una controladora DMA aparte para cada dispositivo.

Page 8: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

ACCESO DIRECTO A MEMORIA

• Es mas común que haya una sola controladora DMA (ej. En la tarjeta matriz) para regular las transferencias a múltiples dispositivos, a menudo de manera concurrente.

• La DMA tiene acceso al bus del sistema, independientemente de la CPU. (leer y escribir e incluye registro de dirección de memoria, registro para conteo de bytes y uno o mas registros de control.

• Los registros de control especifican el puerto de E/S que se usará, la dirección de la transferencia (leer el dispositivo de e/s o escribir en él), la unidad de transferencia (byte) y el número de bytes que se transferirán en cada ráfaga.

Page 9: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Funcionamiento del DMA

1. la CPU programa la controladora DMA, colocando valores en sus registros para que sepa que debe transferir y a dónde.

• Envía un comando a la controladora de disco indicándole que lea datos del disco, los coloque en su búfer interno y coteje la suma de verificación. Luego de esto inicia.

2. La controladora DMA inicia la transferencia, enviando a la controladora de disco una solicitud de lectura por el uso. En esta solicitud tiene el mismo formato que cualquier otra, y la controladora de disco no sabe, ni le importa, si provino de la CPU o de una controladora DMA.

• La dirección de memoria en la que se escribirá está en las líneas de dirección del bus, así que cuando la controladora de disco toma el siguiente byte de su búfer interno sabe donde colocarla.

Page 10: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Funcionamiento del DMA

3. La escritura en memoria es otro ciclo del bus estándar.

4. Cuando finalice la escritura, la controladora de disco envía una señal de acuse a la controladora DMA, también por el bus.

• Después la controladora de la DMA incrementa la dirección de memoria que se usará y disminuye la cuenta de bytes. Si ésta sigue siendo mayor que 0, se repite pasos del 2 al 4 hasta que la cuenta llega a 0.

• En ese momento la controladora DMA, interrumpe a la CPU para avisarle que ya terminó la transferencia. Cuando el SO inicie, no tendrá que copiar el bloque de disco en la memoria, porque ya está.

Page 11: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Modelos de controladoras DMA

• En cuanto a complejidad, las mas sencillas realizan una transferencia a la vez, como acabamos de escribir.

• Otras pueden programarse para manejar varias

transferencias a la vez. Estas tienen múltiples conjuntos de registros internos, uno para cada bus.

• La controladora DMA siempre decide a que dispositivo atenderá primero, (round robín) o esquema de prioridades

Page 12: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

INTERRUPCIONES

En el nivel del hardware, las interrupciones operan así:

• Cuando un dispositivo de e/s termina el trabajo que se le dio, causa una interrupción. Esto lo hace aplicando una señal a una línea de bus que se le haya asignado.

• El chip controlador de interrupciones en la tarjeta matriz detecta esta señal y decide qué hacer.

• Si no hay otras interrupciones pendientes, la controladora de interrupciones procesa la interrupción en una línea de solicitud de interrupción de mas alta prioridad en el bus, el dispositivo se atenderá por el momento. En este caso el dispositivo aplica una señal de interrupción al bus hasta que la CPU le haga caso.

• Para manejar la interrupción la controladora coloca un número en las líneas de dirección para especificar cuál dispositivo hace que la CPU dejo lo que estaba haciendo y comience a hacer otra cosa.

Page 13: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Estructura de interrupciones• El número que está en las líneas de dirección se usa como

índice para consultar una tabla llamada vector de interrupciones y traer un nuevo contador de programa, el cual apunta al principio del procedimiento que da servicio a la interrupción correspondiente.

• La ubicación del vector puede estar incorporada al hardware o en cualquier lugar de la memoria. En todo caso un registro de la CPU (cargado por el so apuntará a su origen).

• Poco después de iniciar a ejecutar el procedimiento de interrupción acusa recibo de la interrupción escribiendo cierto valor en uno de los puertos de E/S de la controladora de interrupciones. Este acuse le dice a la controladora que está en libertad de generar otra interrupción.

Page 14: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Estructura de interrupciones• Una interrupción que deja a la máquina en un estado bien definido

se denomina interrupción precisa. Esta tiene 4 propiedades:

• 1. El contador de programa (cp) se guarda en un lugar conocido.

• 2. Todas las instrucciones previas a aquella a la que apunta el cp ya se ejecutaron por completo.

• 3. No se ha ejecutado ninguna instrucción posterior a aquella a la que apunta el cp.

• 4. Se conoce el estado de ejecución de la instrucción a la que apunta el cp.

• La interrupción que no cumple con estos requisitos es una interrupción imprecisa, y hace muy ardua la vida del escritor de so., pues debe determinar que ha sucedido y que aún no.

Page 15: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Estructura de interrupciones

• Algunas máquinas como la Pentium pro, y todas sus sucesoras, tienen interrupciones precisas, para permitir que los programas antiguos para Pentium funcionen en forma correcta.

Page 16: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

PRINCIPIOS DEL SOFTWARE DE E/S• El concepto clave en el diseño del software para E/S es

conocido como INDEPENDENCIA DEL DISPOSITIVO.

• Debe ser posible escribir programas capaces de acceder a cualquier dispositivo de E/S sin tener que especificar por adelantado de qué dispositivo se trata.

• Ejemplo: si desde un programa se desea acceder a un archivo, deberá poderse leer sin importar de qué dispositivo se trata (disco IDE, disco SCSI, Dvd)

• Le compete al SO poder resolver los problemas causados por el hecho de que tales dispositivos en realidad son diferentes y requieren sucesiones de comandos muy distintas para leer o escribir.

Page 17: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

PRINCIPIOS DEL SOFTWARE DE E/S• La independencia del dispositivo se relaciona con la meta de los nombres

uniformes.

• El nombre de un archivo debe ser una cadena y no depender del dispositivo.

• Otro aspecto que maneja el software de E/S es el manejo de errores.

• En general, los errores deben manejarse tan cerca del hardware como sea posible.

• Si la controladora descubre un error de lectura deberá tratar de corregir. Si no puede el controlador de dispositivo deberá corregirlo, tal vez repitiendo el proceso de lectura.

• En el caso que el problema detectado no pueda ser resuelto por las capas inferiores, debe comunicar al área superior.

• En muchos casos, la recuperación de errores puede efectuarse de manera transparente en un nivel bajo, sin que los niveles superiores se enteren siquiera de que hubo un error.

Page 18: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

PRINCIPIOS DEL SOFTWARE DE E/STRANSFERENCIAS SÍNCRONAS Y ASINCRONAS• Las transferencias síncronas por bloqueo y asíncronas

(controladas por interrupciones).

• Casi toda la E/S física es síncrona: La CPU inicia la transferencia y se pone a hacer alguna otra cosa hasta que llega la interrupción. Los programas de usuario son mucho más fáciles de escribir si las operaciones de E/S son bloqueadoras: después de una llamada al sistema de read, el programa se suspende en forma automática hasta que los datos estén en el búfer.

• Corresponde al SO hacer que operaciones que en realidad son controladas por interrupciones parezcan bloqueadoras desde la perspectiva de los programas de usuario.

Page 19: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

PRINCIPIOS DEL SOFTWARE DE E/S

USO DE BÙFERES

• Los datos normalmente no pueden grabarse en forma directa en su destino final. Por ej. Cuando llega un paquete de red, el SO no sabe dónde colocarlo sino hasta que lo haya guardado en algún lado donde puede examinarlo.

• Además algunos dispositivos están sujetos a severas restricciones de tiempo real. Ej. Los de audio digital, por lo que los datos deben colocarse por adelantado en un búfer de salida.

• El uso de búferes requiere numerosas operaciones de copiado y a menudo tiene un impacto importante sobre el desempeño de E/S.

Page 20: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

PRINCIPIOS DEL SOFTWARE DE E/S

USO DE BÙFERES• Algunos dispositivos de E/S, como los discos, pueden

ser utilizados por muchos usuarios al mismo tiempo.

• No hay problema si varios usuarios tienen archivos abiertos en el mismo disco al mismo tiempo.

• Otros dispositivos, como unidades de cinta, tienen que estar dedicados a un solo usuario hasta que éste termine de usarlos. Luego podrá asignarse la unidad de cinta a otro usuario.

Page 21: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Tipos de comunicación E/S

• En general los procesos de E/S pueden ser de tres tipos según la forma en que se inician y controlan:

• 1. E/S programadas• 2. E/S solicitada mediante interrupción• 3. E/S gobernada por controlador de bus

Page 22: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

E/S programadas

• También denominadas de interrogación o encuesta ("Polling").  El programa decide cuando y con que dispositivos se establecerá la comunicación de E/S. 

• Es un método adecuado en determinadas circunstancias (periféricos lentos), pero resulta un poco ineficiente si deben atenderse periféricos rápidos o gran cantidad de ellos.

• Sobre todo si la comunicación se origina del lado de los dispositivos (es el periférico el que solicita la comunicación), porque el procesador debe interrogar periódicamente al periférico, lo que supone un tiempo extra.

Page 23: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

Bruno Pagnacco

23

Page 24: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

E/S solicitada mediante interrupción

• Este método es utilizado intensivamente en la programación actual, y es la base del funcionamiento de los procesadores modernos.

• La esencia del método consiste en que el periférico que desea establecer comunicación, dispone de un canal especial ("casi" siempre abierto) para solicitarla al procesador. 

• Cuando el procesador recibe esta señal, que se denomina petición de interrupción, termina la instrucción que esté en ejecución y atiende al periférico. 

• Es el sistema más eficiente para atender a periféricos de velocidad media, o cuando hay que atender a gran número de ellos.

Page 25: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

E/S gobernada por controlador de bus• Los sistemas anteriores tienen el inconveniente de que cualquiera

que sea el procedimiento por el que se inicia la E/S, es el procesador el que debe atenderla.  Sin embargo, hay ocasiones, en especial cuando se trata de transferencias de datos entre periféricos rápidos y memoria (por ejemplo discos), en que se alcanza una mayor eficacia dejando al procesador al margen del proceso (la cuestión tiene cierta lógica pues al fin y al cabo, el asunto no va con él).  Estos procesos se conocen como acceso directo a memoria DMA ("Direct Memory Access"), y exigen dos requisitos:

• I-   El procesador debe ser capaz de dejar libre el bus de datos para que otro dispositivo tome su control, limitándose mientras tanto a esperar.

• II-  Otro dispositivo debe tomar el control del bus ("bus mastering"), para controlar él mismo el proceso.

Page 26: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

E/S CON DMA

Bruno Pagnacco

26

Page 27: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CAPAS DEL SOFTWARE DE E/S

• El software regularmente está dividido en 4 capas:• 1. Manejadores de interrupciones• 2. Controladores de dispositivos• 3. Software independiente del dispositivo• 4. Software de e/S en espacio de usuario

Page 28: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CAPAS DEL SISTEMA DE SOFTWARE DE E/S

HARDWARE

MANEJADORES DE INTERRUPCIONES

CONTROLADORES DE DISPOSITIVOS

SOFTWARE DE SO INDEPENDIENTE DEL DISPOSITIVO

SOFTWARE DE E/S EN NIVEL DE USUARIO

Page 29: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

MANEJADORES DE INTERRUPCIONES

• En la mayoría de operaciones de E/S las interrupciones son inevitables. Lo mejor es ocultarlas en lo profundo del so.

• Para ocultar las interrupciones se debe hacer que el controlador que inicia una operación de E/S se bloquee hasta que la E/S haya terminado y se presente la interrupción.

• Dicho controlador puede bloquearse ejecutando DOWN con un semáforo, WAIT con una variable de condición o RECEIVE con un mensaje, o algo similar.

Page 30: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

MANEJADORES DE INTERRUPCIONES

• Cuando se presenta la interrupción, el procedimiento de interrupciones hace lo propio para manejarla.

• Luego para desbloquear el controlador que la generó.

• En algunos casos se ejecutará UP con un semáforo.

• En otros ejecutará SIGNAL con una variable de condición en un monitor.

• En otros, enviará un mensaje al controlador bloqueado.

• En todos los casos el efecto neto de la interrupción será que un controlador que antes estaba bloqueado ahora ya puede ejecutarse.

• Este modelo funciona en forma óptima si los controladores se estructuran como proceso KERNEL, con sus propios estados, pilas y contadores de programa.

Page 31: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CONTROLADORES DE DISPOSITIVOS

• Cada controladora tiene algunos registros que sirven para enviarle comandos al dispositivo o para indicar el estado de éste, o amabas cosas.

• El número de registros de dispositivos y la naturaleza de los comandos varían en forma radical de un dispositivo a otro.

• Un ratón debe aceptar la información que le indica la distancia que se ha desplazado y cuáles botones están oprimidos.

• En cambio el controlador de disco necesita información acerca de sectores, pistas, cilindros, cabezas, movimiento del brazo, motores, tiempos de estabilización de la cabeza y todos los demás aspectos mecánicos que se requieren para que funcione en forma correcta.

• Cada dispositivo de E/S conectado a una computadora necesita código específico que sirva para controlar ese dispositivo.

Page 32: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CONTROLADORES DE DISPOSITIVOS

• Ese código es el “CONTROLADOR DE DISPOSITIVO” (device driver), que por lo general es escrito por el fabricante del dispositivo y se proporciona junto con el hardware. Puesto que cada sistema operativo necesita sus propios controladores, los fabricantes suelen proporcionar controladores para varios de los sistemas operativos mas utilizados.

• Cada controlador de dispositivo maneja un tipo de dispositivo o, cuando más, una clase de dispositivos muy relacionados entre sí. Ej. Un controlador de disco SCSI por lo regular puede manejar varios discos SCSI de diferente tamaño y diferentes velocidades, y quizá también un CD-ROM SCSI.

• Un ratón y una palanca de juegos son muy diferentes que casi siempre necesitan controladores distintos.

• En conclusión, no existe ninguna restricción técnica que impida que un controlador de dispositivo maneje varios dispositivos que no tengan relación entre sí.

Page 33: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CONTROLADORES DE DISPOSITIVOS• Para acceder al hardware del dispositivo, es decir a

los registros de la computadora, es necesario que el controlador forme parte del kernel del sistema operativo, al menos en las arquitecturas actuales.

• De hecho sería posible construir controladores que se ejecutarán en espacio de usuario, con llamadas al sistema para leer y escribir en los registros del dispositivo.

• Resulta mejor, porque aislaría al kernel de los controladores, en consecuencia eliminaría una causa importante de caídas del sistema: Controladores con error que interfieren con el sistema operativo de una forma u otra.

Page 34: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CONTROLADORES DE DISPOSITIVOS• Los sistemas operativos por lo regular clasifican los controladores en unas

cuantas categorías.

• Los mas comunes son los dispositivos de bloques, como los discos, que contienen varios bloques susceptibles de direccionarse en forma independiente, y los dispositivos de caracteres, como los teclados e impresoras que generan o aceptan un flujo de caracteres.

• La mayoría de los SO definen una interfaz estándar que todos los controladores de bloques deben soportar y una segunda interfaz estándar todos los controladores de caracteres deben soportar.

• Esas interfaces consisten en varios procedimientos que el resto del SO puede invocar para pedir al controlador que realice algún trabajo.

• Los procedimientos mas comunes son Ej. Los que leen un bloque (dispositivo de bloques) o los que escriben una cadena de caracteres (dispositivos de caracteres).

Page 35: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CONTROLADORES DE DISPOSITIVOS• Un controlador de dispositivo tiene varias funciones.

• Aceptar solicitudes abstractas de leer o escribir enviadas por el software independiente del dispositivo que está más arriba, y encargarse de que se satisfagan.

• Asignar valores iniciales al dispositivo, en caso de ser necesario.

• Administrar el consumo de energía eléctrica y asentar sucesos en un registro.

Page 36: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CONTROLADORES DE DISPOSITIVOS

• La mayoría de los controladores de dispositivos tienen su estructura similar.

• Lo primero que hace un controlador típico es verificar si los parámetros de entrada son válidos.

• Si no lo son, se devuelve un error.

• Luego el controlador podría verificar si el dispositivo se está usando en ese momento. En tal caso, la solicitud se pondrá en cola para procesarse después.

• Si el dispositivo está inactivo, se examinará el estado del hardware para ver si ya puede atenderse la solicitud.

• Controlar el dispositivo implica enviarle una serie de comandos. El controlador de dispositivo es el lugar donde se termina la sucesión de comandos, dependiendo de la tarea a realizar.

Page 37: UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008 1 Ing. Sara Noriega D. DOCENTE UNIVERSIDAD ECOTEC GESTION DE ENTRADA/SALIDA

UN

IVE

RS

IDA

D T

EC

NO

GIC

A E

CO

TE

C. IS

O 9001:2008

CONTROLADORES DE DISPOSITIVOS

• Cuando el controlador sabe qué comandos va a emitir, comienza a escribirlos en los registros de dispositivo de la controladora.

• Después de escribir cada comando en la controladora, podría ser necesario verificar que ésta lo haya aceptado y esté preparado para recibir el siguiente.

• Esto continúa hasta emitir todos los comandos.

• Finalmente, en la mayoría de los casos el controlador de dispositivo debe esperar hasta que la controladora realice algunas tareas, así que se bloquea hasta que llegue la interrupción que lo desbloquea.