1.1. Interrupt Descriptor Table(IDT)

ÇÁ·Î¼¼¼­¿¡°Ô ÀÎÅÍ·´Æ® ȤÀº exception ÀÌ °É·ÈÀ» °æ¿ì¿¡ ¼öÇàÇØ¾ß ÇÒ Çڵ鷯ÀÇ ÁÖ¼Ò¸¦ ÀúÀåÇØ ³õÀº °ÍÀ» ÀÎÅÍ·´Æ® ȤÀº exception vector ¶ó°í ÇÑ´Ù.

ÀÎÅÚÀÇ ÇÁ·Î¼¼¼­¿¡¼­´Â ÀÌ·¯ÇÑ ÀÎÅÍ·´Æ® ȤÀº exception Çڵ鷯µéÀÇ º¤ÅÍ¿Í º¤ÅÍÀÇ Á¤º¸ µîÀ» ÀúÀåÇØ µÎ´Â ±¸Á¶Ã¼¸¦ IDT(Interrupt Descriptor Table) ¶ó°í ºÎ¸¥´Ù. À̵é IDT ±¸Á¶Ã¼µéÀº ÀÎÅÚ ¾ÆÅ°ÅØÃÄÀÇ Æ¯ÀÌÇÑ ÀÚ·á ±¸Á¶ÀÎ '°ÔÀÌÆ®' [1] ÀÇ ÇüŸ¦ ÀÌ·ç°í Àִµ¥, ½ÇÁ¦ IDT ¿¡ µé¾î°¥ ¼ö ÀÖ´Â °ÔÀÌÆ®µéÀº Task gate, Trap gate, Interrupt Gate ÀÇ ¼¼°¡Áö°¡ ÀÖ´Ù. ¸®´ª½ºÀÇ °æ¿ì´Â IDT ¿¡ interrupt gate ¿Í trap gate ¸¸À» »ç¿ëÇÑ´Ù.

1.1.1. IDTR

ÆæƼ¾ö¿¡´Â IDTR À̶ó ºÒ¸®¿ì´Â Ưº°ÇÑ ·¹Áö½ºÅÍ°¡ Á¸ÀçÇÑ´Ù. ÀÌ ·¹Áö½ºÅÍ´Â ½Ã½ºÅÛÀÇ IDT °¡ Á¸ÀçÇÏ´Â ¸Þ¸ð¸® ÁÖ¼ÒÀÇ º£À̽º ¾îµå·¹½º¿Í IDT entry ÀÇ °¹¼ö°¡ ÀúÀåµÇ±â·Î ¾à¼ÓµÈ ·¹Áö½ºÅÍÀÌ´Ù. ÀÌ ·¹Áö½ºÅÍ´Â Å©±â°¡ 48 ºñÆ®·Î½á, »óÀ§ 32 ºñÆ®¿¡´Â IDT °¡ ½ÃÀ۵Ǵ °÷ÀÇ º£À̽º ¾îµå·¹½º°¡ ÀúÀåµÇ¸ç ÇÏÀ§ 16ºñÆ®¿¡´Â IDT ¿£Æ®¸®ÀÇ °¹¼ö°¡ ´ã°ÜÁ® ÀÖ´Ù.

ÀÏ´Ü ÀÎÅÍ·´Æ®³ª ¿¹¿Ü»óȲ(execption À» '¿¹¿Ü»óȲ' À̶õ ¸»·Î ÅëÀÏÇϵµ·Ï ÇÏ°Ú´Ù.)ÀÌ ¹ß»ýÇϸé, ÇÁ·Î¼¼¼­´Â IDTR À» ÂüÁ¶ÇÏ¿© ±× º£À̽º ¾îµå·¹½º·ÎºÎÅÍ ÀÎÅÍ·´Æ® ȤÀº ¿¹¿Ü»óȲÀÇ ¹øÈ£¿¡ ÇØ´çÇÏ´Â °ÔÀÌÆ®¸¦ È£ÃâÇÑ´Ù. [2] Áï, ´ÙÀ½ ±×¸²°ú °°ÀÌ IDT ¿¡¼­ È£ÃâÇØ¾ß ÇÒ °ÔÀÌÆ® µð½ºÅ©¸³Å͸¦ ã´Â °ÍÀÌ´Ù :

