Korea FreeBSD Users Group News, Internal, Projects, Home
Software, Support, Documentation

linux thread vs FreeBSD uthread



[ ³¯Â¥¼ø »öÀÎ ] [ ´ñ±Û¼ø »öÀÎ ] [ ÃÖ»óÀ§ »öÀÎ]

[ÀÌÀü ±Û] [´ÙÀ½ ±Û] [ÀÌÀü ´ñ±Û] [´ÙÀ½ ´ñ±Û]


"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 $
Powered by FreeBSD