Interrupciones

Solo disponible en BuenasTareas
  • Páginas : 9 (2209 palabras )
  • Descarga(s) : 13
  • Publicado : 9 de diciembre de 2009
Leer documento completo
Vista previa del texto
Uno de los elementos más valiosos con los que puede contar cualquier programador bajo el entorno DOS son, sin duda, las Interrupciones, gracias a ellas podemos dotar a nuestros programas de funcionales totalmente imprescindibles si queremos hacer programas lo suficientemente legibles como para llamar la atención del usuario al que va dirigido, es más, las interrupciones se convierten en un "arma"fundamental si lo que queremos es acceder a niveles bajos para poder apoderarnos del corazón de nuestra CPU y sacar la máxima eficiencia de ésta.

En este artículo, os voy a presentar los conceptos generales de los que son las interrupciones, comentaros algunas ideas y hacer que, al menos, os suenen cuando leaís algún artículo (como el de la programación del ratón) en dónde se hablan de ellas.Definición y Tipos de Interrupciones.

La primera cosa de todas, ¿qué son las interrupciones?, bien, las interrupciones son un "mecanísmo" por medio del cual hacemos que la CPU deje la tarea en la que estaba para que se vaya a ocupar de otra cosa distinta, es decir, es una forma de llamar la atención de la CPU de tal forma que cada dispositivo cuando necesita ser atendido por la CPU, emiteuna interrupción o señal haciendo que la CPU vaya a atenderla de inmediato. Esto es importantísimo ya que de no existir interrupciones, la CPU debería de ir preguntando, cada cierto tiempo, a los dispositivos para ver si necesitan de su intervención y como podeis suponer, eso significaría lentitud, mucha lentitud.
Por tanto, quedaros con que las interrupciones sirven para controlar el hardware, yaque son las que llaman a la CPU cuando este, el hardware, necesita la intervención de la misma.

Las interrupciones se pueden dividir en 2 grupos:

1. Interrupciones de Software. También son conocidas como "falsas interrupciones" ya que se producen como consecuencia de la ejecución de otra instrucción al no ser el hardware las que las produce. Otra forma de entender estas interrupciones, esverlas desde el punto de vista de llamadas a subrutinas, lógicamente, la gracia está en que esas subrutinas no son nuestras, sino que son las propias de cada sistema operativo, driver o similar tiene. Quedaros pues, con que somos nostros los que hacemos invocamos a la interrupción.
Este tipo de interrupción es el más habitual en la programación.

2. Interrupciones de Hardware. Este tipo deinterrupción es invocado directamente por los dispositivos hardware de nuestro ordenador, por lo que "son bastante más auténticas" que las anteriores. Al producir algún dispositivo hardware la interrupción el controlador de interrupciones o PIC se encarga de gestionarla determinando, en el caso de producirse más de una interrupción a la vez, cual de ellas tiene más prioridad y debe de ser gestionada porla CPU. El funcionamiento de este tipo de interrupciones es bastante similar y se suele utilizar mucho para la programación de sistemas de comunicaciones.

La Tabla de Vectores de Interrupciones.

Seguro que alguno se ha preguntado, "si cuando llamamos a una interrupción se ejecuta una determinada rutina...¿dónde narices se encuentra esta rutina?, es más, ¿cómo sabe nuestra CPU dóndeencontrarla?."
Bien, la respuesta a estas dos preguntas (y muchas más) se encuentra en la tabla de vectores de interrupción. Dicha tabla es una estructura que se crea durante la inicialización del ordenador y se coloca, en el principio de nuestra memoria (segmento 0 y desplazamiento 0). Dicha estrucutura ocupa y de forma justa 1Kb, ya que dispone de 256 entradas de 4 bytes cada una. Lo importante de todoesto es que, dicha estructura, almacena la dirección, en memoria, de las distintas rutinas que van ligadas a las distintas interrupciones, de tal modo que cuando invocamos, mediante interrupción software, o se invoca, mediante hardware, una interrupción, lo que se hace es utilizar un índice que va ligado a la interrupción, de tal manera que, con dicho índice, se acude a la tabla de vectores de...
tracking img