그림 1-1. Relationship of the IDTR and IDT

À§ ±×¸²Ã³·³ ÀÎÅÍ·´Æ® º¤Å͸¦ °¡Áö°í ÇØ´çÇÏ´Â IDT ¿£Æ®¸®¸¦ ãÀº ÈÄ¿¡´Â ´ÙÀ½ ±×¸²Ã³·³ ÇØ´ç ¿£Æ®¸®¿¡ ÀÖ´Â °ÔÀÌÆ®¸¦ È£ÃâÇÑ´Ù :

그림 1-2. Interrupt Procedure call

1.1.2. Interrupt Descriptor Table Structure

°¢°¢ÀÇ IDT ÀÇ ¿£Æ®¸®µéÀº ´ë°³ ´ÙÀ½°ú °°Àº ±¸Á¶·Î ÀÌ·ç¾îÁ® ÀÖ´Ù :

그림 1-3. IDT Gate Descriptors

À§ ±×¸²¿¡¼­ ƯÈ÷ ÁÖ¸ñÇØ¾ß ÇÒ ºÎºÐÀº ¾ø´Ù. ÀϹÝÀûÀÎ °ÔÀÌÆ® µð½ºÅ©¸³ÅÍ(gate descriptor) µéÀº ¸ðµÎ À­ ±×¸²°ú ºñ½ÁÇÑ ±¸Á¶¸¦ °¡Áø´Ù.

주석

[1]

°ÔÀÌÆ®¶õ ÀÎÅÚ ÇÁ·Î¼¼¼­µé¿¡¼­ Á¤ÀÇÇؼ­ »ç¿ëÇϴ ƯÀÌÇÑ ±¸Á¶Àε¥, °ÔÀÌÆ®´Â ½Ã½ºÅÛ¿¡ ¼­·Î ´Ù¸¥ privilege ·¹º§ÀÇ Çڵ鷯 ȤÀº procedure ¸¦ È£ÃâÇϱâ À§Çؼ­ Á¤ÀÇÇÏ°í ÀÖ´Â ÀÏÁ¾ÀÇ 'gateway' ¿Í °°Àº ¿ªÇÒÀ» ÇÏ´Â ±¸Á¶Ã¼ÀÌ´Ù. ÀÌ ±¸Á¶Ã¼¿¡´Â È£ÃâÇÒ Çڵ鷯 ȤÀº procedure ÀÇ ÁÖ¼Ò¿¡ ´ëÇÑ Á¤º¸, privilege level ¿¡ ´ëÇÑ Á¤º¸¿Í °°Àº °ÍµéÀÌ ´ã°ÜÁ® ÀÖ´Ù. ÁÖ·Î ÀÌ·¯ÇÑ °ÔÀÌÆ®µéÀº 64ºñÆ®ÀÇ Å©±â¸¦ °¡Áø´Ù. ÀÎÅÚ¿¡¼­ Á¤ÀÇÇÏ´Â °ÔÀÌÆ®´Â call gate, task gate, interrupt gate, trap gate µîÀÌ Á¸ÀçÇϸç, IDT ¿¡ µé¾î°¥ ¼ö ÀÖ´Â °ÔÀÌÆ®´Â ¿©±â¼­ call gate ¸¦ Á¦¿ÜÇÑ ¼¼°¡Áö gate µéÀÌ´Ù.

[2]

¿ø¹®¿¡¼­´Â CALL to a gate ¶ó°í Ç¥±âÇÏ°í ÀÖ½À´Ï´Ù. dz±â´Â ´À³¦À¸·Î ÀÌÇØÇϼ¼¿ä :-)