2012-07-18 51 views

Respuesta

6

Eso no tiene nada que ver con Linux. Son las estructuras de la CPU, que el SO se inicializa para manejar interrupciones y excepciones. En el modo de direccionamiento real, la estructura solo contiene direcciones de ISR. Este formato se conoce como IVT. En el modo protegido, la estructura es más compleja y se llama IDT. El manual de la CPU de Intel o AMD le informará todos los detalles sobre el manejo de interrupciones.

Los SO modernos funcionan casi por completo en modo protegido y, por lo tanto, usan el IDT. El IVT solo es necesario cuando se inicia el sistema operativo, porque eso ocurre en modo real.

4

IVT sólo es válido en modo real y IDT es válida en el modo protegido

en la arquitectura x86, la tabla de vectores de interrupción (IVT) es una tabla que especifica las direcciones de todas las 256 el manejador de interrupciones utilizadas en modo real [more...]

el descriptor de tabla de interrupciones (IDT) es específico para el I386 arquitectura. Es la contraparte del modo protegido del Modo real Tabla de vectores de interrupción (IVT) que indica dónde se encuentran las rutinas del servicio de interrupción (ISR). [more...]

3

Procesamiento de interrupción en modo real En el modo real, el inferior 1K de memoria almacena una estructura de datos conocida como la tabla de vectores de interrupción (IVT). Hay nominalmente 256 entradas en esta tabla. (Desde el 80286, el IVT no necesita tener 256 entradas o comenzar en la dirección física 0. La base, la dirección y la duración del IVT se determinan observando el Registro de Tabla de Descriptores ** interrumpido **.) Cada entrada contiene un puntero lejano a una rutina de servicio de interrupción. Cualquier tipo de interrupción se enruta a la rutina de servicio de interrupción apropiada a través de esta tabla. El procesador indexa el número de interrupción en esta tabla; empuja el CS, IP y banderas actuales en la pila; y llama al puntero lejano especificado en el IVT. El controlador procesa la interrupción y luego ejecuta una instrucción IRET para devolver el control al lugar donde el procesador ejecutó en el momento de la interrupción.

Procesamiento de interrupción en modo protegido En modo protegido, las interrupciones se manejan de forma similar al modo real. La tabla de descriptores de interrupción (IDT) hace lo que IVT hace en modo real. IDT consiste en una matriz de descriptores de segmentos de 8 bytes llamados puertas. El registro de tabla de descriptores de interrupción (IDTR) contiene la dirección base y el límite de IDT. El IDT debe existir en la memoria física y nunca debe cambiarse a la memoria virtual. Esto se debe a que si ocurriera una interrupción mientras se cambiaba el IDT, el procesador generaría una excepción, que requeriría que el IDT obtuviera el controlador para manejar esta excepción, y así sucesivamente hasta que el sistema se bloquee. Las puertas en el IDT pueden constar de tres tipos: puertas de interrupción, puertas trampa y puertas de tareas. No nos detendremos en los detalles de la trampa y las puertas de la tarea. Para obtener más información, consulte la documentación del procesador Intel.

http://www.reverse-engineering.info/SystemHooking/hooksoft.htm

Cuestiones relacionadas