>

세그먼트를 지정하는데 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에서 세그먼트와 오프셋을 참조하여 인터럽트 핸들러로 넘어간다.

'Study > Kenrel' 카테고리의 다른 글

Task Switching in Kernel  (0) 2015.09.25
PIC 초기화  (0) 2015.09.24
Protected Mode 진입  (0) 2015.09.23
GDT(Global Descriptor Table)  (0) 2015.09.23
Segment & Offset  (0) 2015.09.21
Posted by Mungsul
,