$B$3$N>O$NL\
$BA0JG(B:$BBh(B2$B>O(B I-right/V $B$N35MW$K$b$I$k(B
$BO(B ITRON$B3HD%5!G=$K$9$9$`(B
$BIi$N%*%V%8%'%/%H(B ID $B$O%7%9%F%`%*%V%8%'%/%H!"(B
$B@5$N%*%V%8%'%/%H(B ID $B$O%f!<%6%*%V%8%'%/%H$rI=$9!#(B
(-4)$B!A(B0 $B$N%*%V%8%'%/%H(B ID $B$OM=Ls$5$l$F$*$j!"(B
$B%7%9%F%`$,MxMQ$9$k%*%V%8%'%/%H$,3d$jEv$F$i$l$F$$$k>l9g$r=|$$$F$O!"(B
$BMxMQ$G$-$J$$!#(B
$B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r;}$D$N$O!"(B
$B%?%9%/FHN)Itcre_tsk$B!W$N9`$r;2>H(B )$B!#(B
$B&L(BITRON3.0 $B;EMM$N5,Dj$H$N0c$$$O!"@5$N(B ID $B$N%f!<%6%?%9%/$G$"$C$F$b!"(B
$B%j%s%0%l%Y%k(B 0 $B$GF0$$$F$$$k>l9g$K$O!"(B
$B%7%9%F%`%?%9%/$HF1$8%"%/%;%98"$r;}$C$F$$$k$3$H$G$"$k!#(B
$B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r;}$?$J$$4D6-$+$i!"(B
$B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k%7%9%F%`%3!<%k$rH/9T$7$?>l9g!"(B
E_OACV
$B%(%i!<$H$J$k!#(B
(-4)$B!A(B0 $B$NM%@hEY$OM=Ls$5$l$F$*$j!"MxMQ$G$-$J$$!#(B
I-right/V $B$G$O!";~4V$rI=$9%Q%i%a!<%?(B
(SYSTIME
, CYCTIME
, ALMTIME
,
DLYTIME
, TMO
$B7?$N$b$N(B)
$B$N;~4V$NC10L$O(B1$B%_%jIC$G$9!#(B
$B$?$@$7!";~4V$NJ,2rG=$O(B10$B%_%jIC$G$9!#(B
I-right/V $B$G$O!"%+!<%M%k$,0J2<$N%(%i!<$rJs9p$9$k$3$H$O$J$$!#(B
E_SYS | $B%7%9%F%`%(%i!<(B |
E_INOSPT | ITRON/FILE $B$G$NL$%5%]!<%H5!G=(B |
E_MACV | $B%a%b%j%"%/%;%9ITG=!"%a%b%j%"%/%;%98"0cH?(B |
EN_???? | $B@\B35!G=$K4X$9$k%(%i!<(B |
$B$^$?!"%Q%i%a!<%?$H$7$F%]%$%s%?$rEO$9%7%9%F%`%3!<%k$KBP$7$F!"(B
$BB8:_$7$J$$%a%b%jHVCO$r%"%/%;%9$9$k$h$&$J%]%$%s%?$rEO$7$?>l9g$O!"(B
$B%(%i!<$H$7$F$O8!=P$5$l$J$$!#(B
$B$3$N>l9g!"%7%9%F%`%@%&%s$H$J$k!#(B
$BF1MM$K!"Hs>oCs%a%b%j$NHVCO$r%Q%i%a!<%?$H$9$k$3$H$O$G$-$J$$!#(B
$B%Z!<%8%"%&%H$5$l$F$$$?>l9g!"%a%b%j$,B8:_$7$J$$>l9g$HF1$8$3$H$K$J$j!"(B
$B%7%9%F%`%@%&%s$H$J$k!#(B
- $B;29M(B :
- BTRON $B%7%9%F%`%3!<%k$K$*$$$F$O!"$3$N8B$j$G$O$J$$!#(B
$BB8:_$7$J$$%a%b%j$r;XDj$7$?>l9g$O!"%(%i!<$H$7$F8!=P$5$l$k!#(B
$B$^$?!"Hs>oCs%a%b%j$b@5$7$/=hM}$5$l$k!#(B
$B%7%9%F%`%@%&%s$H$J$k$3$H$O$J$$!#(B
$B=`%?%9%/It$H$O!"(B
$B%?%9%/$N%3%s%F%-%9%H$r;}$A$J$,$i(B
$B%O%s%I%i$ruBV$N$3$H$r$$$&!#(B
$B=`%?%9%/ItuBV$K$9$k%7%9%F%`%3!<%k$rH/9T$9$k$3$H$,$G$-$k!#(B
I-right/V $B$G$O!"(B
$B=`%?%9%/It$K$J$k$N$O!"(B
$B3HD%(B SVC $B%O%s%I%i-MhE*$K@\B35!G=$,%5%]!<%H$5$l$k>l9g!"(B
$B@\B35!G=$r%5%]!<%H$9$k%7%9%F%`%3!<%k$O(B
$B=`%?%9%/It$G
$B%?%9%/5/F0$N%3%s%Y%s%7%g%s$O!"(B
C $B8@8l$N4X?t8F$S=P$7$N%3%s%Y%s%7%g%s$HF1$8$K$J$C$F$$$k!#(B
$B&L(BITRON3.0 $B;EMM$G$O%?%9%/$N5/F0%Q%i%a!<%?$O%9%?!<%H%3!<%I(B
(stacd
)
$B$N$_$G$"$k$,!"(B
I-right/V $B$G$O%?%9%/3HD%>pJs(B(exinf
)
$B$b%Q%i%a!<%?$H$7$FEO$5$l$k!#(B
$B%?%9%/$r(B C $B8@8l$G5-=R$9$k;~$O!"(B
void task_entry(INT stacd, VP exinf)
$B$N7A$G=q$/!#(B
$B3HD%>pJs$,I,MW$J$$>l9g$O!"(BVP exinf
$B$O>JN,$G$-$k!#(B
$B%?%9%/$r=*N;$9$k>l9g$O!"(Bext_tsk
$B$J$$$7$O(B
exd_tsk
$B$rMQ$$$k!#(B
$BC1$K(B return
$B$7$?>l9g$NF0:n$OJ]>Z$5$l$J$$!#(B
$B%?%$%^%O%s%I%i$N5/F0$O!"(B
C $B8@8l$N4X?t8F$S=P$7$N%3%s%Y%s%7%g%s$HF1$8$K$J$C$F$$$k!#(B
$B&L(BITRON3.0 $B;EMM$G$O!"%?%$%^%O%s%I%i$KEO$5$l$k%Q%i%a!<%?$O$J$$$,!"(B
I-right/V $B$G$O%?%$%^%O%s%I%i$N3HD%>pJs$,EO$5$l$k!#(B
$B%?%$%^%O%s%I%i$r(B C$B8@8l$G5-=R$9$k;~$O!"(B
void timer_handler(VP exinf)
$B$N7A$G=q$/!#(B
$B3HD%>pJs$,I,MW$J$$>l9g$O!"(B
VP exinf
$B$O>JN,$G$-$k!#(B
$B%?%$%^%O%s%I%i$+$iLa$k:]$O!"C1$K(B return
$B$9$k!#(B
$B3HD%(B SVC $B%O%s%I%i$K$D$$$F$O!"(B
6.8 def_svc()
$B$r;2>H$N$3$H!#(B
$B3d9~$_%O%s%I%i$K$D$$$F$O!"(B
6.9 def_int()
$B$r;2>H$N$3$H!#(B
$B&L(BITRON3.0 $B;EMM$G$O!"(B
$B%?%9%/FHN)It$+$iH/9T$G$-$k%7%9%F%`%3!<%k$O%$%s%W%j%a%s%H0MB8$H$7$F$$$k$,!"(B
I-right/V $B$G$O!"(B
$B;EMM=q$GL@<(E*$KH/9T$G$-$J$$$H$5$l$F$$$k%7%9%F%`%3!<%k$K2C$($F!"(B
$B0J2<$K5s$2$k%7%9%F%`%3!<%k$r%?%9%/FHN)It$+$i8F$S=P$9$3$H$O$G$-$J$$!#(B
$B$3$l0J30$N%7%9%F%`%3!<%k$O!"(B
$B$9$Y$F%?%9%/FHN)It$+$i8F$S=P$9$3$H$,$G$-$k!#(B
- $BB>%?%9%/6/@)=*N;(B(
ter_tsk
)
- $B%i%s%G%VMQ%]!<%H@8@.!&:o=|5!G=(B
(
cre_por
, del_por
, vcre_por
)
- $B%?%9%/$N%l%8%9%?FbMF$N@_Dj!&;2>H(B
(
vset_reg
, vget_reg
)
ter_tsk
$B$r%?%9%/FHN)It$+$i8F$S=P$;$k$h$&$K2~B$$9$k$3$H$b2DG=$G$"$k$,!"(B
$BM-MQ@-$H%*!<%P!<%X%C%I$rHf$Y$?>l9g$K!"(B
$B$=$l$[$I%a%j%C%H$O$J$$!#(B
$B$^$?>-MhE*$K$O!"(Bcre_???
$B!"(Bdel_???
$B!"(B
$B0lIt$N(Bdef_???
$B!"0lIt$N(Bref_???
$B$J$I$N%7%9%F%`%3!<%k$r(B
$B%?%9%/FHN)It$+$i8F$V$3$H$r6X;_$9$k$+$b$7$l$J$$!#(B
$B&L(BITRON3.0 $B;EMM$GG'$a$i$l$F$$$k(B
$B%?%9%/FHN)It$+$i%7%9%F%`%3!<%k$r8F$V>l9g$K(B
i???_???
$B$NL>>N$rMQ$$$k$H$$$&J}K!$O:NMQ$7$F$$$J$$!#(B
$B0J2<$G$O!"3F%7%9%F%`%3!<%k$N;EMM$K$D$$$F!"(B
$B&L(BITRON3.0 $B;EMM$G%$%s%W%j%a%s%H0MB8$H$J$C$F$$$kItJ,!"(B
$B$*$h$S(B I-right/V $B$G$N3HD%5!G=$rCf?4$K=R$Y$k!#(B
$B%7%9%F%`%9%?%C%/$N%5%$%:$O!"(B
$B%7%9%F%`A4BN$G8GDj$7$?%G%U%)%k%HCM$rMQ$$$kJ}K!$H!"(B
cre_tsk
$B$G%?%9%/Kh$K;XDj$9$kJ}K!$,$"$k!#(B
$BA02032(=2048-16) $B%P%$%H$r;HMQ$9$k!#(B
$B%?%9%/Kh$K;XDj$9$k>l9g$O!"%?%9%/B0@-$K(B TA_SSTKSZ
$B$r@_Dj$7!"(B
T_CTSK
$B9=B$BN$N(B sstksz
$B%U%#!<%k%I$K;XDj$9$k%5%$%:$rF~$l$k!#(B
$B$3$N>l9g!"(B
$B;XDj$7$?%7%9%F%`%9%?%C%/$N%5%$%:$,(B1024$B%P%$%H$h$j$b>.$5$$>l9g$K$O!"(B
E_PAR
$B%(%i!<$K$J$k!#(B
#define TA_SSTKSZ 0x00010000 /* $B%7%9%F%`%9%?%C%/%5%$%:$r;XDj(B */
$B%?%9%/$r$I$N%j%s%0%l%Y%k$G
$B%?%9%/(B ID $B$,Ii$N>l9g$K$O!"(B
$B$=$N%?%9%/$O%7%9%F%`%?%9%/$G$"$k$H9M$($F%j%s%0%l%Y%k(B 0
$B$Gl9g$K$O!"0J2<$N%?%9%/B0@-$K$h$j!"(B
$B$I$N%j%s%0%l%Y%k$G
#define TA_RNG0 0x00000000 /* $B%j%s%0%l%Y%k(B0 $B$GF0:n$5$;$k(B */
#define TA_RNG1 0x01000000 /* $B%j%s%0%l%Y%k(B1 $B$GF0:n$5$;$k(B */
#define TA_RNG2 0x02000000 /* $B%j%s%0%l%Y%k(B2 $B$GF0:n$5$;$k(B */
#define TA_RNG3 0x03000000 /* $B%j%s%0%l%Y%k(B3 $B$GF0:n$5$;$k(B */
$B%?%9%/B0@-$K(B TA_HLNG
$B$r;XDj$7$F$b!"(B
$B
$B%?%9%/$r%j%s%0%l%Y%k(B 0 $B$GF0$+$9>l9g$K$O!"(B
$B%f!<%6%9%?%C%/$H%7%9%F%`%9%?%C%/$O6hJL$5$l$J$$!#(B
$B$3$N>l9g!"N>
$B%f!<%6%9%?%C%/$*$h$S%7%9%F%`%9%?%C%/$NNN0h$O!"(B
cre_tsk
$Bl9g$K$O!"(BE_NOMEM
$B%(%i!<$H$J$k!#(B
$B%f!<%6%9%?%C%/$N%5%$%:$K(B 0 $B$r;XDj$7$?>l9g!"(B
$B%+!<%M%k$O%f!<%6%9%?%C%/%(%j%"$r3NJ]$7$J$$!#(B
$B%f!<%6$,<+J,$G%9%?%C%/NN0h$r7h$a$?$$>l9g$K$O!"$3$NJ}K!$r;H$&!#(B
$B$J$7(B
ext_tsk
$B$,8!=P$9$k(B E_CTX
$B%(%i!<$O!"(B
$B%7%9%F%`%m%0$K5-O?$5$l$k!#(B
$B%?%9%/FHN)It$+$i(B
ext_tsk
$B$r8F$S=P$7$?>l9g$O!"(B
$B%7%9%F%`%@%&%s$9$k!#(B
$BM%@hEY7Q>5%;%^%U%)5!G=(B$B$rMQ$$$F$$$k>l9g$K$O!"(B
$B%?%9%/$N=*N;$K$h$C$F!"(B
$B3MF@$7$F$$$kM%@hEY7Q>5%;%^%U%)$,<+F0E*$K2rJ|$5$l$k>l9g$,$"$k!#(B
$B>\$7$/$O!"!V(B$BM%@hEY7Q>5%;%^%U%)5!G=$N;EMM(B$B!W$r;2>H$N$3$H!#(B
exd_tsk |
$B<+%?%9%/$N=*N;$H:o=|(B |
|
exd_tsk
$B$,8!=P$9$k(B E_CTX
$B%(%i!<$O!"(B
$B%7%9%F%`%m%0$K5-O?$9$k!#(B
$B%?%9%/FHN)It$+$i(B exd_tsk
$B$r8F$S=P$7$?>l9g!"(B
$B%7%9%F%`%@%&%s$9$k!#(B
$BM%@hEY7Q>5%;%^%U%)5!G=(B$B$rMQ$$$F$$$k>l9g$K$O!"(B
$B%?%9%/$N=*N;$K$h$C$F!"(B
$B3MF@$7$F$$$kM%@hEY7Q>5%;%^%U%)$,<+F0E*$K2rJ|$5$l$k>l9g$,$"$k!#(B
$B>\$7$/$O!"!V(B$BM%@hEY7Q>5%;%^%U%)5!G=$N;EMM(B$B!W$r;2>H$N$3$H!#(B
ter_tsk |
$BB>%?%9%/6/@)=*N;(B |
|
I-right/V $B$G$O!"(Bter_tsk
$B$r%?%9%/FHN)It$+$i8F$S=P$9$3$H$O$G$-$J$$!#(B
$B8F$S=P$7$?>l9g!"(BE_CTX
$B%(%i!<$K$J$k!#(B
$BM%@hEY7Q>5%;%^%U%)5!G=(B$B$rMQ$$$F$$$k>l9g$K$O!"(B
$B%?%9%/$N=*N;$K$h$C$F!"(B
$B3MF@$7$F$$$kM%@hEY7Q>5%;%^%U%)$,<+F0E*$K2rJ|$5$l$k>l9g$,$"$k!#(B
$B$^$?!"%?%9%/$N6/@)=*N;$K$h$C$FBT$A>uBV$,2r=|$5$l$k$N$KH<$C$F!"(B
$BB>$N%?%9%/$NM%@hEY$,JQ99$5$l$k>l9g$,$"$k!#(B
$B>\$7$/$O!"!V(B$BM%@hEY7Q>5%;%^%U%)5!G=$N;EMM(B$B!W$r;2>H$N$3$H!#(B
dis_dsp |
$B%G%#%9%Q%C%A6X;_(B |
|
$B$J$7(B
ena_dsp |
$B%G%#%9%Q%C%A5v2D(B |
|
$B$J$7(B
chg_pri |
$B%?%9%/M%@hEYJQ99(B |
|
tskpri
$B$H$7$F(B TSK_INI
$B$r;XDj$7$F!"(B
$B%?%9%/5/F0;~M%@hEY$KLa$95!G=$r%5%]!<%H$7$F$$$k!#(B
I-right/V $B$G$O!"(B
DORMANT $B>uBV$N%?%9%/$KBP$7$F$3$N%7%9%F%`%3!<%k$rH/9T$7!"(B
$B%?%9%/5/F0D>8e$NM%@hEY$r@_Dj$9$k$3$H$,$G$-$k!#(B
$B%?%9%/$NM%@hEY$O!"%?%9%/@8@.;~$*$h$S%?%9%/=*N;;~$K!"(B
$B%?%9%/5/F0;~M%@hEY$K@_Dj$5$l$k!#(B
$B$=$N$?$a!"$3$N%7%9%F%`%3!<%k$,(B E_OBJ
$B%(%i!<$rJV$9$3$H$O$J$$!#(B
$BM%@hEY7Q>5%;%^%U%)5!G=(B$B$rMQ$$$F$$$k>l9g$K$O!"(B
$B;XDj$7$?0J30$N%?%9%/$NM%@hEY$bJQ99$5$l$k>l9g$,$"$k!#(B
$B>\$7$/$O!"!V(B$BM%@hEY7Q>5%;%^%U%)5!G=$N;EMM(B$B!W$r;2>H$N$3$H!#(B
rot_rdq |
$B%?%9%/$N%l%G%#%-%e!<2sE>(B |
|
$B%?%9%/FHN)It$+$i(B tskpri = TPRI_RUN
$B$r;XDj$7$F(B rot_rdq
$B$rH/9T$9$k$3$H$,2DG=$G$"$k!#(B
$B$3$N>l9g!"(B
$B%l%G%#%-%e!$5$;$k!#(B
$B<+%?%9%/$,B0$9$k%l%G%#%-%e!<$r2sE>$5$;$?>l9g$G$b!"(B
$B%G%#%9%Q%C%A6X;_$N@_Dj$d!"(B
$B3d9~$_$,$+$+$k%?%$%_%s%0Ey$NMW0x$K$h$j!"(B
$B<+%?%9%/$,F1$8M%@hEY$N%?%9%/Cf$N:G8e$K0\F0$9$k$H$O8B$i$J$$!#(B
$B<+%?%9%/$rF1$8M%@hEY$N%?%9%/Cf$N:G8e$K0\F0$5$;$?$$>l9g$O!"(B
chg_pri
$B$r;H$C$F(B
$B<+%?%9%/$NM%@hEY$r8=:_CM$K@_Dj$7$J$*$9J}K!$,3N
rel_wai |
$BB>%?%9%/$NBT$A>uBV2r=|(B |
|
get_tid |
$B<+%?%9%/$N%?%9%/(BID$B;2>H(B |
|
$B$J$7(B
ref_tsk |
$B%?%9%/>uBV;2>H(B |
|
$B0J2<$N%$%s%W%j%a%s%H0MB8$N>pJs$,;2>H$G$-$k!#(B
tskwait | $BBT$AMW0x(B |
wid | $BBT$A%*%V%8%'%/%H(BID |
wupcnt | $B5/>2MW5a%-%e!<%$%s%0?t(B |
suscnt | SUSPEND $BMW5a%M%9%H?t(B |
CPU $B$,%3%s%F%-%9%H$r;}$C$F$$$k%?%9%/$r(B RUN $B>uBV$G$"$k$H$9$k!#(B
$B$D$^$j!"(BRUN $B>uBV$N%?%9%/$O!"(B
$B%?%9%/%G%#%9%Q%C%A$K$h$j@Z$jBX$o$k$3$H$K$J$k!#(B
$B$=$N$?$a!"(B
$BCY1d%G%#%9%Q%C%A$N86B'$d%G%#%9%Q%C%A$N6X;_$K$h$j%G%#%9%Q%C%A$,(B
$BCY1d$5$l$F$$$k4V$O!"%G%#%9%Q%C%AA0$N%?%9%/$,(B RUN $B>uBV$H$J$k!#(B
$BNc$($P!"3d9~$_%O%s%I%i$+$i(B
RUN $B>uBV$N%?%9%/$KBP$7$F(B sus_tsk
$B$rH/9T$7$?8e$K!"(B
$BF1$8%O%s%I%iFb$G$=$N%?%9%/$N>uBV$r(B
ref_tsk
$B$G;2>H$7$?>l9g!"(B
$BH/9T$7$?(B sus_tsk
$B$K$h$j%?%9%/$,6/@)BT$A>uBV$K0\9T$9$k>l9g$K$b!"(B
$BCY1d%G%#%9%Q%C%A$N86B'$K$h$j(B ref_tsk
$B$O(B
tskstat
$B$K(B TTS_RUN
$B$rJV$9!#(B
tskwait
$B$,(B (TTW_CAL|TTW_RDV
)
$B$K$J$k$3$H$O$J$$!#(B
sus_tsk |
$BB>%?%9%/$r6/@)BT$A>uBV$X0\9T(B |
|
rsm_tsk |
$B6/@)BT$A>uBV$N%?%9%/$r:F3+(B |
|
frsm_tsk |
$B6/@)BT$A>uBV$N%?%9%/$r6/@):F3+(B |
|
slp_tsk |
$B<+%?%9%/$r5/>2BT$A>uBV$X0\9T(B |
|
tslp_tsk |
$B<+%?%9%/$r5/>2BT$A>uBV$X0\9T(B($B%?%$%`%"%&%HM-(B) |
|
wup_tsk |
$BB>%?%9%/$N5/>2(B |
|
can_wup |
$BB>%?%9%/$N5/>2MW5a$rL58z2=(B |
|
$B$J$7(B
$B$J$7(B
sig_sem |
$B%;%^%U%);q8;JV5Q(B |
|
wai_sem |
$B%;%^%U%);q8;3MF@(B |
|
pwai_sem |
$B%;%^%U%);q8;3MF@(B($B%]!<%j%s%0(B) |
|
twai_sem |
$B%;%^%U%);q8;3MF@(B($B%?%$%`%"%&%HM-(B) |
|
$B$J$7(B
ref_sem |
$B%;%^%U%)>uBV;2>H(B |
|
cre_flg |
$B%$%Y%s%H%U%i%0@8@.(B |
|
del_flg |
$B%$%Y%s%H%U%i%0:o=|(B |
|
$B$J$7(B
set_flg |
$B%$%Y%s%H%U%i%0$N%;%C%H(B |
|
clr_flg |
$B%$%Y%s%H%U%i%0$N%/%j%"(B |
|
$B$J$7(B
wai_flg |
$B%$%Y%s%H%U%i%0BT$A(B |
|
pol_flg |
$B%$%Y%s%H%U%i%0BT$A(B($B%]!<%j%s%0(B) |
|
twai_flg |
$B%$%Y%s%H%U%i%0BT$A(B($B%?%$%`%"%&%HM-(B) |
|
$B$J$7(B
ref_flg |
$B%$%Y%s%H%U%i%0>uBV;2>H(B |
|
cre_mbx |
$B%a%$%k%\%C%/%9@8@.(B |
|
$B%a%$%k%\%C%/%9B0@-$H$7$F!"(B
$BBT$A%?%9%/$NM%@hEY=g$N%-%e!<%$%s%0(B (ta_tpri
)
$B$*$h$S%a%C%;!<%8$NM%@hEY=g$N%-%e!<%$%s%0(B
(ta_mpri
) $B$r%5%]!<%H$7$F$$$k!#(B
$B%a%$%k%\%C%/%9$O@~7A%j%9%H$K$h$C$F4IM}$7$F$$$k$?$a!"(B
$B%j%s%0%P%C%U%!$NBg$-$5$r;XDj$9$k$?$a$N(B bufcnt
$B$O;H$o$J$$!#(B
del_mbx |
$B%a%$%k%\%C%/%9:o=|(B |
|
$B$J$7(B
snd_mbx |
$B%a%$%k%\%C%/%9$X$NAw?.(B |
|
$B%a%$%k%\%C%/%9$O@~7A%j%9%H$K$h$C$F4IM}$5$l$F$$$k$?$a!"(B
$B%a%C%;!<%8$N@hF,$K!"(B
$B%+!<%M%k$,;HMQ$9$k%j%s%/$*$h$S%a%C%;!<%8M%@hEY$rF~$l$k$?$a$N(B
$B%X%C%@NN0h$,I,MW$G$"$k(B($B$"$o$;$F(B8$B%P%$%H(B)$B!#(B
- $BF1$8M}M3$K$h$j!"(B
E_QOVR
$B%(%i!<$O5/$3$i$J$$!#(B
rcv_msg |
$B%a%$%k%\%C%/%9$+$i |
|
prcv_msg |
$B%a%$%k%\%C%/%9$+$i |
|
trcv_msg |
$B%a%$%k%\%C%/%9$+$i |
|
$B%a%$%k%\%C%/%9$O@~7A%j%9%H$K$h$C$F4IM}$5$l$F$$$k$?$a!"(B
$B%a%C%;!<%8$N@hF,$K!"(B
$B%+!<%M%k$,;HMQ$9$k%j%s%/$*$h$S%a%C%;!<%8M%@hEY$rF~$l$k$?$a$N(B
$B%X%C%@NN0h$,I,MW$G$"$k(B($B$"$o$;$F(B8$B%P%$%H(B)$B!#(B
ref_mbx |
$B%a%$%k%\%C%/%9>uBV;2>H(B |
|
cre_mbf |
$B%a%C%;!<%8%P%C%U%!@8@.(B |
|
$B%a%C%;!<%8%P%C%U%!B0@-$H$7$F!"(B
$BBT$A%?%9%/$NM%@hEY=g$N%-%e!<%$%s%0(B (TA_TPRI
)
$B$r%5%]!<%H$7$F$$$k!#(B
$B%a%C%;!<%8%P%C%U%!$N%5%$%:(B (bufsz
) $B$O!"(B
$BBg$-$$J}$K4]$a$i$l$k!#(B
$B4]$a$kC10L$O!"(BINT
$B7?$N%G!<%?(B1$B$DJ,$N%5%$%:(B
(4$B%P%$%H(B) $B$G$"$k!#(B
$B%a%C%;!<%8$N:GBgD9(B (maxmsg
)
$B$,Ii$^$?$O(B 0 $B$N>l9g!"(BE_PAR
$B%(%i!<$K$J$k!#(B
$B%a%C%;!<%8%P%C%U%!$NNN0h$O!"(Bcre_mbf
$Bl9g$K$O!"(BE_NOMEM
$B%(%i!<$H$J$k!#(B
$B%7%9%F%`%m%0MQ$N(B mbfid = (-4)
$B$N%a%C%;!<%8%P%C%U%!$r%5%]!<%H$7$F$$$k!#(B
$B%7%9%F%`%m%0MQ$N%a%C%;!<%8%P%C%U%!$O!"(B
$B%f!<%6%?%9%/(B ( $B%j%s%0%l%Y%k(B 0 $B$GF0$$$F$$$k>l9g$r=|$/(B )
$B$+$i%"%/%;%9$9$k$3$H$O$G$-$J$$!#(B
$B%7%9%F%`%m%0MQ%a%C%;!<%8%P%C%U%!$KAw$i$l$?(B
$B%a%C%;!<%8$r=hM}$9$k$?$a$K!"(B
$B%m%0%?%9%/$rMQ0U$9$k!#(B
del_mbf |
$B%a%C%;!<%8%P%C%U%!:o=|(B |
|
$B$J$7(B
snd_mbf |
$B%a%C%;!<%8%P%C%U%!$XAw?.(B |
|
psnd_mbf |
$B%a%C%;!<%8%P%C%U%!$XAw?.(B($B%]!<%j%s%0(B) |
|
tsnd_mbf |
$B%a%C%;!<%8%P%C%U%!$XAw?.(B($B%?%$%`%"%&%HM-(B) |
|
psnd_mbf
$B$*$h$S(B tsnd_mbf
(tmout = TMO_POL
) $B$r!"(B
$B%?%9%/FHN)It$J$$$7$O%G%#%9%Q%C%A6X;_>uBV$+$i
$B%a%C%;!<%8$O!"(B
$B%P%C%U%!Cf$G$O(B INT
$B7?$N%G!<%?(B 1 $B$DJ,$N%5%$%:(B
(4$B%P%$%H(B) $B$rC10L$KBg$-$$J}$K4]$a$?%5%$%:$NNN0h$r@jM-$9$k!#(B
$B$5$i$K!"%a%C%;!<%8$r(B 1 $B$DAw?.$9$kEY$K!"4IM}MQ$N%(%j%"$H$7$F!"(B
INT
$B7?$N%G!<%?(B 1 $B$DJ,$N%(%j%"$,%a%C%;!<%8%P%C%U%!$+$iref_mbf $B$G;2>H$G$-$k6u$-%P%C%U%!$N%5%$%:(B
(frbufsz
) $B$O!"$3$l$i$NJ,$b8:>/$9$k$3$H$K$J$k!#(B
$B%?%9%/$,%a%C%;!<%8Aw?.BT$A$N9TNs$r:n$C$?>l9g$K!"(B
$BBT$A9TNs$NCf$G$O8eJ}$K$"$C$F$b!"(B
$BAw?.$7$h$&$H$9$k%a%C%;!<%8%5%$%:$,>.$5$/!"(B
$B%a%C%;!<%8%P%C%U%!$N;D$jNN0h$KF~$k$J$i$P!"(B
$B8eJ}$N%?%9%/$,M%@h$5$l$k!#(B
$B$=$N$?$a!"Aw?.BT$A9TNs$O!"87L)$K$O(B FIFO $B$K$O$J$i$J$$!#(B
rcv_mbf |
$B%a%C%;!<%8%P%C%U%!$+$i |
|
prcv_mbf |
$B%a%C%;!<%8%P%C%U%!$+$i |
|
trcv_mbf |
$B%a%C%;!<%8%P%C%U%!$+$i |
|
ref_mbf |
$B%a%C%;!<%8%P%C%U%!>uBV;2>H(B |
|
cre_por |
$B%i%s%G%VMQ$N%]!<%H@8@.(B |
|
$B8F=P%a%C%;!<%8$N:GBgD9(B (maxcmsg
)$B!"(B
$BJVEz%a%C%;!<%8$N:GBgD9(B (maxrmsg
) $B$,Ii$^$?$O(B 0
$B$N>l9g!"(BE_PAR
$B%(%i!<$H$J$k!#(B
I-right/V $B$G$O!"(Bcre_por
$B$r%?%9%/FHN)It$+$i8F$S=P$9$3$H$O$G$-$J$$!#(B
$B8F$S=P$7$?>l9g!"(BE_CTX
$B%(%i!<$H$J$k!#(B
del_por |
$B%i%s%G%VMQ$N%]!<%H:o=|(B |
|
cal_por |
$B%]!<%H$KBP$9$k%i%s%G%V$N8F=P(B |
|
pcal_por |
$B%]!<%H$KBP$9$k%i%s%G%V$N8F=P(B($B%]!<%j%s%0(B) |
|
tcal_por |
$B%]!<%H$KBP$9$k%i%s%G%V$N8F=P(B($B%?%$%`%"%&%HM-(B) |
|
$B$J$7(B
acp_por |
$B%]!<%H$KBP$9$k%i%s%G%V |
|
pacp_por |
$B%]!<%H$KBP$9$k%i%s%G%V |
|
tacp_por |
$B%]!<%H$KBP$9$k%i%s%G%V |
|
$B$J$7(B
fwd_por |
$B%]!<%H$KBP$9$k%i%s%G%V2sAw(B |
|
$B$J$7(B
ref_por |
$B%]!<%H>uBV;2>H(B |
|
def_int |
$B3d9~$_%O%s%I%iDj5A(B |
|
ret_int |
$B3d9~$_%O%s%I%i$+$iI|5"(B |
|
$B3d9~$_%O%s%I%i$+$i$O!"(B
C $B8@8l$N(B return
$B$d4X?t$N:G8e$G<+F0E*$KI|5"$G$-$k$?$a!"(B
ret_int
$B$O%5%]!<%H$7$J$$!#(B
$BB>$N%7%9%F%`$H$N8_49@-$N$?$a$K(Bret_int
$B$,I,MW$K$J$k>l9g$O!"(B
$B0J2<$NDj5A$K$h$jBeMQ$G$-$k(B(C$B8@8l$N>l9g(B)$B!#(B
#define ret_int() { return; }
6.9 def_int()
$B$b$"$o$;$F;2>H$N$3$H!#(B
ret_wup |
$B3d9~$_%O%s%I%iI|5"$H%?%9%/5/>2(B |
|
$B3d9~$_%O%s%I%i$+$i$O!"(B
C$B8@8l$N(B return
$B$d4X?t$N:G8e$G<+F0E*$KI|5"$G$-$k$?$a!"(B
ret_wup
$B$O%5%]!<%H$7$J$$!#(B
$BB>$N%7%9%F%`$H$N8_49@-$N$?$a$K(B ret_wup
$B$,I,MW$K$J$k>l9g$O!"(B
$B0J2<$NDj5A$K$h$jBeMQ$G$-$k(B (C$B8@8l$N>l9g(B)$B!#(B
#define ret_wup(tskid) { wup_tsk(tskid); return; }
loc_cpu |
$B3d9~$_$H%G%#%9%Q%C%A$N6X;_(B |
|
$B$J$7(B
unl_cpu |
$B3d9~$_$H%G%#%9%Q%C%A$N5v2D(B |
|
$B$J$7(B
$B%G%#%9%Q%C%A$r5v2D$7$?$^$^3d9~$_$r6X;_$9$k$K$O!"(B
$B<~JU%A%C%W$rA`:n$9$kI,MW$,$"$k!#(B
$B<~JU%A%C%W$NA`:n$O!"(BCPU $B$P$+$j$G$J$/!"(B
$B%O!<%I%&%'%"9=@.$KBg$-$/0MB8$9$k$?$a!"(B
$B$3$N%7%9%F%`%3!<%k$O%5%]!<%H$7$J$$!#(B
$B%G%#%9%Q%C%A$r5v2D$7$?$^$^3d9~$_$r6X;_$9$k$K$O!"(B
$B<~JU%A%C%W$rA`:n$9$kI,MW$,$"$k!#(B
$B<~JU%A%C%W$NA`:n$O!"(BCPU $B$P$+$j$G$J$/!"(B
$B%O!<%I%&%'%"9=@.$KBg$-$/0MB8$9$k$?$a!"(B
$B$3$N%7%9%F%`%3!<%k$O%5%]!<%H$7$J$$!#(B
chg_ims |
$B3d9~$_%^%9%/JQ99(B |
|
I-right/V$B$G$O%5%]!<%H$7$F$$$J$$!#(B
ref_ims |
$B3d9~$_%^%9%/;2>H(B |
|
I-right/V$B$G$O%5%]!<%H$7$F$$$J$$!#(B
$B%a%b%j$O<~JU3K(B ( BTRON $B%a%b%j!<4IM}(B ) $B$G4IM}$5$l$F$$$k$?$a!"(B
I-right/V $B$K$O%a%b%j%W!<%k4IM}5!G=$O$J$$!#(B
cre_mpl |
$B2DJQD9%a%b%j%W!<%k@8@.(B |
|
$B2DJQD9%a%b%j%W!<%kB0@-(B (mplatr
)
$B$H$7$F!"BT$A%?%9%/$NM%@hEY=g$N%-%e!<%$%s%0(B
(TA_TPRI
) $B$r%5%]!<%H$7$F$$$k!#(B
$B2DJQD9%a%b%j%W!<%k$N4IM}%"%k%4%j%:%`$H$7$F!"(B
first-fit $B$r%5%]!<%H$7$F$$$k!#(B
$B%?%9%/$,%a%b%j3MF@BT$A$N9TNs$r:n$C$?>l9g$K!"(B
$BBT$A9TNs$NCf$G$O8eJ}$K$"$C$F$b!"(B
$BMW5a%V%m%C%/%5%$%:$,>.$5$/!"(B
$B%a%b%j%W!<%k$+$i$9$0$K%V%m%C%/$,3MF@$G$-$k$J$i$P!"(B
$B8eJ}$N%?%9%/$,M%@h$5$l$k(B
( $B$D$^$j!"(BITRON2 $B$N(B TA_CNT
$B$KAjEv(B)$B!#(B
$B$=$N$?$a!"%a%b%j3MF@BT$A9TNs$O!"(B
$B87L)$K$O(B FIFO $B$J$$$7$OM%@hEY=g$K$O$J$i$J$$!#(B
$B%a%b%j%W!<%kA4BN$N%5%$%:(B (mplsz
) $B$O!"(B
$BBg$-$$J}$K4]$a$i$l$k!#(B
$B4]$a$kC10L$O!"%]%$%s%?(B 4 $B$DJ,$N%5%$%:(B ( 16 $B%P%$%H(B ) $B$G$"$k!#(B
$B2DJQD9%a%b%j%W!<%k$NNN0h$O!"(Bcre_mpl
$Bl9g$K$O!"(B
E_NOMEM
$B%(%i!<$H$J$k!#(B
$B%7%9%F%`MQ$N(B mplid = (-4)
$B$N%a%b%j%W!<%k$r%5%]!<%H$7$F$$$k!#(B
$B%7%9%F%`MQ%a%b%j%W!<%k$r@8@.!":o=|$9$k$3$H$O$G$-$J$$$,!"(B
$B%a%b%j%V%m%C%/$N3MF@!"JV5Q!"(B
$B%a%b%j%W!<%k$N>uBV;2>H$r$9$k$3$H$O$G$-$k!#(B
( $B&L(BITRON3.0$B;EMM$G$O!"(B
$B%a%b%j%W!<%k$N>uBV;2>H$N$_$G$-$k$3$H$K$J$C$F$$$k(B )$B!#(B
del_mpl |
$B2DJQD9%a%b%j%W!<%k:o=|(B |
|
$B$J$7(B
get_blk |
$B2DJQD9%a%b%j%V%m%C%/3MF@(B |
|
pget_blk |
$B2DJQD9%a%b%j%V%m%C%/3MF@(B ($B%]!<%j%s%0(B) |
|
tget_blk |
$B2DJQD9%a%b%j%V%m%C%/3MF@(B ($B%?%$%`%"%&%HM-(B) |
|
pget_blk
$B$*$h$S(B
tget_blk(tmout =TMO_POL)
$B$r!"(B
$B%?%9%/FHN)It$J$$$7$O%G%#%9%Q%C%A6X;_>uBV$+$i
$B%a%b%j%V%m%C%/%5%$%:(B (blksz)
$B$O!"(B
$BBg$-$$J}$K4]$a$i$l$k!#(B
$B4]$a$kC10L$O!"%]%$%s%?(B 2 $B$DJ,$N%5%$%:(B (8$B%P%$%H(B) $B$G$"$k!#(B
$B2DJQD9%a%b%j%V%m%C%/$r(B 1 $B$D3MF@$9$kEY$K!"(B
$B4IM}MQ$N%(%j%"$H$7$F!"(B
$B%]%$%s%?(B 2 $B$DJ,$N%(%j%"(B
( TRON$B;EMM%A%C%W$N>l9g$O!"(B8 $B%P%$%H(B ) $B$,%a%b%j%W!<%k$+$il9g$b$"$k!#(B
ref_mpl
$B$G;2>H$G$-$k6u$-NN0h$N9g7W%5%$%:(B ( frsz
) $B$+$i$O!"(B
$B$3$l$i$N4IM}%(%j%"$NJ,$b8:>/$9$k$3$H$K$J$k!#(B
rel_blk |
$B2DJQD9%a%b%j%V%m%C%/JV5Q(B |
|
ref_mpl |
$B2DJQD9%a%b%j%W!<%k>uBV;2>H(B |
|
$BBT$A%?%9%/$,$"$k>l9g!"(Bwtsk
$B$K$OBT$A9TNs$N@hF,$N%?%9%/$N(B ID $B$rJV$9!#(B
ref_mpl
$B$O!"(B
$B:GBg6u$-NN0h$N%5%$%:$r5a$a$k$?$a$K%a%b%j%W!<%kA4BN$r%9%-%c%s$9$k!#(B
$B$=$N$?$a!"
$B%7%9%F%`MQ%a%b%j%W!<%k$N>uBV$r%f!<%6%?%9%/(B
( $B%j%s%0%l%Y%k(B 0 $B$GF0$$$F$$$k>l9g$r=|$/(B )
$B$+$i;2>H$9$k$3$H$O$G$-$J$$(B
( $B&L(BITRON3.0 $B;EMM$G$O!"(B
$B%f!<%6%?%9%/$+$i$b>uBV;2>H$G$-$k$3$H$K$J$C$F$$$k(B )$B!#(B
cre_mpf |
$B8GDjD9%a%b%j%W!<%k@8@.(B |
|
$B8GDjD9%a%b%j%W!<%kB0@-$H$7$F!"(B
$BBT$A%?%9%/$NM%@hEY=g$N%-%e!<%$%s%0(B
(TA_TPRI)
$B$r%5%]!<%H$7$F$$$k!#(B
$B8GDjD9%a%b%j%V%m%C%/%5%$%:(B (blksz)
$B$O!"(B
$BBg$-$$J}$K4]$a$i$l$k!#(B
$B4]$a$kC10L$O!"%]%$%s%?(B 1$B$DJ,$N%5%$%:(B(4$B%P%$%H(B) $B$G$"$k!#(B
$B8GDjD9%a%b%j%W!<%k$NNN0h$O!"(Bcre_mpf
$Bl9g$K$O!"(BE_NOMEM
$B%(%i!<$H$J$k!#(B
del_mpf |
$B8GDjD9%a%b%j%W!<%k:o=|(B |
|
$B$J$7(B
get_blf |
$B8GDjD9%a%b%j%V%m%C%/3MF@(B |
|
pget_blf |
$B8GDjD9%a%b%j%V%m%C%/3MF@(B ($B%]!<%j%s%0(B) |
|
tget_blf |
$B8GDjD9%a%b%j%V%m%C%/3MF@(B ($B%?%$%`%"%&%HM-(B) |
|
rel_blf |
$B8GDjD9%a%b%j%V%m%C%/JV5Q(B |
|
$B$J$7(B
rel_mpf |
$B8GDjD9%a%b%j%W!<%k>uBV;2>H(B |
|
set_tim |
$B%7%9%F%`%/%m%C%/@_Dj(B |
|
$B$J$7(B
get_tim |
$B%7%9%F%`%/%m%C%/;2>H(B |
|
$B$J$7(B
$B$J$7(B
def_cyc |
$B<~4|5/F0%O%s%I%iDj5A(B |
|
cycno
$B$H$7$F$O!"(B
1 $B$+$i%7%9%F%`9=@.@_Dj%U%!%$%kCf$G@_Dj$7$?CM$^$G$,;H$($k!#(B
$B$=$l0J30$NCM$r;XDj$7$?;~$O!"(BE_PAR
$B%(%i!<$H$J$k!#(B
$B<~4|5/F0%O%s%I%iB0@-(B (cycatr)
$B$K(B TA_HLNG
$B$r;XDj$7$F$b!"
$B%O%s%I%iFb$G$O:G>.8B$N=hM}$N$_9T$C$F!"(B
$B;D$j$N=hM}$O%?%9%/$KG$$;$k$h$&$K:n$k$Y$-$G$"$k!#(B
act_cyc |
$B<~4|5/F0%O%s%I%i3h@-@)8f(B |
|
ref_cyc |
$B<~4|5/F0%O%s%I%i>uBV;2>H(B |
|
def_alm |
$B%"%i!<%`%O%s%I%iDj5A(B |
|
almno
$B$H$7$F$O!"(B
1 $B$+$i%7%9%F%`9=@.@_Dj%U%!%$%kCf$G@_Dj$7$?CM$^$G$,;H$($k!#(B
$B$=$l0J30$NCM$r;XDj$7$?;~$O!"(BE_PAR
$B%(%i!<$H$J$k!#(B
$B%"%i!<%`%O%s%I%iB0@-(B (almatr
)
$B$K(B TA_HLNG
$B$r;XDj$7$F$b!"
$B%"%i!<%`%O%s%I%i$O!"%O%s%I%i5/F0$N;~E@(B
($B87L)$K$O5/F0$9$kD>A0(B) $B$G!"<+F0E*$KDj5A2r=|$5$l$k!#(B
$B%O%s%I%iFb$G$O:G>.8B$N=hM}$N$_9T$C$F!"(B
$B;D$j$N=hM}$O%?%9%/$KG$$;$k$h$&$K:n$k$Y$-$G$"$k!#(B
ref_alm |
$B%"%i!<%`%O%s%I%i>uBV;2>H(B |
|
ret_tmr |
$B%?%$%^%O%s%I%i$+$iI|5"(B |
|
$B%?%$%^%O%s%I%i$+$i$O!"(B
C$B8@8l$N(B return
$B$d4X?t$N:G8e$G<+F0E*$KI|5"$G$-$k$?$a!"(B
ret_tmr
$B$O%5%]!<%H$7$J$$!#(B
$BB>$N%7%9%F%`$H$N8_49@-$N$?$a$K(B ret_tmr
$B$,I,MW$K$J$k>l9g$O!"0J2<$NDj5A$K$h$jBeMQ$G$-$k(B (C$B8@8l$N>l9g(B)$B!#(B
#define ret_tmr() { return; }
get_ver |
$B%P!<%8%g%s;2>H(B |
|
ref_sys |
$B%7%9%F%`>uBV;2>H(B |
|
$B=`%?%9%/Itl9g$O!"(Bsysstat
$B$K(B
TTS_QTSK
$B$,JV$k!#(B
$B$^$?!"=`%?%9%/It$G%G%#%9%Q%C%A6X;_Cf$N>l9g$O(B
(TTS_QTSK|TTS_DDSP
)$B!"(B
$B=`%?%9%/It$G3d9~$_$*$h$S%G%#%9%Q%C%A6X;_Cf$N>l9g$O(B
(TS_QTSK|TTS_LOC
)
$B$,JV$k(B(I-right/V $B$G$N3HD%5!G=(B)$B!#(B
$B@0M}$9$k$H!"(Bsysstat
$B$O
TTS_TSK | 0 |
TTS_TSK|TTS_DDSP | 1 |
TTS_TSK|TTS_LOC | 3 |
TTS_QTSK | 8 |
TTS_QTSK|TTS_DDSP | 9 |
TTS_QTSK|TTS_LOC | 11 |
TTS_INDP | 4 |
runtskid
$B$K$O!"(B
$B8=:_(B RUN $B>uBV$K$"$k%?%9%/$N(B ID
$B$,JV$k!#(B
( RUN $B>uBV$NDj5A$K$D$$$F$O!"!V(Bref_tsk
$B!W$N9`$r;2>H(B)$B!#(B
RUN $B>uBV$N%?%9%/$,$J$$>l9g$K$O!"(BFALSE
$B$,JV$k!#(B
schedtskid
$B$K$O!"(B
$BuBV$K$9$Y$-$H$5$l$?%?%9%/$G!"(B
$BCY1d%G%#%9%Q%C%A$N86B'$d(B
$B%G%#%9%Q%C%A$,6X;_$5$l$F$$$k>uBV$,$"$k$?$a$K!"(B
$B8=:_(B RUN $B>uBV$K$J$C$F$$$k%?%9%/$H0lCW$9$k$H$O8B$i$J$$!#(B
$Bl9g$K$O!"(BFALSE
$B$,JV$k!#(B
ref_chg |
$B%3%s%U%#%0%l!<%7%g%s>pJs;2>H(B |
|
$B$J$7(B
def_svc |
$B3HD%(BSVC$B%O%s%I%iDj5A(B |
|
s_fncd
$B$H$7$F$O!"(B
1 $B$+$i%7%9%F%`9=@.@_Dj%U%!%$%kCf$G@_Dj$7$?CM$^$G$,;H$($k!#(B
$B$=$l0J30$NCM$r;XDj$7$?;~$O!"(BE_PAR
$B%(%i!<$H$J$k!#(B
pk_dsvc = NADR
$B$H$7$?>l9g$K$O!"(B
$BA0$KDj5A$7$?3HD%(B SVC $B%O%s%I%i$NDj5A2r=|$r9T$&!#(B
$B4{$KDj5A:Q$_$N3HD%5!G=%3!<%I$KBP$7$F!"(B
$B3HD%(B SVC $B%O%s%I%i$r:FDj5A$9$k$3$H$,$G$-$k!#(B
$B$=$N:]$K!"$"$i$+$8$aDj5A2r=|$7$F$*$/I,MW$O$J$$!#(B
$B3HD%(BSVC$B%O%s%I%iB0@-(B (svcatr
) $B$K(B
TA_HLNG
$B$r;XDj$7$F$b!"
def_exc |
$BNc30%O%s%I%iDj5A(B |
|
| vcre_tsk |
$B%?%9%/@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -241) |
|
- $B!Z%Q%i%a!<%?![(B
T_CTSK* pk_ctsk $B%?%9%/@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?%?%9%/$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_tsk(T_CTSK *pk_ctsk);
- $B!Z2r@b![(B
ID $BHV9f$r;XDj$;$:$K%?%9%/$r@8@.$7!"(B
$B@8@.$7$?%?%9%/$N(B ID ($BI,$:@5$NCM(B) $B$r(Bercd
$B$KJV$9!#(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bcre_tsk
$B$HF1$8$G$"$k!#(B
| vcre_sem |
$B%;%^%U%)@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -242) |
|
- $B!Z%Q%i%a!<%?![(B
T_CSEM* pk_csem $B%;%^%U%)@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?%;%^%U%)$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_sem(T_CSEM *pk_csem);
- $B!Z2r@b![(B
ID$BHV9f$r;XDj$;$:$K%;%^%U%)$r@8@.$7!"(B
$B@8@.$7$?%;%^%U%)$N(B ID ($BI,$:@5$NCM(B) $B$r(B ercd
$B$KJV$9!#(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bcre_sem
$B$HF1$8$G$"$k!#(B
| vcre_flg |
$B%$%Y%s%H%U%i%0@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -243) |
|
- $B!Z%Q%i%a!<%?![(B
T_CFLG* pk_cflg $B%$%Y%s%H%U%i%0@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?%$%Y%s%H%U%i%0$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_flg(T_CFLG *pk_cflg);
- $B!Z2r@b![(B
ID$BHV9f$r;XDj$;$:$K%$%Y%s%H%U%i%0$r@8@.$7!"(B
$B@8@.$7$?%$%Y%s%H%U%i%0$N(B ID ($BI,$:@5$NCM(B) $B$r(B ercd
$B$KJV$9!#(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bcre_flg
$B$HF1$8$G$"$k!#(B
| vcre_mbx |
$B%a%$%k%\%C%/%9@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -244) |
|
- $B!Z%Q%i%a!<%?![(B
T_CMBX* pk_cmbx $B%a%$%k%\%C%/%9@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?%a%$%k%\%C%/%9$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_mbx(T_CMBX *pk_cmbx);
- $B!Z2r@b![(B
ID$BHV9f$r;XDj$;$:$K%a%$%k%\%C%/%9$r@8@.$7!"(B
$B@8@.$7$?%a%$%k%\%C%/%9$N(B ID ($BI,$:@5$NCM(B) $B$r(B ercd
$B$KJV$9!#(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(B
EV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bcre_mbx
$B$HF1$8$G$"$k!#(B
| vcre_mbf |
$B%a%C%;!<%8%P%C%U%!@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -245) |
|
- $B!Z%Q%i%a!<%?![(B
T_CMBF* pk_cmbf $B%a%C%;!<%8%P%C%U%!@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?%a%C%;!<%8%P%C%U%!$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_mbf(T_CMBF *pk_cmbf);
- $B!Z2r@b![(B
ID$BHV9f$r;XDj$;$:$K%a%C%;!<%8%P%C%U%!$r@8@.$7!"(B
$B@8@.$7$?%a%C%;!<%8%P%C%U%!$N(B ID ($BI,$:@5$NCM(B) $B$r(B
ercd
$B$KJV$9!#(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bcre_mbf
$B$HF1$8$G$"$k!#(B
| vcre_por |
$B%i%s%G%VMQ$N%]!<%H@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -246) |
|
- $B!Z%Q%i%a!<%?![(B
T_CPOR* pk_cpor $B%i%s%G%VMQ%]!<%H@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?%i%s%G%VMQ%]!<%H$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
- ER ercd =vcre_por(T_CPOR *pk_cpor);
- $B!Z2r@b![(B
ID$BHV9f$r;XDj$;$:$K%i%s%G%VMQ%]!<%H$r@8@.$7!"(B
$B@8@.$7$?%i%s%G%VMQ%]!<%H$N(B ID ($BI,$:@5$NCM(B) $B$r(B
ercd
$B$KJV$9!#(B
ercd $B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bcre_por
$B$HF1$8$G$"$k!#(B
| vcre_mpl |
$B2DJQD9%a%b%j%W!<%k@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -247) |
|
- $B!Z%Q%i%a!<%?![(B
T_CMPL* pk_cmpl $B2DJQD9%a%b%j%W!<%k@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?2DJQD9%a%b%j%W!<%k$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_mpl(T_CMPL *pk_cmpl);
- $B!Z2r@b![(B
ID$BHV9f$r;XDj$;$:$K2DJQD9%a%b%j%W!<%k$r@8@.$7!"(B
$B@8@.$7$?2DJQD9%a%b%j%W!<%k$N(B ID ($BI,$:@5$NCM(B) $B$r(B
ercd
$B$KJV$9!#(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bcre_mpl
$B$HF1$8$G$"$k!#(B
| vcre_mpf |
$B8GDjD9%a%b%j%W!<%k@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -248) |
|
- $B!Z%Q%i%a!<%?![(B
T_CMPF* pk_cmpf $B8GDjD9%a%b%j%W!<%k@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?8GDjD9%a%b%j%W!<%k$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_mpf(T_CMPF *pk_cmpf);
- $B!Z2r@b![(B
ID$BHV9f$r;XDj$;$:$K8GDjD9%a%b%j%W!<%k$r@8@.$7!"(B
$B@8@.$7$?8GDjD9%a%b%j%W!<%k$N(B ID ($BI,$:@5$NCM(B) $B$r(B
ercd
$B$KJV$9!#(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bcre_mpf
$B$HF1$8$G$"$k!#(B
| vdef_cyc |
$B<~4|5/F0%O%s%I%iDj5A(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -255) |
|
- $B!Z%Q%i%a!<%?![(B
T_DCYC* pk_dcyc $B<~4|5/F0%O%s%I%iDj5A>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $BDj5A$7$?<~4|5/F0%O%s%I%i$NHV9f(B, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vdef_cyc(T_DCYC *pk_dcyc);
- $B!Z2r@b![(B
$BHV9f$r;XDj$;$:$K<~4|5/F0%O%s%I%i$rDj5A$7!"(B
$BDj5A$7$?<~4|5/F0%O%s%I%i$NHV9f(B ($BI,$:@5$NCM(B) $B$r(B
ercd
$B$KJV$9!#(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$JHV9f$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$^$?!"(Bpk_dcyc = NADR
$B$H$7$F!"(B
$B<~4|5/F0%O%s%I%i$NDj5A2r=|$r9T$&5!G=$O$J$$!#(B
$B$=$NB>$K$D$$$F$O!"(Bdef_cyc
$B$HF1$8$G$"$k!#(B
| vdef_alm |
$B%"%i!<%`%O%s%I%iDj5A(B | ($B5!G=%3!<%I(B: -256) |
|
- $B!Z%Q%i%a!<%?![(B
T_DALM* pk_dalm $B%"%i!<%`%O%s%I%iDj5A>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $BDj5A$7$?%"%i!<%`%O%s%I%i$NHV9f(B, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vdef_alm(T_DALM *pk_dalm);
- $B!Z2r@b![(B
$BHV9f$r;XDj$;$:$K%"%i!<%`%O%s%I%i$rDj5A$7!"(B
$BDj5A$7$?%"%i!<%`%O%s%I%i$NHV9f(B ($BI,$:@5$NCM(B) $B$r(B
ercd
$B$KJV$7$^$9(B
ercd
$B$,Ii$N>l9g$O!"%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$JHV9f$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$^$?!"(Bpk_dalm = NADR
$B$H$7$F!"(B
$B%"%i!<%`%O%s%I%i$NDj5A2r=|$r9T$&5!G=$O$J$$!#(B
$B$=$NB>$K$D$$$F$O!"(Bdef_alm
$B$HF1$8$G$"$k!#(B
| vset_reg |
$B%?%9%/$N%l%8%9%?FbMF@_Dj(B | ($B5!G=%3!<%I(B: -225) |
|
vset_reg: Set Task Registers
- $B!Z%Q%i%a!<%?![(B
ID tskid $B%?%9%/(BID
T_REGS* pk_regs $BHFMQ%l%8%9%?$NCM$rF~$l$k%Q%1%C%H(B
T_EIT* pk_eit PC $B$H(B PSW $B$NCM$rF~$l$k%Q%1%C%H(B
T_CREGS* pk_cregs $B@)8f%l%8%9%?$NCM$rF~$l$k%Q%1%C%H(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd = vset_reg(ID tskid, T_REGS *pk_regs, T_EIT *pk_eit,
T_CREGS *pk_cregs);
- $B!Z2r@b![(B
- 6.13
vget_reg()/vset_reg()
$B$r;2>H$N$3$H!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B (tskid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B(tskid $B$N%?%9%/$,B8:_$7$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B |
E_OBJ |
$B%*%V%8%'%/%H$N>uBV$,IT@5(B ($BBP>]%?%9%/$,<+%?%9%/(B) |
E_PAR |
$B%Q%i%a!<%?%(%i!<(B(psw $B$,IT@5(B) |
E_CTX |
$B%3%s%F%-%9%H%(%i!<(B($B%?%9%/FHN)It$+$i$NH/9T(B) |
| vget_reg |
$B%?%9%/$N%l%8%9%?FbMF;2>H(B | ($B5!G=%3!<%I(B: -226) |
|
vget_reg: Get Task Registers
- $B!Z%Q%i%a!<%?![(B
ID tskid $B%?%9%/(BID
T_REGS* pk_regs $BHFMQ%l%8%9%?$NCM$rF~$l$k%Q%1%C%H(B
T_EIT* pk_eit PC $B$H(B PSW $B$NCM$rF~$l$k%Q%1%C%H(B
T_CREGS* pk_cregs $B@)8f%l%8%9%?$NCM$rF~$l$k%Q%1%C%H(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vget_reg(T_REGS *pk_regs, T_EIT *pk_eit, T_CREGS *pk_cregs,
ID tskid);
- $B!Z2r@b![(B
- 6.13
vget_reg()/vset_reg()
$B$r;2>H$N$3$H!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(tskid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B(tskid $B$N%?%9%/$,B8:_$7$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B |
E_OBJ |
$B%*%V%8%'%/%H$N>uBV$,IT@5(B($BBP>]%?%9%/$,<+%?%9%/(B) |
E_CTX |
$B%3%s%F%-%9%H%(%i!<(B($B%?%9%/FHN)It$+$i$NH/9T(B) |
| vget_tim |
$B@-G=I>2AMQ%7%9%F%`;~9o;2>H(B | ($B5!G=%3!<%I(B: -82) |
|
vget_tim: Get Time for Performance Evaluation
I-right/V$B$G$O%5%]!<%H$7$J$$!#(B
$BM%@hEY7Q>5$H$O!"(B
$BM%@hEY5UE>$,>e8B$J$/B3$/$3$H(B ( unbounded priority inversion )
$B$rKI$0$?$a$N;EAH$_$G$"$k!#(B
$BM%@hEY5UE>$H$O!"(B
$BM%@hEY$N9b$$%?%9%/$ruBV$r$$$&!#(B
$BM%@hEY5UE>$O!"!VK\MhuBV$G$"$k$,!"(B
$B%j%=!<%9@)Ls$NLdBj$K$h$j!"(B
$B0l;~E*$K5/$3$k$3$H$OHr$1$i$l$J$$!#(B
$B$=$3$G!"(B
$BM%@hEY5UE>$rC;$$;~4V$K2!$($k;EAH$_$G$"$kM%@hEY7Q>5$,=EMW$K$J$k!#(B
$BM%@hEY7Q>5$N%3%s%;%W%H$r0l8@$G$$$&$H!"(B
$B!VB>$N%?%9%/$rBT$?$;$F$$$k%?%9%/$O!"(B
$BBT$?$5$l$F$$$k%?%9%/$NM%@hEY$r7Q>5$9$k!W$H$$$&$3$H$K$J$k!#(B
$B$=$N$?$a!"K\Mh$O!"(B
$BBT$A$rH<$&%?%9%/4VF14|!&DL?.5!G=$9$Y$F$K4XO"$9$k$3$H$K$J$k!#(B
ITRON $B;EMM$KM%@hEY7Q>5$r55!G=$r;}$C$?%;%^%U%)$r%5%]!<%H$7$F$$$k!#(B
$B$3$l$rM%@hEY7Q>5%;%^%U%)$H8F$V!#(B
$BM%@hEY7Q>5%;%^%U%)5!G=$N;EMM$r8!F$$7$F$$$/$H!"(B
$BM}A[E*$@$,
I-right/V $B$G$O!"A0
$BM%@hEY7Q>5%;%^%U%)$K4X$9$k>\$7$$5DO@$K$D$$$F$O!"(B
$B0J2<$N;29MJ88%$r;2>H$N$3$H!#(B
[1] L. Sha, R. Rajkumar, and J. P. Lehoczky, "Priority Inheritance
Protocols: An Approach to Real-Time Synchronization," IEEE Trans.
Computers, vol. 39, pp. 1175-1185, Sep. 1990.
[2] H. Takada and K. Sakamura, "Experimental Implementations of
Priority Inheritance Semaphore on ITRON-specification Kernel",
Proc. 11th TRON Project International Symposium, pp. 106-113, IEEE CS
Press, Dec. 1994.
I-right/V $B$G$O!"0J2<$K=R$Y$k;EMM(B1 $B$N;EMM$rMQ$$$F$$$k!#(B
$B;EMM(B1 $B$K$*$1$kM%@hEY7Q>5%;%^%U%)5!G=$G$O!"(B
chg_pri
$B$r;H$o$J$$>l9g$N%?%9%/$NM%@hEY$O!"(B
$B$=$N%?%9%/$N=i4|M%@hEY$H!"(B
$B$=$N%?%9%/$,3MF@$7$F$$$kM%@hEY7Q>5%;%^%U%)$rBT$C$F$$$kCf$G(B
$B:G9bM%@hEY$N%?%9%/$NM%@hEY$H$N!"(B
$B9b$$(B ( $BCM$,>.$5$$(B ) $BJ}$K@_Dj$5$l$k!#(B
$B$=$N$?$a$K(B OS $B$O!"(B
$B%?%9%/$,3MF@$7$F$$$kM%@hEY7Q>5%;%^%U%)$N%j%9%H$r4IM}$7$F$$$k!#(B
$BM%@hEY7Q>5%;%^%U%)$r3MF@(B / $B2rJ|$9$k%?%9%/$NM%@hEY$r(B
chg_pri
$B$K$h$C$FJQ99$7$F$b!"(B
$BM%@hEY7Q>5%;%^%U%)$N5!G=$K$h$C$FM%@hEY$,JQ99$5$l$k$H!"(B
chg_pri
$B$G@_Dj$7$?M%@hEY$OL58z$K$J$k!#(B
$B$D$^$j!"(Bchg_pri
$B$O%?%9%/$N8=:_M%@hEY$r(B
$B0l;~E*$KJQ99$9$k$b$N$H$$$&$3$H$K$J$k!#(B
$BM%@hEY7Q>5%;%^%U%)5!G=$Nchg_pri
$B$,;H$o$l$F$$$k$H9M$($k$o$+$j$d$9$$$+$b$7$l$J$$!#(B
$BM%@hEY7Q>5%;%^%U%)$rBT$C$F$$$k%?%9%/$NM%@hEY$r(B chg_pri
$B$K$h$C$FJQ99$7$?>l9g!"(B
$B$=$NM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$N(B
$BM%@hEY$,:F7W;;!&JQ99$5$l$k>l9g$,$"$k(B
$B6qBNE*$K$O!"
$BM%@hEY$rJQ99$5$l$?%?%9%/$NJQ998e$NM%@hEY$,!"M%@hEY7Q>5%;%^%U%)(B
$B$r3MF@$7$F$$$k%?%9%/$N8=:_M%@hEY$h$j$b9b$$(B ($BCM$,>.$5$$(B) $B>l9g!#(B
$BM%@hEY$,JQ99$5$l$?%?%9%/$NJQ99A0$NM%@hEY$,!"(B
$BM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$NM%@hEY$KEy$7$$>l9g$K!"(B
$B$=$N%?%9%/$NM%@hEY$,:F7W;;$5$l!"(B
$B$=$N7k2LF@$i$l$?CM$,8=:_M%@hEY$HEy$7$/$J$$>l9g!#(B
$B;EMM(B1 $B$G$O!"(Bext_tsk
, exd_tsk
, ter_tsk
$B$K$h$j%?%9%/$,=*N;$9$k>l9g!"(B
$B%?%9%/$,3MF@$7$F$$$?M%@hEY7Q>5%;%^%U%)$O!"(BOS $B$K$h$C$F<+F0E*$K2rJ|$5$l$k!#(B
| vcre_pis |
$BM%@hEY7Q>5%;%^%U%)@8@.(B | ($B5!G=%3!<%I(B: -257) |
|
vcre_pis: Create Priority Inheritance Semaphore
- $B!Z%Q%i%a!<%?![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
T_CPIS* pk_cpis $BM%@hEY7Q>5%;%^%U%)@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_pis(ID pisid, T_CPIS *pk_cpis);
- $B!Z2r@b![(B
vcre_pis
$B$G$O!"(Bpisid
$B$G;XDj$5$l$?(B
ID $BHV9f$r;}$DM%@hEY7Q>5%;%^%U%)$r@8@.$9$k!#(B
$B6qBNE*$K$O!"@8@.$9$k%;%^%U%)$KBP$7$F4IM}%V%m%C%/$r3d$jIU$1!"(B
$B%;%^%U%)$N=i4|CM$r(B 1 $B$K=i4|2=$9$k!#(B
ID$BHV9f$N@5Ii$N07$$$d;HMQ$G$-$J$$HO0O!"(B
$B$=$l$i$N>l9g$N%(%i!<%3!<%I!"3HD%>pJs(B (exinf
)
$B$N07$$$K$D$$$F$O!"B>$NF14|!&DL?.%*%V%8%'%/%H$HF1MM$G$"$k!#(B
pisatr
$B$O!"2<0LB&$,%7%9%F%`B0@-$rI=$7!"(B
$B>e0LB&$,%$%s%W%j%a%s%H0MB8B0@-$rI=$9!#(B
pisatr
$B$N%7%9%F%`B0@-$NItJ,$G$O!"(B
$B
sematr := TA_TPRI
TA_TPRI $BBT$A%?%9%/$N%-%e!<%$%s%0$OM%@hEY=g(B
$BM%@hEY7Q>5%;%^%U%)$G$O!"(B
$BBT$A%?%9%/$N%-%e!<%$%s%0$OM%@hEY=g$G$J$$$H0UL#$,$J$$$?$a!"(B
FIFO $B%-%e!<%$%s%0$OMQ0U$7$F$$$J$$!#(B
$B$=$N$?$a!"(BTA_TPRI
$B$r;XDj$7$J$/$F$b(B
$BM%@hEY=g$N%-%e!<%$%s%0$K$J$k$,!"(B
$BB>$NF14|!&DL?.%*%V%8%'%/%H$H$NE}0l@-$N$?$a$K!"(B
TA_TPRI
$B$r;XDj$7$F$b$h$$$3$H$K$7$F$$$k!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
-
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_RSATR |
$BM=LsB0@-(B(pisatr $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_OBJ |
$B%*%V%8%'%/%H$N>uBV$,IT@5(B
($BF10l(BID$BHV9f$NM%@hEY7Q>5%;%^%U%)$,4{$KB8:_(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
| vvcre_pis |
$BM%@hEY7Q>5%;%^%U%)@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -259) |
|
vvcre_pis: Create Priority Inheritance Semaphore (automatic ID assignment)
- $B!Z%Q%i%a!<%?![(B
T_CPIS* pk_cpis $BM%@hEY7Q>5%;%^%U%)@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?M%@hEY7Q>5%;%^%U%)$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vvcre_pis(T_CPIS *pk_cpis);
- $B!Z2r@b![(B
ID $BHV9f$r;XDj$;$:$KM%@hEY7Q>5%;%^%U%)$r@8@.$7!"(B
$B@8@.$7$?M%@hEY7Q>5%;%^%U%)$N(B ID ($BI,$:@5$NCM(B) $B$r(B
ercd
$B$KJV$9!#(Bercd
$B$,Ii$N>l9g$O!"(B
$B%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bvcre_pis
$B$HF1$8$G$"$k!#(B
| vdel_pis |
$BM%@hEY7Q>5%;%^%U%):o=|(B | ($B5!G=%3!<%I(B: -258) |
|
vdel_pis: Delete Priority Inheritance Semaphore
- $B!Z%Q%i%a!<%?![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vdel_pis(ID pisid);
- $B!Z2r@b![(B
pisid
$B$G<($5$l$?M%@hEY7Q>5%;%^%U%)$r:o=|$9$k!#(B
$BK\%7%9%F%`%3!<%k$NH/9T$K$h$j!"(B
$BBP>]M%@hEY7Q>5%;%^%U%)$N4IM}%V%m%C%/MQ$NNN0h$O2rJ|$5$l$k!#(B
$B$^$?!"$3$N%7%9%F%`%3!<%k$,=*N;$7$?8e$O!"(B
$BF1$8(B ID $BHV9f$NM%@hEY7Q>5%;%^%U%)$r:F$S@8@.$9$k$3$H$,$G$-$k!#(B
$BBP>]M%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$,$"$C$?>l9g!"(B
$B$=$N%?%9%/$NM%@hEY$,:F7W;;!&JQ99$5$l$k>l9g$,$"$k!#(B
$B6qBNE*$K$O!"$=$N%?%9%/$N8=:_M%@hEY$,!"(B
$BM%@hEY7Q>5%;%^%U%)$rBT$C$F$$$kCf$G(B
$B:G9bM%@hEY$N%?%9%/$NM%@hEY$KEy$7$$>l9g$K!"(B
$BM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$?%?%9%/$NM%@hEY$,:F7W;;$5$l!"(B
$B$=$N7k2LF@$i$l$?CM$,$=$N%?%9%/$N8=:_M%@hEY$h$j$bDc$$(B
($BCM$,Bg$-$$(B) $B>l9g$K!"M%@hEY$NJQ99$,9T$o$l$k!#(B
$BBP>]M%@hEY7Q>5%;%^%U%)$K$*$$$F>[email protected])$rBT$C$F$$$k(B
$B%?%9%/$,$"$C$?>l9g$K$b!"(B
$BK\%7%9%F%`%3!<%k$O@5>o=*N;$9$k$,!"(B
$BBT$A>uBV$K$"$C$?%?%9%/$K$O%(%i!<(B E_DLT
$B$,JV$5$l$k!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,B8:_$7$F$$$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
| vsig_pis |
$BM%@hEY7Q>5%;%^%U%);q8;JV5Q(B | ($B5!G=%3!<%I(B: -264) |
|
vsig_pis: Signal Priority Inheritance Semaphore
- $B!Z%Q%i%a!<%?![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vsig_pis(ID pisid);
- $B!Z2r@b![(B
pisid
$B$G<($5$l$?M%@hEY7Q>5%;%^%U%)$KBP$7$F!"(B
$B;q8;$r2rJ|$9$kA`:n$r9T$&!#(B
$B6qBNE*$K$O!"(B
$BBP>]M%@hEY7Q>5%;%^%U%)$KBP$7$F4{$KBT$C$F$$$k%?%9%/$,$"$l$P!"(B
$BBT$A9TNs$N@hF,$N%?%9%/$r(B READY $B>uBV$K0\$9!#(B
$B$3$N>l9g!"$=$NM%@hEY7Q>5%;%^%U%)$O3MF@$5$l$?>uBV$N$^$^$G$"$k!#(B
$B0lJ}!"BP>]M%@hEY7Q>5%;%^%U%)$KBP$7$FBT$C$F$$$k%?%9%/$,L5$1$l$P!"(B
$B$=$NM%@hEY7Q>5%;%^%U%)$,2rJ|$5$l$k!#(B
$B$3$N%7%9%F%`%3!<%k$r%?%9%/FHN)It$+$i8F$S=P$9$3$H$O$G$-$J$$!#(B
$B8F$S=P$7$?>l9g!"(BE_CTX
$B%(%i!<$H$J$k!#(B
$B$^$?!"3MF@$5$l$F$$$J$$!"$J$$$7$O!"(B
$BB>%?%9%/$K3MF@$5$l$F$$$kM%@hEY7Q>5%;%^%U%)$r2rJ|$7$h$&$H$7$?>l9g!"(B
E_OBJ
$B%(%i!<$H$J$k!#(B
$BM%@hEY7Q>5%;%^%U%)$r2rJ|$9$k$3$H$K$h$j!"(B
$BK\%7%9%F%`%3!<%k$NH/9T%?%9%/$NM%@hEY$,:F7W;;!&(B
$BJQ99$5$l$k>l9g$,$"$k!#(B
$B6qBNE*$K$O!"H/9T%?%9%/$N8=:_M%@hEY$,!"(B
$B2rJ|$7$?M%@hEY7Q>5%;%^%U%)$rBT$C$F$$$?Cf$G(B
$B:G9bM%@hEY$N%?%9%/$NM%@hEY$KEy$7$$>l9g$K!"(B
$BH/9T%?%9%/$NM%@hEY$,:F7W;;$5$l!"(B
$B$=$N7k2LF@$i$l$?CM$,$=$N%?%9%/$N8=:_M%@hEY$h$j$bDc$$(B
($BCM$,Bg$-$$(B) $B>l9g$K!"M%@hEY$NJQ99$,9T$o$l$k!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,B8:_$7$F$$$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
E_CTX |
$B%3%s%F%-%9%H%(%i!<(B ($B%?%9%/FHN)It$+$i$NH/9T(B) |
E_OBJ |
$B%*%V%8%'%/%H$N>uBV$,IT@5(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,3MF@$5$l$F$$$J$$!#(B
$B$^$?$O!"B>$N%?%9%/$,3MF@$7$F$$$k(B) |
| vwai_pis |
$BM%@hEY7Q>5%;%^%U%);q8;3MF@(B | ($B5!G=%3!<%I(B: -261) |
|
| vpreq_pis |
$BM%@hEY7Q>5%;%^%U%);q8;3MF@(B ($B%]!<%j%s%0(B) | ($B5!G=%3!<%I(B: -262) |
|
| vtwai_pis |
$BM%@hEY7Q>5%;%^%U%);q8;3MF@(B ($B%?%$%`%"%&%HM-(B) | ($B5!G=%3!<%I(B: -263) |
|
vwai_pis: Wait on Priority Inheritance Semaphore
vpreq_pis: Poll and Request Priority Inheritance Semaphore
vtwai_pis: Wait on Priority Inheritance Semaphore with Timeout
- $B!Z%Q%i%a!<%?(B (vwai_pis, vpreq_pis $B$N>l9g(B) $B![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
- $B!Z%Q%i%a!<%?(B (vtwai_pis $B$N>l9g(B) $B![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
TMO tmout $B%?%$%`%"%&%H;XDj(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd = vwai_pis(ID pisid);
ER ercd =vpreq_pis(ID pisid);
ER ercd =vtwai_pis(ID pisid, TMO tmout);
- $B!Z2r@b![(B
vwai_pis
$B$G$O!"(Bpisid
$B$G<($5$l$?M%@hEY7Q>5%;%^%U%)$+$i!"(B
$B;q8;$r3MF@$9$kA`:n$r9T$&!#(B
$B6qBNE*$K$O!"BP>]M%@hEY7Q>5%;%^%U%)$,3MF@$5$l$F$$$J$$>l9g$K$O!"(B
$BM%@hEY7Q>5%;%^%U%)$N3MF@[email protected]$9$k!#(B
$B$3$N>l9g!"K\%7%9%F%`%3!<%k$NH/9T%?%9%/$OBT$A>uBV$KF~$i$:!"(B
$B]M%@hEY7Q>5%;%^%U%)$,3MF@$5$l$F$$$k>l9g$K$O!"(B
$BK\%7%9%F%`%3!<%k$rH/9T$7$?%?%9%/$OBT$A>uBV$KF~$k!#(B
$B$9$J$o$A!"$=$NM%@hEY7Q>5%;%^%U%)$KBP$9$kBT$A9TNs$K$D$J$,$l$k!#(B
$BK\%7%9%F%`%3!<%k$rH/9T$7$?%?%9%/$,BT$A>uBV$KF~$k>l9g!"(B
$BBP>]M%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$,!"(B
$BH/9T%?%9%/$NM%@hEY$r7Q>5$9$k>l9g$,$"$k!#(B
$B6qBNE*$K$O!"M%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$N8=:_M%@hEY$,!"(B
$BH/9T%?%9%/$N8=:_M%@hEY$h$j$bDc$$(B ($BCM$,Bg$-$$(B) $B>l9g$K!"(B
$BM%@hEY$N7Q>5$,9T$o$l$k!#(B
vpreq_pis
$B$O!"(Bwai_pis
$B$+$iBT$A>uBV$KF~$k5!G=$rvtwai_pis $B$O!"(Bwai_pis
$B$K%?%$%`%"%&%H$N5!G=$rIU$12C$($?%7%9%F%`%3!<%k$G$"$j!"(B
tmout
$B$K$h$jBT$A;~4V$N:GBgCM(B ( $B%?%$%`%"%&%HCM(B )
$B$r;XDj$9$k$3$H$,$G$-$k!#(B
$B%]!<%j%s%0$d%?%$%`%"%&%H$N07$$$K$D$$$F$O!"(B
$BB>$NF14|!&DL?.%*%V%8%'%/%H$HF1MM$G$9!#(B
twai_pis
$B$^$?$O(B vtwai_pis
$B$K$h$C$FM%@hEY7Q>5%;%^%U%)BT$A>uBV$KF~$C$?%?%9%/$,!"(B
rel_wai
$B$NH/9T!"(B
$B%?%$%`%"%&%H(B ( vtwai_pis
$B$N$_(B )$B!"(B
$B$J$$$7$OBP>]M%@hEY7Q>5%;%^%U%)$N:o=|$K$h$C$FBT$A2r=|$5$l$k>l9g$K!"(B
$B$=$NM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$N(B
$BM%@hEY$,:F7W;;!&JQ99$5$l$k>l9g$,$"$k!#(B
$B6qBNE*$K$O!"$=$N%?%9%/$N8=:_M%@hEY$,!"(B
$BBT$A2r=|$5$l$?%?%9%/$NM%@hEY$KEy$7$$>l9g$K!"(B
$BM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$NM%@hEY$,:F7W;;$5$l!"(B
$B$=$N7k2LF@$i$l$?CM$,$=$N%?%9%/$N8=:_M%@hEY$HEy$7$/$J$$>l9g$K!"(B
$BM%@hEY$NJQ99$,9T$o$l$k!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,B8:_$7$F$$$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
E_PAR |
$B%Q%i%a!<%?%(%i!<(B (tmout <= (-2)) |
E_DLT |
$BBT$A%*%V%8%'%/%H$,:o=|$5$l$?(B
($BBT$A$N4V$KBP>]M%@hEY7Q>5%;%^%U%)$,:o=|(B) |
E_RLWAI |
$BBT$A>uBV6/@)2r=|(B ($BBT$A$N4V$K(B rel_wai $B$r |
E_TMOUT |
$B%]!<%j%s%0<:GT$^$?$O%?%$%`%"%&%H(B |
E_CTX |
$B%3%s%F%-%9%H%(%i!<(B ($B%?%9%/FHN)It$^$?$O%G%#%9%Q%C%A6X;_>uBV$G |
| vref_pis |
$BM%@hEY7Q>5%;%^%U%)>uBV;2>H(B | ($B5!G=%3!<%I(B: -260) |
|
vref_pis: Refer Priority Inheritance Semaphore Status
- $B!Z%Q%i%a!<%?![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
T_RPIS* pk_rpis $BM%@hEY7Q>5%;%^%U%)>uBV$rJV$9%Q%1%C%H%"%I%l%9(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
pk_rpis $B$NFbMF(B
VP exinf $B3HD%>pJs(B
BOOL_ID wtsk $BBT$A%?%9%/$NM-L5(B
BOOL_ID pistsk $B3MF@%?%9%/$NM-L5(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vref_pis(T_RPIS *pk_rpis, ID pisid);
- $B!Z2r@b![(B
pisid
$B$G<($5$l$?M%@hEY7Q>5%;%^%U%)$N3FuBV$r;2>H$7!"(B
$B%j%?!<%s%Q%i%a!<%?$H$7$FBT$A%?%9%/$NM-L5(B
(wtsk
)$B!"(B
$B3MF@%?%9%/$NM-L5(B (pistsk
)$B!"(B
$B3HD%>pJs(B(exinf
)$B$rJV$9!#(B
wtsk
$B$O!"(B
$B$3$NM%@hEY7Q>5%;%^%U%)$GBT$C$F$$$k%?%9%/$NM-L5$r<($9!#(B
$BBT$A%?%9%/$,L5$$>l9g$O(B wtsk = FALSE = 0
$B$H$J$k!#(B
$BBT$A%?%9%/$,$"$k>l9g!"(Bwtsk
$B$K$OBT$A9TNs$N@hF,$N%?%9%/$N(B ID $B$rJV$9!#(B
pistsk
$B$O!"(B
$B$3$NM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$NM-L5$r<($9!#(B
$B3MF@%?%9%/$,L5$$>l9g$O(B pistsk = FALSE = 0
$B$H$J$k!#(B
$B3MF@%?%9%/$,$"$k>l9g!"(Bpistsk
$B$K$O3MF@%?%9%/$N(B ID $B$rJV$9!#(B
vref_pis
$B$GBP>]M%@hEY7Q>5%;%^%U%)$,B8:_$7$J$$>l9g$K$O!"(B
E_NOEXS
$B%(%i!<$H$J$k!#(B
$B$I$s$J>l9g$G$b!"(Bwtsk = FALSE
$B$H(Bpistsk != FALSE
$B$N>/$J$/$H$b0lJ}$O@.$jN)$D!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,B8:_$7$F$$$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
$B;EMM(B2 $B$K$*$1$kM%@hEY7Q>5%;%^%U%)5!G=$G$O!"(B
$BM%@hEY7Q>5%;%^%U%)$r2rJ|$7$?>l9g$K!"(B
$B%?%9%/$NM%@hEY$r=i4|M%@hEY$KLa$9!#(B
$B$3$l$O!"B>$NM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k>l9g$K$b0lN'$K9T$o$l$k$N$G!"(B
$BJ#?t$NM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k>l9g$K@5$7$$F0:n$r9T$o$;$k$K$O!"(B
$B3MF@$7$F$$$k$9$Y$F$NM%@hEY7Q>5%;%^%U%)$r(B
$B%G%#%9%Q%C%A6X;_>uBV$G0lEY$K2rJ|$9$kI,MW$,$"$k!#(B
$BM%@hEY7Q>5%;%^%U%)$r3MF@(B/$B2rJ|$9$k%?%9%/$NM%@hEY$r(B chg_pri
$B$K$h$C$FJQ99$7$F$b!"M%@hEY7Q>5%;%^%U%)$N5!G=$K$h$C$FM%@hEY$,JQ99$5$l$k$H!"(B
chg_pri
$B$G@_Dj$7$?M%@hEY$OL58z$K$J$k!#(B
$B$D$^$j!"(Bchg_pri
$B$O%?%9%/$N8=:_M%@hEY$r(B
$B0l;~E*$KJQ99$9$k$b$N$H$$$&$3$H$K$J$k!#(B
$BM%@hEY7Q>5%;%^%U%)5!G=$Nchg_pri
$B$,;H$o$l$F$$$k$H9M$($k$o$+$j$d$9$$$+$b$7$l$J$$!#(B
$BM%@hEY7Q>5%;%^%U%)$rBT$C$F$$$k%?%9%/$NM%@hEY$r(Bchg_pri
$B$K$h$C$FJQ99$7$?>l9g!"(B
$B$=$NM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$NM%@hEY$,:F7W;;!&(B
$BJQ99$5$l$k>l9g$,$"$k!#(B
$B6qBNE*$K$O!"M%@hEY$rJQ99$5$l$?%?%9%/$NJQ998e$NM%@hEY$,!"(B
$BM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$N8=:_M%@hEY$h$j$b9b$$(B
($BCM$,>.$5$$(B) $B>l9g$K!"M%@hEY$NJQ99$,9T$o$l$k!#(B
| vcre_pis |
$BM%@hEY7Q>5%;%^%U%)@8@.(B | ($B5!G=%3!<%I(B: -257) |
|
vcre_pis: Create Priority Inheritance Semaphore
- $B!Z%Q%i%a!<%?![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
T_CPIS* pk_cpis $BM%@hEY7Q>5%;%^%U%)@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vcre_pis(ID pisid, T_CPIS *pk_cpis);
- $B!Z2r@b![(B
vcre_pis
$B$G$O!"(Bpisid
$B$G;XDj$5$l$?(B
ID $BHV9f$r;}$DM%@hEY7Q>5%;%^%U%)$r@8@.$9$k!#(B
$B6qBNE*$K$O!"@8@.$9$k%;%^%U%)$KBP$7$F4IM}%V%m%C%/$r3d$jIU$1!"(B
$B%;%^%U%)$N=i4|CM$r(B 1 $B$K=i4|2=$9$k!#(B
ID $BHV9f$N@5Ii$N07$$$d;HMQ$G$-$J$$HO0O!"(B
$B$=$l$i$N>l9g$N%(%i!<%3!<%I!"3HD%>pJs(B (exinf
)
$B$N07$$$K$D$$$F$O!"B>$NF14|!&DL?.%*%V%8%'%/%H$HF1MM$G$"$k!#(B
pisatr
$B$O!"2<0LB&$,%7%9%F%`B0@-$rI=$7!"(B
$B>e0LB&$,%$%s%W%j%a%s%H0MB8B0@-$rI=$9!#(B
pisatr
$B$N%7%9%F%`B0@-$NItJ,$G$O!"(B
$B
sematr := TA_TPRI
TA_TPRI $BBT$A%?%9%/$N%-%e!<%$%s%0$OM%@hEY=g(B
$BM%@hEY7Q>5%;%^%U%)$G$O!"(B
$BBT$A%?%9%/$N%-%e!<%$%s%0$OM%@hEY=g$G$J$$$H0UL#$,$J$$$?$a!"(B
FIFO $B%-%e!<%$%s%0$OMQ0U$7$F$$$J$$!#(B
$B$=$N$?$a!"(BTA_TPRI
$B$r;XDj$7$J$/$F$b(B
$BM%@hEY=g$N%-%e!<%$%s%0$K$J$k$,!"(B
$BB>$NF14|!&DL?.%*%V%8%'%/%H$H$NE}0l@-$N$?$a$K!"(B
TA_TPRI
$B$r;XDj$7$F$b$h$$$3$H$K$7$F$$$k!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
-
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_RSATR |
$BM=LsB0@-(B(pisatr $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_OBJ |
$B%*%V%8%'%/%H$N>uBV$,IT@5(B
($BF10l(BID$BHV9f$NM%@hEY7Q>5%;%^%U%)$,4{$KB8:_(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
| vvcre_pis |
$BM%@hEY7Q>5%;%^%U%)@8@.(B (ID$B<+F03dEv(B) | ($B5!G=%3!<%I(B: -259) |
|
vvcre_pis: Create Priority Inheritance Semaphore (automatic ID assignment)
- $B!Z%Q%i%a!<%?![(B
T_CPIS* pk_cpis $BM%@hEY7Q>5%;%^%U%)@8@.>pJs(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B@8@.$7$?M%@hEY7Q>5%;%^%U%)$N(BID, $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vvcre_pis(T_CPIS *pk_cpis);
- $B!Z2r@b![(B
ID $BHV9f$r;XDj$;$:$KM%@hEY7Q>5%;%^%U%)$r@8@.$7!"(B
$B@8@.$7$?M%@hEY7Q>5%;%^%U%)$N(B ID ( $BI,$:@5$NCM(B ) $B$r(B
ercd
$B$KJV$9!#(Bercd
$B$,Ii$N>l9g$O!"(B
$B%(%i!<%3!<%I$rI=$9!#(B
$B3d$jEv$F2DG=$J(B ID $B$,$J$$>l9g!"(BEV_FULL
$B%(%i!<$H$J$k!#(B
$B$=$NB>$K$D$$$F$O!"(Bvcre_pis
$B$HF1$8$G$"$k!#(B
| vdel_pis |
$BM%@hEY7Q>5%;%^%U%):o=|(B | ($B5!G=%3!<%I(B: -258) |
|
vdel_pis: Delete Priority Inheritance Semaphore
- $B!Z%Q%i%a!<%?![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vdel_pis(ID pisid);
- $B!Z2r@b![(B
pisid
$B$G<($5$l$?M%@hEY7Q>5%;%^%U%)$r:o=|$9$k!#(B
$BK\%7%9%F%`%3!<%k$NH/9T$K$h$j!"(B
$BBP>]M%@hEY7Q>5%;%^%U%)$N4IM}%V%m%C%/MQ$NNN0h$O2rJ|$5$l$k!#(B
$B$^$?!"$3$N%7%9%F%`%3!<%k$,=*N;$7$?8e$O!"(B
$BF1$8(B ID $BHV9f$NM%@hEY7Q>5%;%^%U%)$r:F$S@8@.$9$k$3$H$,$G$-$k!#(B
$BBP>]M%@hEY7Q>5%;%^%U%)$K$*$$$F>[email protected])$rBT$C$F$$$k(B
$B%?%9%/$,$"$C$?>l9g$K$b!"(B
$BK\%7%9%F%`%3!<%k$O@5>o=*N;$9$k$,!"(B
$BBT$A>uBV$K$"$C$?%?%9%/$K$O%(%i!<(B E_DLT
$B$,JV$5$l$k!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,B8:_$7$F$$$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
| vsig_pis |
$BM%@hEY7Q>5%;%^%U%);q8;JV5Q(B | ($B5!G=%3!<%I(B: -264) |
|
vsig_pis: Signal Priority Inheritance Semaphore
- $B!Z%Q%i%a!<%?![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vsig_pis(ID pisid);
- $B!Z2r@b![(B
pisid
$B$G<($5$l$?M%@hEY7Q>5%;%^%U%)$KBP$7$F!"(B
$B;q8;$r2rJ|$9$kA`:n$r9T$&!#(B
$B6qBNE*$K$O!"(B
$BBP>]M%@hEY7Q>5%;%^%U%)$KBP$7$F4{$KBT$C$F$$$k%?%9%/$,$"$l$P!"(B
$BBT$A9TNs$N@hF,$N%?%9%/$r(B READY $B>uBV$K0\$9!#(B
$B$3$N>l9g!"$=$NM%@hEY7Q>5%;%^%U%)$O3MF@$5$l$?>uBV$N$^$^$G$"$k!#(B
$B0lJ}!"BP>]M%@hEY7Q>5%;%^%U%)$KBP$7$FBT$C$F$$$k%?%9%/$,L5$1$l$P!"(B
$B$=$NM%@hEY7Q>5%;%^%U%)$,2rJ|$5$l$k!#(B
$B$3$N%7%9%F%`%3!<%k$r%?%9%/FHN)It$+$i8F$S=P$9$3$H$O$G$-$J$$!#(B
$B8F$S=P$7$?>l9g!"(BE_CTX
$B%(%i!<$H$J$k!#(B
$B$^$?!"3MF@$5$l$F$$$J$$!"$J$$$7$O!"(B
$BB>%?%9%/$K3MF@$5$l$F$$$kM%@hEY7Q>5%;%^%U%)$r2rJ|$7$h$&$H$7$?>l9g!"(B
E_OBJ
$B%(%i!<$H$J$k!#(B
$BM%@hEY7Q>5%;%^%U%)$r2rJ|$9$k$3$H$K$h$j!"(B
$B%?%9%/$NM%@hEY$O!"I,MW$J>l9g$K=i4|M%@hEY$KLa$5$l$k!#(B
$B6qBNE*$K$O!"%?%9%/$NM%@hEY$,=i4|M%@hEY$h$j$b9b$$>l9g$K$N$_!"(B
$B=i4|M%@hEY$KLa$9=hM}$,9T$o$l$k!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,B8:_$7$F$$$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
E_CTX |
$B%3%s%F%-%9%H%(%i!<(B ($B%?%9%/FHN)It$+$i$NH/9T(B) |
E_OBJ |
$B%*%V%8%'%/%H$N>uBV$,IT@5(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,3MF@$5$l$F$$$J$$!#(B
$B$^$?$O!"B>$N%?%9%/$,3MF@$7$F$$$k(B) |
| vwai_pis |
$BM%@hEY7Q>5%;%^%U%);q8;3MF@(B | ($B5!G=%3!<%I(B: -261) |
|
| vpreq_pis |
$BM%@hEY7Q>5%;%^%U%);q8;3MF@(B ($B%]!<%j%s%0(B) | ($B5!G=%3!<%I(B: -262) |
|
| vtwai_pis |
$BM%@hEY7Q>5%;%^%U%);q8;3MF@(B ($B%?%$%`%"%&%HM-(B) | ($B5!G=%3!<%I(B: -263) |
|
vwai_pis: Wait on Priority Inheritance Semaphore
vpreq_pis: Poll and Request Priority Inheritance Semaphore
vtwai_pis: Wait on Priority Inheritance Semaphore with Timeout
- $B!Z%Q%i%a!<%?(B (vwai_pis, vpreq_pis $B$N>l9g(B) $B![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
- $B!Z%Q%i%a!<%?(B (vtwai_pis $B$N>l9g(B) $B![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
TMO tmout $B%?%$%`%"%&%H;XDj(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd = vwai_pis(ID pisid);
ER ercd =vpreq_pis(ID pisid);
ER ercd =vtwai_pis(ID pisid, TMO tmout);
- $B!Z2r@b![(B
vwai_pis
$B$G$O!"(Bpisid
$B$G<($5$l$?M%@hEY7Q>5%;%^%U%)$+$i!"(B
$B;q8;$r3MF@$9$kA`:n$r9T$&!#(B
$B6qBNE*$K$O!"BP>]M%@hEY7Q>5%;%^%U%)$,3MF@$5$l$F$$$J$$>l9g$K$O!"(B
$BM%@hEY7Q>5%;%^%U%)$N3MF@[email protected]$9$k!#(B
$B$3$N>l9g!"K\%7%9%F%`%3!<%k$NH/9T%?%9%/$OBT$A>uBV$KF~$i$:!"]M%@hEY7Q>5%;%^%U%)$,3MF@$5$l$F$$$k>l9g$K$O!"(B
$BK\%7%9%F%`%3!<%k$rH/9T$7$?%?%9%/$OBT$A>uBV$KF~$k(B
$B$9$J$o$A!"$=$NM%@hEY7Q>5%;%^%U%)$KBP$9$kBT$A9TNs$K$D$J$,$l$k!#(B
$BK\%7%9%F%`%3!<%k$rH/9T$7$?%?%9%/$,BT$A>uBV$KF~$k>l9g!"(B
$BBP>]M%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$,!"(B
$BH/9T%?%9%/$NM%@hEY$r7Q>5$9$k>l9g$,$"$k!#(B
$B6qBNE*$K$O!"M%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$N8=:_M%@hEY$,!"(B
$BH/9T%?%9%/$N8=:_M%@hEY$h$j$bDc$$(B ($BCM$,Bg$-$$(B) $B>l9g$K!"(B
$BM%@hEY$N7Q>5$,9T$o$l$k!#(B
vpreq_pis
$B$O!"(Bwai_pis
$B$+$iBT$A>uBV$KF~$k5!G=$rvtwai_pis $B$O!"(Bwai_pis
$B$K%?%$%`%"%&%H$N5!G=$rIU$12C$($?%7%9%F%`%3!<%k$G$"$j!"(B
tmout
$B$K$h$jBT$A;~4V$N:GBgCM(B ( $B%?%$%`%"%&%HCM(B )
$B$r;XDj$9$k$3$H$,$G$-$k!#(B
$B%]!<%j%s%0$d%?%$%`%"%&%H$N07$$$K$D$$$F$O!"(B
$BB>$NF14|!&DL?.%*%V%8%'%/%H$HF1MM$G$"$k!#(B
twai_pis
$B$^$?$O(B vtwai_pis
$B$K$h$C$FM%@hEY7Q>5%;%^%U%)BT$A>uBV$KF~$C$?%?%9%/$,!"(B
rel_wai
$B$NH/9T!"%?%$%`%"%&%H(B ( vtwai_pis
$B$N$_(B)$B!"(B
$B$J$$$7$OBP>]M%@hEY7Q>5%;%^%U%)$N:o=|$K$h$C$FBT$A2r=|$5$l$?>l9g$G$b!"(B
$B$=$NM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$NM%@hEY$OJQ99$5$l$J$$!#(B
$B$=$N$?$a!"M%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$N(B
$BM%@hEY$,9b$9$.$kCM$K@_Dj$5$l!"$=$N7k2L!"(B
$BBT$A2r=|$5$l$?%?%9%/$Nl9g$,$"$k!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,B8:_$7$F$$$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
E_PAR |
$B%Q%i%a!<%?%(%i!<(B (tmout <= (-2)) |
E_DLT |
$BBT$A%*%V%8%'%/%H$,:o=|$5$l$?(B
($BBT$A$N4V$KBP>]M%@hEY7Q>5%;%^%U%)$,:o=|(B) |
E_RLWAI |
$BBT$A>uBV6/@)2r=|(B ($BBT$A$N4V$K(B rel_wai $B$r |
E_TMOUT |
$B%]!<%j%s%0<:GT$^$?$O%?%$%`%"%&%H(B |
E_CTX |
$B%3%s%F%-%9%H%(%i!<(B ($B%?%9%/FHN)It$^$?$O%G%#%9%Q%C%A6X;_>uBV$G |
| vref_pis |
$BM%@hEY7Q>5%;%^%U%)>uBV;2>H(B | ($B5!G=%3!<%I(B: -260) |
|
vref_pis: Refer Priority Inheritance Semaphore Status
- $B!Z%Q%i%a!<%?![(B
ID pisid $BM%@hEY7Q>5%;%^%U%)(BID
T_RPIS* pk_rpis $BM%@hEY7Q>5%;%^%U%)>uBV$rJV$9%Q%1%C%H%"%I%l%9(B
- $B!Z%j%?!<%s%Q%i%a!<%?![(B
ER ercd $B%(%i!<%3!<%I(B
pk_rpis $B$NFbMF(B
VP exinf $B3HD%>pJs(B
BOOL_ID wtsk $BBT$A%?%9%/$NM-L5(B
BOOL_ID pistsk $B3MF@%?%9%/$NM-L5(B
- $B!Z(BC$B8@8l%$%s%?%U%'!<%9![(B
ER ercd =vref_pis(T_RPIS *pk_rpis, ID pisid);
- $B!Z2r@b![(B
pisid
$B$G<($5$l$?M%@hEY7Q>5%;%^%U%)$N3FuBV$r;2>H$7!"(B
$B%j%?!<%s%Q%i%a!<%?$H$7$FBT$A%?%9%/$NM-L5(B
(wtsk
)$B!"(B
$B3MF@%?%9%/$NM-L5(B (pistsk
)$B!"(B
$B3HD%>pJs(B (exinf
) $B$rJV$9!#(B
wtsk
$B$O!"(B
$B$3$NM%@hEY7Q>5%;%^%U%)$GBT$C$F$$$k%?%9%/$NM-L5$r<($9!#(B
$BBT$A%?%9%/$,L5$$>l9g$O(B wtsk = FALSE = 0
$B$H$J$k!#(B
$BBT$A%?%9%/$,$"$k>l9g!"(Bwtsk
$B$K$OBT$A9TNs$N@hF,$N%?%9%/$N(B ID $B$rJV$9!#(B
pistsk
$B$O!"(B
$B$3$NM%@hEY7Q>5%;%^%U%)$r3MF@$7$F$$$k%?%9%/$NM-L5$r<($9!#(B
$B3MF@%?%9%/$,L5$$>l9g$O(B pistsk = FALSE = 0
$B$H$J$k!#(B
$B3MF@%?%9%/$,$"$k>l9g!"(Bpistsk
$B$K$O3MF@%?%9%/$N(B ID $B$rJV$9!#(B
vref_pis
$B$GBP>]M%@hEY7Q>5%;%^%U%)$,B8:_$7$J$$>l9g$K$O!"(B
E_NOEXS
$B%(%i!<$H$J$k!#(B
$B$I$s$J>l9g$G$b!"(Bwtsk = FALSE
$B$H(Bpistsk != FALSE
$B$N>/$J$/$H$b0lJ}$O@.$jN)$D!#(B
- $B!Z%(%i!<%3!<%I(B(ercd)$B![(B
E_OK |
$B@5>o=*N;(B |
E_ID |
$BIT@5(BID$BHV9f(B(pisid $B$,IT@5$"$k$$$OMxMQ$G$-$J$$(B) |
E_NOEXS |
$B%*%V%8%'%/%H$,B8:_$7$F$$$J$$(B
(pisid $B$NM%@hEY7Q>5%;%^%U%)$,B8:_$7$F$$$J$$(B) |
E_OACV |
$B%*%V%8%'%/%H%"%/%;%98"0cH?(B
($B%7%9%F%`%*%V%8%'%/%H$r%"%/%;%9$9$k8"Mx$r(B
$B;}$?$J$$4D6-$+$i$NH/9T$G(B pisid < (-4)) |
$B$3$N>O$NL\
$BA0JG(B:$BBh(B2$B>O(B I-right/V $B$N35MW$K$b$I$k(B
$BO(B ITRON$B3HD%5!G=$K$9$9$`(B