Study/Kenrel
IDT(Interrupt Descriptor Table)
Mungsul
2015. 9. 24. 13:17
세그먼트를 지정하는데 GDT가 쓰인다면 인터럽트를 지정하는데는 IDT가 쓰인다.
* 출처 : http://flslg.tistory.com/entry/IDT-Interrupt-Descriptor-Table
Offset은 인터럽트 핸들러의 오프셋을 나타낸다.
Segment Selector는 핸들러의 코드 세그먼트 셀렉터이다.
DPL은 특권 레벨을 나타내고 P는 GDT와 마찬가지의 의미를 갖는다.
각각의 IDT를 찾기 위해 IDTR 이라는 녀석을 사용하는데, 이 놈은 6바이트로 이루어져있다.
처음 2바이트는 IDT의 크기(limit)를 나타내고 다음 4바이트는 IDT 시작점 주소를 나타낸다.
인터럽트가 발생되면 IDTR을 참조하여 IDT 목록을 찾고 해당 인터럽트에 해당하는 IDT에서 세그먼트와 오프셋을 참조하여 인터럽트 핸들러로 넘어간다.