El Descriptor de Tabla de Interrupciones (IDT, por sus siglas en inglés) es una estructura clave en los sistemas operativos modernos, utilizada para gestionar interrupciones y excepciones en procesadores x86 y x86-64. Permite redirigir el flujo de ejecución hacia controladores específicos cuando ocurren eventos.
El IDT es una tabla que contiene descriptores, cada uno de los cuales define una dirección de memoria y privilegios asociados a un manejador de interrupciones o excepciones. Los procesadores acceden a esta tabla cuando necesitan responder a una señal externa (interrupción de hardware) o a una condición interna (excepción).
Cada entrada del IDT tiene 16 bytes y está indexada por un número de interrupción (vector). Estas entradas pueden representar interrupciones de hardware, software o excepciones críticas, como fallos de página o errores de segmentación.
La función del IDT es asegurar una transición controlada y segura entre el código en ejecución y los manejadores de interrupciones o excepciones. Esto permite que el sistema operativo responda eficientemente a eventos inesperados y mantenga la estabilidad del sistema.
1. Excepción de División por Cero (vector 0): Redirige a un manejador que informa del error al usuario o termina la aplicación problemática.
2. Interrupción de Teclado (vector 33): Llama a un manejador que procesa la entrada del teclado.
3. Fallo de Página (vector 14): Invoca al manejador de memoria virtual para cargar la página necesaria en memoria.
Jorge García
Fullstack developer