File: futex.4

package info (click to toggle)
manpages-ja 0.5.0.0.20050315-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 18,620 kB
  • ctags: 4
  • sloc: sh: 12,675; perl: 157; makefile: 106
file content (109 lines) | stat: -rw-r--r-- 4,709 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
.\" This manpage has been automatically generated by docbook2man 
.\" from a DocBook document.  This tool can be found at:
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
.\" Please send any bug reports, improvements, comments, patches, 
.\" etc. to Steve Cheng <steve@ggi-project.org>.
.\"
.\" Japanese Version Copyright(C) 2003 Suzuki Takashi
.\"         all rights reserved.
.\" Translated Fri Oct 24 10:37:10 JST 2003
.\"         by Suzuki Takashi.
.\"
.\"WORD: contend                礹
.\"WORD: sleep                  Ԥ
.\"WORD: wake                   
.\"WORD: wake up                
.\"
.TH FUTEX 4 2002-12-31 "" "Linux Programmer's Manual"
.SH "̾"
futex - ®桼֥å
.SH ""
.nf
#include <linux/futex.h>
.fi
.SH ""
.PP
Linux ͥϡ桼֤ǹ®ʥå䥻ޥեѤ뤿
ŪǤȤ futex (`Fast Userspace muTexes'; ®桼 mutex) 
󶡤Ƥ롣
futex ˴ŪʤΤǡ POSIX mutex Τ褦ʹ٤ʥåγǰ
ۤΤΩäƤ롣
.PP
ΥڡϤ٤Ƥ߷׷򵭽Ҥ褦ˤϤʤäƤ餺
ץꥱ饤֥γȯ˴ط뤳Ȥ˸¤äƤ롣
ºݤˤϥץޤ¿ľܤ futex 򰷤ʤ
futex ˴Ťƹۤ줿ƥ饤֥ (㤨 NPTL å) 
¸뤳Ȥˤʤ
.PP
futex ϰۤʤץ֤Ƕͭ뤳ȤΤǤҤǼ̤롣
ΰۤʤץǤϡƱɥ쥹ͿƤɬפϤʤ
λѤǤ futex ΥޥƥϥޥեƱǤ롣
futex Բʬ (atomically) 󥯥ȤǥȤǤ
󥿤ǡץͤˤʤΤԤĤȤǤ롣
.PP
futex ϡ礬ʤˤϴ˥桼֤ǹԤʤ롣
ͥ϶礬äۤ˴ͿǤ롣
ɼ߷פǤ϶礬ʤ褦Ϥ뤬
futex ⶥ֤˴ؤƺŬƤ롣
.PP
λѤǤϡ futex Բʬʥ֥̿ǤΤ
饤Ȥ·ä int ѿǤ롣
ʣΥץϤ int ѿ mmap Ѥ뤫
ͭȤ𤹤뤫
֤ͭ (ξ硢
ץꥱϰŪ˥ޥåɤǤȸƤФ) ƶͭ롣
.SH "ޥƥ"
.PP
futex Ϥ٤ƥ桼֤Ϥޤ뤬ɬפ˱
\fBfutex\fR(2) ƥॳѤƥͥ̿롣
.PP
futex  `up' ˤϡ
ۥ CPU Ф int ѿԲʬǥ󥯥Ȥ褦ʡ
Ŭڤʥ֥̿¹Ԥ롣
Τȡºݤ 0  1 Ѳɤå
ѲƤԤץ (waiter) ϤʤȤȤǤꡢϴλ롣
϶ΤʤǤꡢ®Ǥ褯ϤǤ롣
.PP
礬硢ԲʬΥ󥯥Ȥǥ󥿤 \-1 (ޤ¾ο)
Ѳ롣줬ФȡԤץȤȤǤ롣
桼֤Ǥϥ󥿤 1 ꤷ
FUTEX_WAKE ѤƥͥԤץ wake () 褦ؼ롣
.PP
futex γԤġʤ futex  `down' ˤȿФԤʤ
Բʬǥ󥿤ǥȤ󥿤 0 Ѳɤ
å롣ѲƤϴλ futex ϶礷ƤʤȤȤǤ롣
0 ˤʤʤä硢ץϥ󥿤 \-1 ꤷ
¾Υץ futex  up ΤԤĤ褦ͥ׵ᤷʤФʤʤ
 FUTEX_WAIT ԤʤȤǼ¸롣
.PP
futex ƥॳˤϡάǽʰȤƥॢȤϤȤǤ
ͥϤ futex  up Τɤ줯餤δԤĤ٤
ꤹ뤳ȤǤ롣ξ硢ޥƥϤäʣˤʤ뤿ᡢ
ܺ٤ʾˤϥץޤ \fBfutex\fR(2) 򻲾Ȥ뤳ȡ
ƱڡƱ futex ԤˤĤƤ⵭Ƥ롣
.SH ""
.PP
Ƥӷ֤Ƥ futex ϥɥ桼ưפ˻Ȥ복ǰȤ
տޤ줿ΤǤϤʤ
Ԥϡ֥˴Ƥꡢʲ˵󤲤 futex 桼֥饤֥
ɤ߽Ƥ뤳Ȥ׵ᤵ롣
.PP
Υޥ˥奢ڡˤ \fBfutex\fR(2) ץߥƥ֤κǤŪʻˡ
Ƥ롣Ϸ褷ͣλˡǤϤʤ
.SH ""
.PP
futex  Hubertus Franke (IBM Thomas J. Watson Research Center) 
Matthew Kirkwood  Ingo Molnar (Red Hat) 
Rusty Russell (IBM Linux Technology Center) ߷פƤ
Υڡ bert hubert 
.SH "С"
.PP
ǽ futex б Linux 2.5.7 Ȥ߹ޤ줿
嵭ΥޥƥȤϰۤʤ롣
ߤΥޥƥ Linux 2.5.40 ʹߤѲǽǤ롣
.SH "Ϣ"
.PP
\fBfutex\fR(2) 
`Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux' (proceedings of the Ottawa Linux 
Symposium 2002) 
futex λ饤֥ꡢ futex-*.tar.bz2 <URL:ftp://ftp.kernel.org:/pub/linux/kernel/people/rusty/>