http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_system&no=575 [º¹»ç]
===============================================================================
>¹öÆÛ ¿À¹öÇ÷οö°¡ °æ°è°Ë»ç¸¦ ÇÏÁö¾Ê´Â Ãë¾à ÇÁ·Î±×·¥À»
>
>´ë»óÀ¸·Î ½ºÅÿµ¿ª ÀÌ»óÀÇ °ª¿¡ ÀÚ½ÅÀÌ ¿øÇÏ´Â ½ÇÇà ¸í·ÉÀ» ³Ö¾î¼
>
>°ø°ÝÇÑ´Ù´Â °ÍÀ» ¾Ë°Ú°í... Æäµµ¶ó °°Àº°æ¿ì¿¡ ·± ŸÀÓ¶§ ½ºÅÃÀÇ °æ°è°Ë»ç¸¦
>
>ÇÏ¿©¼ ¼¼±×¸ÕÆ®ÀÇ ½ÇÇà ±ÇÇÑÀÌ ¾ø´Â °æ¿ì¿¡´Â segment fault°¡ ¹ß»ýÇÏ´Â °Íµµ
>
>´ëÃæ ¾Ë°Ú´Âµ¥ Ä¿³ÎÂÊ¿¡¼ segmet fault°¡ ¹ß»ýÇÏ´Â Ä¿³Î ¼Ò½º°¡ ¾îµð ÀÖ´ÂÁö,
>
>¹öÆÛ ¿À¹öÇ÷οö ŽÁö MMU(memory management unit)°¡ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö¿¡ ´ëÇÑ
>
>°ü·Ã Àڷᳪ ¼³¸íÀ» Á» ºÎŹµå¸³´Ï´Ù...
>
===============================================================================
segment fault ¿¹¿Ü´Â CPU°¡ ŽÁöÇÏ¿© ¿î¿µÃ¼Á¦ÀÇ Ä¿³Î·Î ÀÎÅÍ·´Æ® ½ÅÈ£·Î½á º¸³»ÁÝ´Ï´Ù.
µû¶ó¼, ¾Æ¸¶µµ segment fault ¿¹¿Ü°¡ ¹ß»ýÇÏ´Â ºÎºÐ ÀÚü´Â Ä¿³Î ¼Ò½º¿¡¼µµ ãÀ» ¼ö
¾øÀ» °Å°í¿ä. ´ë½Å segment fault ¿¹¿Ü¸¦ ¾î¶»°Ô ó¸®ÇÒÁö¿¡ ´ëÇÑ ·çƾÀº ãÀ»
¼ö ÀÖÀ» °Ì´Ï´Ù.
ÀÎÅÍ·´Æ® ½ÅÈ£¸¦ ó¸®ÇÏ´Â ·çƾÀº idt (interrupt descriptor table)¸¦ µî·ÏÇÏ´Â
°ÍÀ¸·Î ½ÃÀ۵DZ⠶§¹®¿¡, ÀÌ·¯ÇÑ ¿ªÇÒÀ» ÇÏ´Â Äڵ带 ¹ß°ßÇÏ¿© µû¶ó°¡´Ùº¸½Ã¸é
¿øÇÏ´Â ºÎºÐÀ» ¹ß°ßÇÒ ¼ö ÀÖÀ» °Å¶õ »ý°¢ÀÌ µì´Ï´Ù.
Á¦°¡ Àá±ñ ÈȾ´Ï set_idt(arch/i386/kernel/machine_kexec.c),
load_idt(kernel/cpu/common.c) µîÀÌ ´«¿¡ ¶ç³×¿ä.
¿À¹öÇ÷οì ŽÁö ¸ðµâÀº mm/À̳ª security/selinux/ µð·ºÅ丮 ³»ÀÇ ÆÄÀϵéÀ»
Á¶»çÇØ º¸½Ã¸é ºÐ¼® ¹æÇâÀ» ÀâÀ» ¼ö ÀÖÁö ¾ÊÀ»±î ½Í½À´Ï´Ù.
p.s ¼º°øÀûÀ¸·Î ºÐ¼®ÇÏ¼Ì´Ù¸é °£´ÜÇÏ°Ô Á¤¸®Çؼ Á» ¿Ã·ÁÁÖ½Ã¸é °¨»çÇÏ°Ú½¿´Ù^^
|
Hit : 3257 Date : 2006/05/31 05:26
|