From owner-FreeBSD-users-jp@jp.freebsd.org  Sun Oct 21 08:18:28 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id IAA75662;
	Sun, 21 Oct 2001 08:18:28 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mail.asahi-net.or.jp (mail.asahi-net.or.jp [202.224.39.39])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id IAA75657
	for <FreeBSD-users-jp@jp.freebsd.org>; Sun, 21 Oct 2001 08:18:27 +0900 (JST)
	(envelope-from ota@j.email.ne.jp)
Received: from j.asahi-net.or.jp (odin.asahi-net.or.jp [202.224.33.18])
	by mail.asahi-net.or.jp (Postfix) with SMTP id 602895D55
	for <FreeBSD-users-jp@jp.freebsd.org>; Sun, 21 Oct 2001 08:18:27 +0900 (JST)
Received: by j.asahi-net.or.jp (ATSON-1) ; 21 Oct 2001 08:18:27 +0900
From: ota@j.email.ne.jp (Yoshihiro Ota)
To: FreeBSD-users-jp@jp.freebsd.org
Date: 21 Oct 2001 08:18:27 +0900
Mime-Version: 1.0
Lines: 126
Message-Id: <3BD20643.27974.001@odin.j.asahi-net.or.jp>
Content-Type: text/plain; charset="ISO-2022-JP"
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+010328
X-Sequence: FreeBSD-users-jp 64958
Subject: [FreeBSD-users-jp 64958] Re: pthread
 =?ISO-2022-JP?B?GyRCJSolVyU3JWclcyRyJEQkMSRrJEglUCU5JSgbKEI=?=
 =?ISO-2022-JP?B?GyRCJWkhPBsoSg==?=
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: ota@j.email.ne.jp

$BB@ED$G$9!#(J

