sábado, 11 de abril de 2009

Motivo de las Interrupciones

Las interrupciones se pueden generar por diversas causas:

  1. Excepciones de programa: hay determinadas causas que hacen que un programa presente un problema en su ejecución, por lo que deberá generarse una interrupción, de forma que el sistema operativo trate dicha causa. Ejemplo: el desbordamiento en las operaciones aritméticas, la división por cero.
  2. Interrupciones de reloj: el oscilador que gobierna las fases de ejecución de las instrucciones máquina se denomina reloj. El objetivo de estas interrupciones es hacer que el sistema operativo entre a ejecutar operaciones de forma sistemática cada cierto intervalo de tiempo. De esta manera, el sistema operativo puede evitar que un programa monopolice el uso de la computadora y puede hacer que entren a ejecutarse programas en determinados instantes de tiempo. Estas interrupciones se producen cada varios milisegundos, por ejemplo cada 20 milisegundos.
  3. Interrupciones de E/S: una de las funciones principales del núcleo de cualquier sistema operativo es mantener una comunicación tal con el microprocesador, que permita controlar correctamente los dispositivos de E/S. Los controladores de estos dispositivos necesitan interrumpir para indicar las operaciones que realizan.
  4. Excepciones del hardware: La detección de un error de paridad en la memoria o un corte de corriente se avisan mediante la correspondiente interrupción. Las memorias RAM se dividen en estáticas y dinámicas. Una computadora usa tanto memoria de nueve bits (ocho bits y un bit de paridad, en 9 chips de memoria RAM dinámica) como memoria de ocho bits sin paridad. En el primer caso los ocho primeros son para datos y el noveno es para el chequeo de paridad, que se refiere al uso de bits de paridad para verificar si los datos han sido transmitidos correctamente. El bit de paridad es añadido a cada siete bits que se transmite.
  5. Instrucciones de TRAP: Estas instrucciones permiten que un programa genere una interrupción. Estas instrucciones se emplean fundamentalmente para solicitar los servicios del sistema operativo. Precisamente la activación misma del sistema operativo solamente se realiza mediante el mecanismo de las interrupciones. Cuando es un proceso en ejecución el que desea un servicio del sistema operativo ha de utilizar una instrucción TRAP, que genera la interrupción pertinente. En los demás casos será una interrupción, interna o externa, la que reclame la atención del sistema operativo.

No hay comentarios:

Publicar un comentario