3.3 IRQLs
NDIS¿¡ ÀÇÇØ È£ÃâµÇ¾îÁö´Â ¸ðµç µå¶óÀ̹ö ÇÔ¼öµéÀº PASSIVE_LEVEL < DISPATCH_LEVEL <
DIRQLÀÇ Çϳª·Î ½Ã½ºÅÛ °áÁ¤ IRQL¿¡¼ ½ÇÇàÇÑ´Ù. ¿¹¸¦ µé¾î, ¹Ì´ÏÆ÷Æ®ÀÇ ÃʱâÈ ÇÔ¼ö,
halt ÇÔ¼ö, ¸®¼Â ÇÔ¼ö, ¶§¶§·Î shutdown ÇÔ¼ö´Â °øÅëÀûÀ¸·Î PASSIVE_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
ÀÎÅÍ·´Æ® ÄÚµå´Â DIRQL¿¡¼ ½ÇÇàÇÏ°í ±×·¡¼ NDIS ÀÎÅ͹̵ð¾ù ȤÀº ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â
°áÄÚ DIRQL¿¡¼ ½ÇÇàÇÏÁö ¾Ê´Â´Ù. ¸ðµç ´Ù¸¥ NDIS µå¶óÀ̹ö ÇÔ¼öµéÀº IRQL <= DISPATCH_LEVEL
¿¡¼ ½ÇÇàÇÑ´Ù.
µå¶óÀ̹ö ÇÔ¼ö°¡ ½ÇÇàÇÏ´Â IRQLÀº ¾î´À NDIS ÇÔ¼öµéÀÌ È£ÃâµÉ ¼ö ÀÖ´ÂÁö¿¡
¿µÇâÀ» ³¢Ä£´Ù. ¾î¶² ÇÔ¼öµéÀº ´ÜÁö IRQL PASSIVE_LEVEL¿¡¼ È£ÃâµÇ¾îÁú ¼ö ÀÖ´Ù.
´Ù¸¥ °ÍµéÀº DISPATCH_LEVEL¿¡¼ ȤÀº ±×º¸´Ù ´õ ³·Àº °÷¿¡¼ È£ÃâµÉ ¼ö ÀÖ´Ù.
µå¶óÀ̹ö °³¹ßÀÚ´Â IRQL Á¦ÇѵéÀ» À§ÇØ ¸ðµç NDIS ÇÔ¼ö¸¦ Ã¼Å©ÇØ¾ß ÇÑ´Ù.
µå¶óÀ̹öÀÇ ISR¿¡¼ ÀÚ¿øµéÀ» °øÀ¯ÇÏ´Â ¾î¶² µå¶óÀ̹ö ÇÔ¼ö´Â race Á¶°ÇµéÀ» ¸·±â À§ÇØ
IRQLÀ» DIRQL·Î ¿Ã¸®´Â °ÍÀÌ °¡´ÉÇØ¾ß ÇÑ´Ù.
NDIS´Â ±×·¯ÇÑ ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÑ´Ù.
|