>$B1|;3(J@IBM$B$G$9!#(J
>
>>>>>> "YO" == Yoshihiro Ota <ota@j.email.ne.jp> writes:
>>> $B$=$&$$$&0UL#$G$O$J$/!#(J
>>> Linux $B$N(J clone() $B$N$h$&$J>l9g$N@bL@$G$9!"$3$l$O!#(J
>YO> Linux $B$N(J man $B$K$h$k$H(J
>YO> The main use of __clone is to implement threads: multiple
>YO> threads of control in a program that run concurrently in
>YO> a shared memory space.
>YO> $B$H$$$&$3$H$G!"%9%l%C%I$G$9!#(J
>
>$B$(!<$C$H!D$3$N>l9g!"!V%9%l%C%I$G$9!W$H$$$&7kO@$,$I$&$7$F=P$k$N$+!D!#(J

"The main use of __clone is to implement threads" $B$H$"$j$^$9(J
$B$h$&$K!"$3$l$,%9%l%C%I$NLr3d$@$+$i$G$9!#(J

>$B!V(JShared Memory Space$B!W$G!VJBNsE*$K!WAv$k%W%m%0%i%`(J

$B$$$($$$(!"Lu$,4V0c$C$F$$$^$9!#(J
$B!Z0l$D$N%W%m%0%i%`Cf$NJ#?t$N%9%l%C%I$r!V(Jshared memory space$B!W$GJBNsE*$K(J
$BAv$i$;$k!#![$G$9!#(J
$B$=$7$F!"$=$l$,%9%l%C%I$NDj5A$J$N$G$9!#(J

$B:#$^$G$NOC$G$9$H!"%+!<%M%k%9%l%C%I$H%f!<%6%9%l%C%I$r:.Mp$7$F$$$i$C$7$c$k(J
$BMM$K8+$($^$9!#(J

$BKM$O!"%9%l%C%I$H8@$C$?$H$-!"4pK\E*$K$ON>J}$r;X$9$h$&$K8@$C$F$$$^$7$?!#(J

$B%+!<%M%k%9%l%C%I$O%+!<%M%k%l%Y%k$G<BAu$5$l$F$$$k%9%l%C%I$N$3$H$G$9!#(J
$B4pK\E*$J<BAu$O!"%9%l%C%I@8@.;~$K2>A[%"%I%l%96u4V$r%3%T!<$7$F!"$=$l0J9_$N(J
stack $B$rJL!9$K4IM}$7$F$$$/$b$N$G$9!#2>A[%"%I%l%96u4V$r%3%T!<$9$k$H!"$=$l(J
$B$i$K$h$C$F!";X$5$l$F$$$kJ*M}%a%b%j$O0l=o$G$9$+$i!"%9%l%C%IMQ$N(J stack
$B0J30$O!"7kO@E*$K6&M-$9$k$3$H$K$J$j$^$9!#(Jcontect switch $B$O(J OS $B$K$h$C$F(J
$B4IM}$5$l$^$9!#(JOS $B$+$i8+$l$P!"%9%l%C%I$b%W%m%;%9$b07$$$OJQ$o$j$^$;$s!#(J
$B<g$JMxE@$H$7$F$O%^%k%A%W%m%;%C%5$G!"(JCPU $B$r$h$jM-8z$K;H$($k$3$H$G$7$g$&$+!#(J
$B5U$K7gE@$H$7$F$O!"%9%l%C%I$N@ZBX$($,=E$$$3$H$G$9!#(J

$B%f!<%6%9%l%C%I$H$O!"%+!<%M%k$N%5%]!<%H$J$IL5$7$G!"<BAu$5$l$F$$$k%9%l%C%I$N(J
$B$3$H$r8@$$$^$9!#8@$$BX$($l$P!"3F%W%m%;%9$,(J stack $B$N3dEv$+$i!"%9%1%8%e!<%j(J
$B%s%0!"(Jcontext switch $B$r9T$&$o$1$G$9!#0l$D$N%W%m%;%9$,9T$&$o$1$G$9$+$i!"(J
$B3F%9%l%C%IMQ$N(J stack $B0J30$O!"EvA36&M-$5$l$^$9!#$3$A$i$NMxE@$O!"7Z$$$3$H$G$9!#(J
context switch $B$G$9$k$3$H$O!"%9%l%C%IMQ$N(J stack $B$rF~$l49$($k$@$1$J$N$G!"(J
$B7Z$$$N$G$9!#5U$K7gE@$H8@$&$H!"%^%k%A%W%m%;%C%5$N5!3#$G$b!"0l$D$N%W%m%;%C%5$7$+(J
$B;H$($J$$$H$$$&$N$,!"Bg$-$$$G$9!#(J

Linux $B$O%+!<%M%k%9%l%C%I$,!"(JFreeBSD $B$O%f!<%6%9%l%C%I$,<BAu$5$l$F$$$^$9!#(J
Solaris $B$G$9$H!"N>J}$G$9!#(J

>$B$H=q$$$F$"$k$3$H$+$i$b$o$+$k$h$&$K!"$3$l$O%W%m%;%9$G$9!#(Junix $B>e$NIa(J
>$BDL$N!#$?$@$7!"%W%m%;%9$r:n@.$9$k$H$-$K!"(Jstack $B$r=|$/A46u4V$r$$$-$J$j(J
>$B6&M-%a%b%j07$$$K$9$kE@$,(J fork() $B$H0c$$$^$9!#(J

$B$3$l$O!"(JLinux $B$,%+!<%M%k%9%l%C%I$r<BAu$7$F$$$k$+$i(J top $BEy$r<B9T$7$?$H(J
$B$-$K!"%W%m%;%9$K8+$($k$N$G$9!#(J
__clone $B$r<B9T$7$F%W%m%;%9$,A}$($?$+$i$H$$$C$F!"%9%l%C%I$G$O$J$$$o$1$G$O(J
$B$"$j$^$;$s!#$?$@!"(JOS $B$,%9%l%C%I$H%W%m%;%9$rF10l$K07$C$F$$$k$@$1$G$9!#(J

>$B%W%m%;%9$O!"3X=QE*$K8+$F$b$b$C$H$b!V[#KfLO8R$H$7$?!W35G0$G!"C<E*$K8@(J
>$B$($P!X(JOS $B$,4IM}!&2>A[2=$7$F$$$k%j%=!<%972!Y$r;X$7$F$$$k$@$1$G$9!#(J

$B@53N$K$$$&$H!"(JCPU $B$N%l%8%9%?!<$H;HMQ$7$F$$$k%a%b%j$N%;%C%H$G$9!#(J
$B$3$N$H$-!"2>A[%"%I%l%96u4V$O;H$o$l$F$$$F$b$J$/$F$bJQ$o$j$^$;$s!#(J
$B$?$@!">/$J$/$F$b0l$D$N%W%m%;%9$+$i%"%/%;%9$G$-$kFbMF$OF10l$G$J$1$l$P(J
$B$J$j$^$;$s!#5U$K$$$($P!"2>$K$3$l$i$r0l;~(J swap $B$J$I$K$*$$$F$b!"85DL$j(J
CPU $B$N%l%8%9%?!<$H$a$b$j$K$*$1$l$P!"%W%m%;%9$O:F3+$G$-$k$N$G$9!#(J
# $B$3$l$,!"$O$C$-$j$7$F$$$J$+$C$?$i%^%k%A%W%m%;%9$J$I!"$G$-$^$;$s!#(J

>$B$G$9$N$G!"!V%a%b%j$O2>A[2=$7$J$$!W$H8@$($P!"$=$&$$$&!V%W%m%;%9!W$O$"(J
>$B$j$G$9!#(JOS/9 $B$d(J VxWorks $B$O$3$N%?%$%W!#(J

OS/9 $B$d(J VxWorks $B$K$D$$$F$OCN$i$J$7!"!V%a%b%j$O2>A[2=$7$J$$!W$H$$$&(J
$B0UL#$,DO$a$J$$$N$G$9$,!D(J

>$B$5$F!"$3$3$+$i$,$d$d$3$7$$$H$3$m$G$9$,!#(J 
>$B!X(JStack $B$O(J CPU $B$N%j%=!<%9$+$I$&$+!Y(J
>$B$H$$$&LdBj$,B8:_$7$^$9!#(J

$BLdBj<+BN$,4V0c$C$F$$$^$9!#(J
$B!V(JCPU $B$b%9%?%C%/$b!"%W%m%;%9$N%j%=!<%9!W$G$"$C$F!"!V%9%?%C%/$O(J CPU
$B$N%j%=!<%9!W$G$O$"$j$^$;$s!#(J


>$B$h$&$9$k$K%9%?%C%/$r%9%l%C%I%j%=!<%9$KJ,N%$9$k$H!"%"%I%l%96u4V$N0lIt(J
>$B$,%9%l%C%I%j%=!<%9$K$J$j$^$9!#$3$l$O%9%l%C%I4V$N%3%s%F%/%9%H%9%$%C%A(J
>$B$NEY$K2>A[6u4V$N@Z$jBX$($,I,MW$K$J$k!"$H$$$&0UL#$G$9!#$3$l$G$O!"$o$6(J
>$B$o$64m81$rHH$7$F!V%9%l%C%I!W$K$9$k0UL#$,$"$j$^$;$s!#(J

$B$3$l$,!"%+!<%M%k%9%l%C%I$G$9!#(J100 $B8D(J CPU $B$,$"$C$F$b!"%f!<%6%9%l%C%I(J
$B$G$O$I$&$"$,$$$F$b!"0l$D$N%W%m%;%9$O(J1$B$D$N(J CPU $B$7$+;H$($^$;$s!#(J

>$B=>MhDL$j$N(J
>$B!X(Jprocess$B!Y$H(J mmap $B$J$I$G3NJ]$7$?!V6&M-%a%b%j6u4V!W$,$"$l$P==J,$K$J(J
>$B$j$^$9!#5U$K8@$($P$3$N!V2>A[6u4V@Z$jBX$(%*!<%P!<%X%C%I!W$r:G>.2=$7$?(J
>$B$$$+$i$3$=!"%9%?%C%/$r%?%9%/%j%=!<%9$K$7$F!"2>A[6u4V$r6&M-$9$k$o$1$G(J
>$B$9!#(J

$B$G!"$3$l$,%f!<%6%9%l%C%I$H$$$&$3$H$K$J$k$N$G$9!#(J


>$B0lJ}$G!"%9%l%C%I!&%?%9%/$NJ,N%$O!"2>A[6u4V$N@Z$jBX$($,Aa$/$J$l$P!"(J
>$B2?$N%a%j%C%H$b$J$$(J($BBe2A<jCJ$O$"$k(J)$B$H$$$&$3$H$K$J$j$^$9!#<B:]!"(Jintel
>$B$O$3$NJU$N@Z$jBX$($rAa$/$G$-$k$h$&$K$9$k$?$a$K!"%4%j%4%j$H:GE,2=$r$7(J
>$BB3$1$F$-$^$7$?!#(J
>
>#$B$3$NJU$,(J $B!V%9%l%C%I$NMW(J/$BITMW@oAh!W$NKhEY$*Fk@w$N:G=*@o>l$K$J$j$^$9!#(J

$B$A$J$_$K!"%9%l%C%I$,I,MW$+$I$&$+$OA4$/LdBj$G$O$"$j$^$;$s!#(J
$B:G=*E*$JLdBj$O!"!V$I$l$@$1%j%=!<%9$rM-8z$K;H$($k$+!W$G$9!#(J
$B%9%l%C%I$r;H$C$F%j%=!<%9$r$h$j8zN(NI$/;H$($k$N$G$"$l$P!"!VMW!W$G$"$j!"(J
$B;H$($J$$$N$G$"$l$P!VITMW!W$J$N$G$9!#3F%1!<%9$K$h$k$H$$$&$3$H$G$9!#(J

# $B$$$/$i<V$,JXMx$@$+$i$H$$$C$F!"(J3m $B@h$N$*8~$+$$$5$s$N$*Bp$K<V$G(J
# $B$$$/?M$O$$$J$$$G$7$g$&!#(J

>$B$A$J$_$K!";d$O8D?ME*$K$O!"!V2>A[6u4V4IM}5!9=!W$,@lMQ$N%-%c%C%7%e$r;}(J
>$B$F$P!"%9%l%C%IITMWO@B&$KN)$A$^$9!#(Jmmap() $B$H!"%W%m%;%94VDL?.$N6/2=$G(J
>$B==J,!#(J

$B$G$b!"%W%m%;%94V$G%G!<%?$N$d$j$H$j$r$7$J$1$l$P$$$1$J$$$H$-$N!"%*!<%P!<(J
$B%X%C%I$O@($$$G$9$h!#%9%l%C%I4V$@$C$?$i!"?t%$%s%9%H%i%/%7%g%s$+$i$G$9$`(J
$B$N$,!"?tI4!"?t@i$HI,MW$K$J$j$^$9$+$i!#(J($B%W%m%;%9$d%9%l%C%I$N@ZBX$(ItJ,$r=|$/!#(J)

# $B;dE*$J;v$K$J$j$^$9$,!";n83$,B3$/$N$G$9$0$KEj9F$G$-$J$$$+$bCN$l$^$;$s!#(J
# $BEj9F$7$?8e!"2?$bJV$C$FMh$J$/$F$b5$D9$K$*BT$A2<$5$$!#(J
