martes, 14 de octubre de 2014

IRQs

CONTENIDO INTERRUPCIÓN AL SISTEMA

CONTENIDO INTERRUPCIÓN HARDWARE


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.













No hay comentarios.:

Publicar un comentario