Àç¹Õ´Â(?) ½Ã½ºÅÛ °­Á¦·Î ´Ù¿î½Ã۱â


1.¿ä¾à

À©µµ¿ìÁî NT ³ª À©µµ¿ìÁî 98 ¿¡¼­ ½Ã½ºÅÛÀ» °­Á¦·Î ´Ù¿î½ÃŰ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æ º¾´Ï´Ù.


2.º»¹®

ÇÊ¿äÇÑ °æ¿ì°¡ °ÅÀÇ ¾ø°ÚÁö¸¸(¹ÙÀÌ·¯½º°¡ ¾Æ´Ï°í¼­¾ß. ^^;;), ½Ã½ºÅÛÀ» °­Á¦·Î ´Ù¿î½Ã۰íÀÚ ÇÏ´Â °æ¿ì°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì ¾Æ·¡ÀÇ ¿¹Á¦¿¡¼­ ó·³ ¾î¼Àºí¸® Äڵ带 »ç¿ëÇÏ´Â ¹æ¹ý°ú Thread ¸¦ ¿ÍÀåâ ¸¸µé¾î¼­ thread ·¯½¬(?)¸¦ ÅëÇØ¼­ ´Ù¿î½ÃŰ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ¾Æ·¡ÀÇ ¿¹Á¦¸¦ Âü°í Çϼ¼¿ä.


3.¿¹Á¦


if(g_bIsWinNT) { 

    SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS); 

    while(1) { 

        DWORD dwTid; 

        HANDLE hThread=CreateThread(NULL,0,LockThread,NULL,0,&dwTid); 

        SetThreadPriority(hThread,THREAD_PRIORITY_TIME_CRITICAL); 

    } 

    

} else { 

lockpoint: 

__asm { 

    cli 

        jmp lockpoint 

} 

} 


4.Âü°í

BO2K

* cli : Clear Interrupt Flag
--> ÀÌ ¾î¼Àºí¸® ÄÚµå´Â ÇöÀç ½Ã½ºÅÛÀÌ ´Ù¿îµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§Çؼ­ ¸¸µé¾îÁø Interrupt Flag ¸¦ Á¦°ÅÇØ¹ö¸²À¸·Î½á, ¾Æ¹«µµ ÀÚ½ÅÀ» °Åµå¸± ¼ö ¾ø°Ô ÇÕ´Ï´Ù.

(The Intel Architecture Software Developer's Manual)



- 2001.08.13 Smile Seo -