|
News,
Internal,
Projects,
Home Software, Support, Documentation |
"Kang, KiHyun" wrote: > 2. Ä¿³Î pthread ±¸Çö ¹®Á¦ > ¸®´ª½º Ä¿³ÎÀº ¸®´ª½ºÀÇ clone() ½Ã½ºÅÛ ÄÝ¿¡ ±â¹ÝÇÑ´Ù. (LWP ¹æ½ÄÀÌ´Ù.) ±×°Ç »ç½Ç»ó ÇÁ·ÎÅØ¼Ç¸¸ »« processÁö LWP¶ó±ä Èûµé °Í °°½À´Ï´Ù. > ´öºÐ¿¡ ¾²·¹µå »ý¼º °¹¼ö´Â ÇÁ·Î¼¼½º max °ª¿¡ Á¦Çѹްí, > ·ÎÁ÷ÀÌ ¾²·¹µå¸¦ Á¶±Ý ¸¹ÀÌ »ý¼ºÇÑ´Ù¸é.. ps ¶§·ÈÀ» °æ¿ì ²ûÂïÇÑ ²ÃÀ» º¸°Ô µÉ °ÍÀÌ´Ù. > LWP ¹æ½ÄÀÇ ¶Ç´Ù¸¥ ¹®Á¦Á¡Àº? pid ±â¹ÝÀ¸·Î µ¿ÀÛÇÏ´Â ½Ã±×³ÎÀÌ ÀÌ»óÀÛµ¿ ÇÒ ¿©Áö°¡ ÀÖ´Ù´Â Á¡ÀÌ´Ù. È®ÀÎÇØº¸Áö ¾Ê¾ÒÁö¸¸ °³³ä¸¸À¸·Îµµ ÂòÂòÇÑ°Ç »ç½ÇÀÌ´Ù. linux thread´Â signal routingÀÌ pthread Ç¥Áذú ´Ù¸£°Ô µ¿ÀÛÇÕ´Ï´Ù. process¸¸ °®°í thread¸¦ ¿¡¹Ä·¹ÀÌÆÃ Çϰí Àֱ⠶§¹®¿¡ ¾î¿ ¼ö ¾ø´Â ¼³°è »óÀÇ ÇѰè¶ó°í ÇÒ ¼ö ÀÖÁö¿ä. ±×·¯³ª ¾ÆÀÌ·¯´ÏÄÃÇϰԵµ FreeBSD¿¡µµ ÀÌ·¯ÇÑ process¸¦ °®°í thread¸¦ ¿¡¹Ä ·¹ÀÌÆÃÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖ½À´Ï´Ù. linux emulationÀ» ÅëÇØ¼. ¾²·¹µå¸¦ ¼ö¹é°³ ÀÌ»ó ¸¸µå´Â °ÍÀº º¸Åë Àß ±ÇÇÏÁö ¾Ê´Â ÇÁ·Î±×·¡¹Ö ½À°ü ÀÔ´Ï´Ù. ƯÈ÷ preemptive scheduler¸¦ ¾µ °æ¿ì¿¡´Â ½ºÄÉÁ층 ¿À¹öÇìµå°¡ ¹«Áö¸·ÁöÇÕ´Ï´Ù. (°³ÀÎÀûÀ¸·Î ÇÁ·Î±×·¥ÀÇ ¸ñÀû°ú ¼³°è¸¦ ÀûÀýÈ÷ ÇÑ´Ù¸é non preemptive sche duler¸¦ ¾²´Â library thread°¡ È¿À²ÀûÀÎ °æ¿ì°¡ ¸¹´Ù°í »ý°¢ÇÕ´Ï´Ù.) > ±×¸®°í, Linux pthread ±¸Çö¿¡¼´Â, mutex handle À» ¼±¾ð°ú µ¿½Ã¿¡ ÃʱâÈ ÇØ Áà¾ß¸¸ ÇÑ´Ù. > ¸¹Àº ¶óÀ̺귯¸®µéÀ» ½á º¸¾ÒÁö¸¸ ÇÚµéÀº ¼±¾ð°ú µ¿½Ã¿¡ ÃʱâÈÇØÁÖÁö ¾ÊÀ¸¸é ÄÄÆÄÀÏ ¿¡·¯°¡ ³ª´Â ¶óÀ̺귯¸®´Â óÀ½À̾ú´Ù. º¸ÅëÀº Á¤Àû Ãʱâȸ¦ ÇØ¼ »ç¿ëÇÏ±â ‹š¹®¿¡ º° °ü°è¾øÁö ¾Ê³ª¿ä. ½ÇÁ¦·Î mutex¸¦ ½áº¸¸é Ãʱâȸ¦ ¾ÈÇÒ ÀÌÀ¯°¡ º°·Î ¾ø´Âµ¥¿ä. linux thread´Â kernel based°í freebsd uthread´Â library based´Ï °£´ÜÈ÷ ºñ±³Çϱâ´Â ¾î·Á¿î ¹®Á¦ÀÌÁö¸¸, Çö ½ÃÁ¡¿¡¼ ÇѰ¡Áö È®½ÇÇÑ °ÍÀº linux thread·Î º»°ÝÀûÀÎ ÇÁ·Î±×·¡¹ÖÀ» ÇÑ´Ù´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù´Â °Ì´Ï´Ù. pthread¸¦ »ç¿ëÇÑ ÇÁ·Î±×·¡¹ÖÀº ÀÏ¹Ý ÇÁ·Î±×·¡¹Ö¿¡ ºñÇØ ¸î ¹è´Â º¹Àâµµ°¡ ¿Ã¶ó°¡¸ç µð¹ö±ëÇϱ⵵ ¾î·Á¿öÁý´Ï´Ù. ±×·±µ¥ linux thread¿¡¼ ¸¸µé¾î³»´Â core´Â µð¹ö±ë¿¡ ¾Æ¹« ¾µ¸ð°¡ ¾ø±â ¶§ ¹®¿¡ Å×½ºÆ® ÄÚµå ¼öÁØÀ» ³Ñ¾î¼± ±Ô¸ðÀÇ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Ù°¡ ¹ö±×°¡ ¹ß»ý Çϸé ȯÀåÇÏ´Â »çŰ¡ ¹ß»ýÇÕ´Ï´Ù. À۳⿡ ´©°¡ Â¥³õÀº pthread¸¦ »ç¿ëÇØ linux¿¡¼ ±¸ÇöÇÑ Äڵ带 Àμö ¹Þ¾Ò´Ù °¡ ¸î ´Þ µ¿¾È Á×µµ·Ï °í»ýÇÑ ÈÄ, FreeBSD·Î ¿Å°Ü¿Í¼ ¹ö±×µµ Àâ°í ¸¶À½ÀÇ Æò ¾Èµµ ȸº¹ÇÑ °æÇèÀÌ Àְŵç¿ä. :-( FreeBSDÀÇ uthread´Â pthread¸¦ »ç¿ëÇØ ÇÁ·Î±×·¡¹Ö Çϴµ¥ ¹«¸® ¾ø´Â ±¸Çö À̸ç, ¾ÈÁ¤ÀûÀ̰í, µð¹ö±ëÀÌ °¡´ÉÇÏ´Ù´Â Á¡¿¡¼ ÃÖ¼ÒÇÑÀÇ ÇÁ·Î±×·¡¹Ö ȯ°æ À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. (FreeBSDÀÇ gdb´Â ÃÖ¼ÒÇÑÀÇ uthreadÁö¿øÀ» ÇÕ´Ï´Ù¸¸, ¼Ö¶ó¸®½ºÀÇ Æ÷¸£Å× µð ¹ö°Å¸¸Å ±â´ÉÀÌ ÁÁÁø ¾Ê½À´Ï´Ù. ±×·¡µµ ÀÌÁ¤µµ¸é ÇØ¸ÔÀ»¸¸ ÇÕ´Ï´Ù...) °³ÀÎÀûÀ¸·Î Àß ¸¸µé¾îÁø ¾²·¹µå ±¸ÇöÀº pthread_attr_setscope()¸¦ ÅëÇØ¼ PTHREAD_SCOPE_SYSTEM°ú PTHREAD_SCOPE_PROCESS¸¦ ¼±ÅÃÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ ´Â °ÍÀÌ ±âº»À̶ó°í »ý°¢ÇÕ´Ï´Ù. ±×¸®°í interprocess mutex°°Àº °Íµµ µÇ¸é ÁÁ°ÚÁö¿ä. -- To Unsubscribe: send mail to majordomo@kr.FreeBSD.org with "unsubscribe chat" in the BODY of the message
|
Copyright © 1998-2005 Korea FreeBSD Users Group. All rights reserved. webmaster at kr.FreeBSD.org $Date: 2002/03/26 13:18:59 $ |
|