CONTENIDO INTERRUPCIÓN AL SISTEMA
REFERENCIA IMAGEN:http://arqordenadores.wiki-site.com/index.php/Interrupciones_(hardware_y_software)
CONTENIDO INTERRUPCIÓN HARDWARE
REFERENCIA IMAGEN: http://arqordenadores.wiki-site.com/index.php/Interrupciones_(hardware_y_software)
INTERRUPCIÓN SOFTWARE
REFERENCIA IMAGEN:http://sitiodtodos.galeon.com/Dma.html
IDT (Tabla Descriptora de Interrupciones)
Tabla que guarda los descriptores de interrupciones, cada vez que se produce una
interrupción se salta a una entrada de esta tabla. Contiene 256 entradas, y cada entrada
tiene información para llegar a una función manejadora de la interrupción. Contienen el
campo denominado Selector, que tiene la dirección de una entrada de la tabla GDT; el
campo Desplazamiento, que contiene el desplazamiento que hay que sumar a la base del
núcleo para llegar a la función que queremos que se ejecute cuando se interrumpe; por
último contiene una serie de campos denominados Atributos, que fijan si el desplazamiento
viene en bytes o en palabras, bits de protección, etc). Existe un registro IDTR dentro del
microprocesador que contiene la dirección base y la longitud de esta tabla, para
encontrarla con rapidez. Existe una tabla para todo el sistema. Para rellenar esta tabla se
precisan instrucciones en ensamblador privilegiadas, un usuario normal no puede
modificar sus entradas.
GDT (Tabla Global de Descriptores)
Esta tabla es única para el sistema y contiene información de los descriptores de
segmentos del sistema, los microprocesadores de Intel obligan a trabajar con segmentos
de memoria (base, longitud). Una de las entradas contiene la base y la longitud del
segmento que contiene el núcleo del sistema operativo en memoria principal. Cada
entrada también tiene otros campos que denominamos Atributos, que definen atributos del
segmentos, como permisos de acceso a ese segmento. Dentro de la CPU existe un
registro especifico GDTR para almacenar la dirección base y longitud de esta tabla y
facilitar su acceso. Otras entradas de esta tabla describen las tablas LDT y el segmento
TSS.
Esta tabla tiene una imagen de todos los registros de la CPU relacionados con un proceso,
(EAX, EBX, ECX, …), cada vez que se produce una interrupción, la CPU de forma
automática, copia el estado de sus registros en este segmento.
REFERENCIA INFORMACIÓNhttp://sopa.dis.ulpgc.es/ii-dso/leclinux/interrupciones/system_call/LEC2_INT_SOFT.pdf
No hay comentarios.:
Publicar un comentario