QNXãªã¢ã«ã¿ã€ã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«é¢ããäžé£ã®æ³šæäºé
ã®ç¶ãã ä»åã¯ãQNX6ã§ã®ã¹ã¬ããã¹ã±ãžã¥ãŒãªã³ã°ã«ã€ããŠèª¬æããããšæããŸã
* ã èªè
ïŒ ã·ãªãŒãºã®åã®èšäº
ãèªãã èªè
ïŒãæ¢ã«ç¥ã£ãŠããããã«ãQNX6ãã€ã¯ãã«ãŒãã«ã¯ããã»ã¹ã§ã¯ãªãã¹ã¬ãããå¶åŸ¡ããŸãã ãããŠã次ã®ç¬éã«å¶åŸ¡ãåãåãã¹ãã¹ã¬ããã®ã³ã³ããã¹ããããŒãããã®ã¯ãã€ã¯ãã«ãŒãã«ã§ãã ããã»ããµã«ãã£ãŠå®è¡ãããïŒã€ãŸããããã»ããµæéãç©æ¥µçã«äœ¿çšããïŒã¹ã¬ããã®éžæã¯ãã¹ã¬ããã®ã¹ã±ãžã¥ãŒãªã³ã°ã§ãã
ã¹ã¬ããã®ã¹ã±ãžã¥ãŒãªã³ã°ãçºçãããšã
QNX Neutrinoãã€ã¯ãã«ãŒãã«ã¯ç¶ç¶çã«åäœããŸããããã·ã¹ãã ã³ãŒã«ãäŸå€ãããã³å²ã蟌ã¿ã®å Žåã«ã®ã¿å¶åŸ¡ãåãåããŸãã ãŸããäœæ¥äžã®å°æ žã¯ãããŒèšç»ãå®è¡ããŸãã ãã®ããšãããã¹ã±ãžã¥ãŒãªã³ã°ãããŒã®æäœã¯ããèªäœã§ã¯ãªããäœããã®ã€ãã³ãã«ãã£ãŠçºçãããšããæ£ããçµè«ãäžãããšãã§ããŸãã
å®éããã®ãããªã€ãã³ãã¯ã»ãšãã©ãããŸããã
- æ··ã¿åã£ãŠããŸãã çŸåšå®è¡äžã®ã¹ã¬ãããããé«ãåªå
床ãæã€ã¹ã¬ãããæºåå®äºç¶æ
ïŒREADYïŒã«ãªã£ãå Žåããã€ã¯ãã«ãŒãã«ã¯çŸåšå®è¡äžã®ã¹ã¬ãããåæ¢ããã³ã³ããã¹ããåãæ¿ããããé«ãåªå
床ã§ã¹ã¬ãããéå§ããŸãã 以åã«å®è¡ãããŠããã¹ã¬ããã¯ãå®è¡ãã¥ãŒã®æåã«æ®ããŸãã
- ããããã³ã°ã å®è¡äžïŒã€ãŸããæäœäžïŒã«ã¹ã¬ããããããã¯ãåŒãèµ·ããé¢æ°ãåŒã³åºãå ŽåããããŸãã ããšãã°ãã·ã¹ãã é¢æ°
MsgSend()
ã䜿çšããŠïŒçŽæ¥çãŸãã¯éæ¥çã«ïŒã»ããã©ã®ãã£ããã£ãŸãã¯ã¡ãã»ãŒãžã®éä¿¡ãè©Šã¿ãŸãã ãã®å Žåãã«ãŒãã«ã¯ãã®ãããªããã»ã¹ãå®è¡ãã¥ãŒããåé€ããå¶åŸ¡ãå¥ã®ã¹ã¬ããã«è»¢éããŸãã - å²ãåœãŠ ïŒã³ã³ãããŒã«ã®è²æž¡ãåçïŒã ã¹ã¬ããã¯ã
sched_yield()
é¢æ°ãåŒã³åºããšãå¶åŸ¡ãèªçºçã«è»¢éã§ããŸãã ãã®å Žåãã¹ã¬ããã¯å®è¡ãã¥ãŒã®æåŸã«é
眮ããããã€ã¯ãã«ãŒãã«ã¯å¶åŸ¡ãå¥ã®ã¹ã¬ããïŒå¶åŸ¡ãäžããã°ããã®ã¹ã¬ããïŒã«è»¢éããŸãã
èšç»ã«åœ±é¿ãããããŒãã©ã¡ãŒã¿
QNX Neutrinoãã€ã¯ãã«ãŒãã«ã®äž»ãªæ©èœã®1ã€ïŒ
ããã³ã¡ãã»ãŒãžã³ã°åŸã®ããããæãéèŠãªæ©èœïŒã¯ãã¹ã¬ããã¹ã±ãžã¥ãŒãªã³ã°ã§ãã ã³ã³ããã¹ããåãæ¿ããŠã次ã®æç¹ã§å®è¡ããã¹ã¬ãããéžæããã®ã¯ãã€ã¯ãã«ãŒãã«ã§ãã ãã€ã¯ãã«ãŒãã«ã¯ãããããã¹ãŠåæ§ã«è¡ãã®ã§ã¯ãªããå·ŠããŒã«ã®èŠæ±ã§ã¯ãªãã次ã®ãããŒãã©ã¡ãŒã¿ã«åºã¥ããŠè¡ããŸãã
- ã¹ããªãŒã ã®åªå
床 ïŒã¹ããªãŒã ã®åªå
床ã¬ãã«ïŒã QNX6 RTOSã®åã¹ã¬ããã¯ãç¹å®ã®åªå
床ã§å®è¡ãããŸãã åªå
床ãé«ãã»ã©ãã¹ã¬ãããæåã«ããã»ããµãååŸããå¯èœæ§ãé«ããªããŸãã ã·ã¹ãã ã«READYç¶æ
ïŒå®è¡æºåå®äºïŒã®ã¹ã¬ããã2ã€ä»¥äžããå Žåããã€ã¯ãã«ãŒãã«ã¯åªå
床ã®é«ãã¹ã¬ããã«å¶åŸ¡ã移ããŸãã
- èšç»ã®èŠåŸã ã·ã¹ãã å
ã®åã¹ã¬ããã¯ãç¹å®ã®èšç»èŠåŸã§å®è¡ãããŸãã ã·ã¹ãã å
ã«åãåªå
床ã§å®è¡ãããŠããREADYç¶æ
ã®ã¹ã¬ããã2ã€ä»¥äžããå Žåããã€ã¯ãã«ãŒãã«ã¯èšç»ã®èŠåŸãèæ
®ããŸãã
ã¹ã¬ããã®åªå
é äœã¯ãã¹ãŒããŒãŠãŒã¶ãŒã¹ã¬ããïŒ
rootãšããŠå®è¡ïŒã®å Žåã¯
0ã255ã®ç¯å²ã®æ°å€ã§ãããéåžžã®ãŠãŒã¶ãŒã¹ã¬ããã®å Žåã¯
0ã63ã§ãã ããŒãã€ã¡ãŒãžãæºåãããšãã«ãå¹³åçãªãŠãŒã¶ãŒãå©çšã§ããåªå
é äœã®ç¯å²ãå€æŽã§ããŸãã ãããè¡ãã«ã¯ã
procnto
-p
ãªãã·ã§ã³ãæå®ããŸãã ãŒãïŒæäœïŒã®åªå
床ã§ã¯ã
idle
ã¹ã¬ãããå®è¡ãããã·ã¹ãã ã«READYç¶æ
ã§ããé«ãåªå
床ã®ã¹ã¬ããããªããªããšãåžžã«å¶åŸ¡ãè¡ãããããšã«æ³šæããŠãã ããã
QNX6ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ã
FIFO ãã«ã«ãŒã»ã«ïŒãµã€ã¯ãªãã¯ãã©ãŠã³ãããã³ãRRïŒããã³æ£çºçãª
**ã®è€æ°ã®ãããŒãã©ã³ãã³ã°ã®åéããµããŒãããŠããŸãã ãã®ã¹ã¬ããå±æ§ã¯ããã€ã¯ãã«ãŒãã«ãåãåªå
床ã¬ãã«ã®ã¹ã¬ããããéžæããå¿
èŠãããå Žåã«
ã®ã¿èæ
®ãããŸãã èšç»åéã«ã€ããŠã¯åŸè¿°ããŸãã
ã¹ã€ããã³ã°ãããŒã®é åºã«åœ±é¿ããå¥ã®èŠå ããããŸãã ããã»ããµãå®è¡ããŠäœ¿çšããæºåãã§ããŠãããã¹ãŠã®ã¹ã¬ããïŒREADYç¶æ
ã®ã¹ã¬ããïŒã¯ãã¥ãŒã«å
¥ããããŸãã ã·ã¹ãã ã«ã¯
256åã®ãã®ãããªãã¥ãŒããããŸãïŒåªå
床ã®æ°ã«ããïŒã ãã¹ãŠãçããããã€ã¯ãã«ãŒãã«ãåãåªå
床ã¬ãã«ãæã€2ã€ã®ã¹ã¬ããããéžæããå¿
èŠãããå Žåããã¥ãŒã®æåã®ã¹ã¬ãããå®è¡ãéå§ããŸãã ç¹°ãè¿ããŸãããã¹ããªãŒã ã®æ··éãåªå
ããããšããã¥ãŒã®æåã«é
眮ãããå²ãåœãŠæã«ïŒ
sched_yield()
åŒã³åºãããšã«ããïŒãã¹ããªãŒã ã¯ãã¥ãŒã®æåŸã«ãªããŸãã
FIFOèšç»èŠåŸ
ãããŒã«FIFOã¹ã±ãžã¥ãŒãªã³ã°èŠåïŒå
å
¥ãå
åºããå
å
¥ãå
åºãïŒãæå®ãããŠããå Žåãå¿
èŠãªéãå®è¡ã§ããŸãã å¶åŸ¡ãå¥ã®ã¹ã¬ããã«ç§»ãã®ã¯ãã¹ã¬ãããåªå
床ã®é«ãã¹ã¬ããã«åã£ãŠä»£ãããããããããã¯ãããããèªçºçã«å¶åŸ¡ãæŸæ£ããå Žåã®ã¿ã§ãã ãã®èšç»èŠåŸã䜿çšãããšãé·æéã®æ°åŠçèšç®ãå®è¡ããã¹ã¬ããã¯ããã»ããµãå®å
šã«ãã£ããã£ã§ããŸãïŒã€ãŸããåãåªå
床ãšäœãåªå
床ã®ã¹ã¬ããã¯èš±å¯ãããŸããïŒã
ã«ã«ãŒã»ã«èšç·Žèšç»
ãã®èšç»èŠåŸã¯FIFOã«å®å
šã«äŒŒãŠããŸãããã¹ã¬ããããééãªããå®è¡ããããç¹å®ã®ã¿ã€ã ã¹ãããïŒã¿ã€ã ã¹ã©ã€ã¹ïŒã§ã®ã¿æ©èœããç¹ãç°ãªããŸãã ã¿ã€ã ã¯ã©ã³ã¿ã ãçµäºãããšãå°æ žã¯ããã»ã¹ãå®è¡å¯èœãªã¹ã¬ããã®ãã¥ãŒã®æåŸã«é
眮ããå¶åŸ¡ã¯æ¬¡ã®ã¹ã¬ããïŒåãåªå
床ã¬ãã«ïŒã«è»¢éãããŸãã ãã®åªå
床ã¬ãã«ã§READYç¶æ
ã®ä»ã®ã¹ã¬ãããååšããªãå Žåãå¥ã®ã¹ã¬ããã«ã¿ã€ã ã¹ã©ã€ã¹ãå²ãåœãŠãããŸãã
æäœã®ã¹ã±ãžã¥ãŒãªã³ã°ã®ã«ã«ãŒã»ã«èŠåã§ã¹ã¬ããã«å²ãåœãŠãããæéã®éã¯ã
sched_rr_get_interval()
é¢æ°ã䜿çšããŠæ±ºå®ã§ããŸãã å®éãã¿ã€ã ã¹ã©ã€ã¹ã¯ticksizeã®ã¡ããã©4åã§ãã åæ§ã«ãã¯ããã¯ééã¯ã40MHz以äžã®ããã»ããµãæèŒããã·ã¹ãã ã§ã¯1msãäœéã®ããã»ããµãæèŒããã·ã¹ãã ã§ã¯10msã§ã
*** ã éåžžã®x86ã³ã³ãã¥ãŒã¿ãŒããã³ã©ãããããã§ã¯ãã¿ã€ã ã¯ã©ã³ã¿ã ã¯4ããªç§ã§ãã
æ£çºçãªèšç»èŠåŸ
FIFOã¹ã±ãžã¥ãŒãªã³ã°ã®ããã«ãæ£çºçãªã¹ã±ãžã¥ãŒãªã³ã°ãé©çšãããã¹ã¬ããã¯ããããã¯ãããããããé«ãåªå
床ã®ã¹ã¬ããã«çœ®ãæãããããŸã§å®è¡ãããŸãã ããã«ãé©å¿èšç»ã®å Žåãšåæ§ã«ãæ£çºçãªèšç»ãé©çšããããããŒã®åªå
é äœã¯äœããªããŸãã ãã ããæ£çºçãªèšç»ã§ã¯ããããŒå¶åŸ¡ã倧å¹
ã«æ£ç¢ºã«ãªããŸãã
æ£çºçãªèšç»ã§ã¯ãã¹ã¬ããã®åªå
床ã¯ããã©ã¢ã°ã©ãŠã³ãã®åªå
床ïŒãã©ã¢ã°ã©ãŠã³ããéåžžã®åªå
床ïŒãšããã¯ã°ã©ãŠã³ãïŒäœãïŒåªå
床ã®éã§åçã«å€æŽã§ããŸãã ãã®æ£çºçãªé·ç§»ãå¶åŸ¡ããã«ã¯ã次ã®ãã©ã¡ãŒã¿ãŒã䜿çšããŸãã
- ã¹ã¬ããã®åæäºç®ïŒåæäºç®ïŒïŒCïŒ-äœãåªå
床ïŒLïŒãååŸããåã«ã¹ã¬ãããéåžžã®åªå
床ïŒNïŒã§å®è¡ã§ããæéã
- äœåªå
床 ïŒLïŒ-ã¹ããªãŒã ã®åªå
床ãäžããåªå
床ã¬ãã«ã åªå
床ïŒLïŒãäœããšãã¹ã¬ããã¯ããã¯ã°ã©ãŠã³ãã§å®è¡ãããŸãã ã¹ã¬ããã«éåžžã®åªå
床ïŒNïŒãããå Žåããã©ã¢ã°ã©ãŠã³ãã®åªå
床ã§å®è¡ãããŸãã
- è£å
æéïŒTïŒ-ã¹ã¬ãããå®è¡äºç®ãè²»ããããšãã§ããæéã
- çŸåšã®è£å
ã®æ倧æ°ïŒä¿çäžã®è£å
ã®æ倧æ°ïŒ-ãã®å€ã¯ãå®è¡ãããè£å
æäœã®æ°ã«å¶éãèšå®ããããã«ãã£ãŠæ£çºçãªèšç»ã®åéã«å²ãåœãŠãããã·ã¹ãã ãªãœãŒã¹ã®éãå¶éããŸãã
å³ãããããããã« å³1 ïŒãã¹ã¬ãããæºåå®äºç¶æ
ã«ãªã£ãç¬éããã«ãŠã³ããããŸãã

å³ 1.
ãããŒå®è¡æéã®è£å
ã¯å®æçã«çºçããŸãéåžžã®åªå
床Nã§ã¯ãã¹ã¬ããã¯åæå®è¡äºç®Cã§èšå®ãããæéå®è¡ãããŸãããã®æéãçµäºãããšãè£å
æäœãçºçãããŸã§ã¹ã¬ããã®åªå
床ã¯äœã¬ãã«Lã«äžããããŸãã
ããšãã°ããããŒã決ããŠãããã¯ãŸãã¯äžæãããªãã·ã¹ãã ãæ³åããŠãã ãã-å³ 2ã

å³ 2.
ã¹ã¬ããã®
åªå
床ã¯ãå®è¡äºç®ãè£å
ããããŸã§äœäžããŸãããã®å Žåãã¹ã¬ããã¯ããäœãåªå
床ïŒããã¯ã°ã©ãŠã³ãã¢ãŒãïŒã®ã¬ãã«ã«ç§»åãããã®å®è¡ã¯ã·ã¹ãã å
ã®ä»ã®ã¹ã¬ããã®åªå
床ã«äŸåããŸãã
è£å
ãçºçãããšããã«ããããŒã®åªå
床ãåæã¬ãã«ã«äžãããŸãã ãããã£ãŠãé©åã«æ§æãããã·ã¹ãã ã§ã¯ãã¹ã¬ããã¯æéCããšã«æ倧æéCå®è¡ãããŸããããã«ãããåªå
床Nã§å®è¡ããããã¹ãŠã®ã¹ã¬ãããã·ã¹ãã ãªãœãŒã¹ã®C / TããŒã»ã³ãã®ã¿ã䜿çšããŸãã
ã¹ã¬ãããæ°åãããã¯ããããšãç°ãªãæç¹ã§è€æ°ã®è£å
æäœãçºçããå¯èœæ§ããããŸãã ããã¯ãæéTå
ã®ãããŒå®è¡äºç®ãCã®å€ã«éããããšãæå³ããå ŽåããããŸãã ãã ãããã®æéäžãäºç®ã¯ç¶ç¶çã§ãªãå ŽåããããŸãã

å³ 3.
ãããŒã®
åªå
床ã¯ãé«ãšäœã®éã§ç°ãªããŸãå³ å³3ã¯ã40ããªç§ã®è£å
æéTããšã«ãã¹ããªãŒã Cã®å®è¡ã®äºç®ã10ããªç§ã§ããããšã瀺ããŠããŸãã
- ãããŒã¯3ããªç§åŸã«ãããã¯ãããããã3ããªç§ã®è£å
æäœã¯40ããªç§ã§å®è¡ãããããã«ã¹ã±ãžã¥ãŒã«ãããŸãã ãã®æç¹ã§ãæåã®è£å
æéã®å®äºã
- ãããŒã®å®è¡ã¯6ããªç§ã§åéãããã®ç¬éã¯æ¬¡ã®è£å
æéTã®å§ãŸãã瀺ããŸãããããŒå®è¡ã®äºç®ã«ã¯ãŸã 7ããªç§ã®ããŒãžã³ããããŸãã
- ãããŒã¯ãããã¯ããã«7ããªç§éå®è¡ããããã®çµæããããŒå®è¡ããžã§ããã䜿ãæãããããããŒã®åªå
床ãã¬ãã«Lã«äœäžããŸããã¬ãã«Lã§ã¯ãå¶åŸ¡ãååŸã§ããããŸãã¯ååŸã§ããŸããã 46ããªç§ïŒ40 + 6ïŒã«7ããªç§ã®è£å
ãèšç»ãããŠããŸãã æéTã®åŸ
- 40ããªç§ã§ããããŒããžã§ããã3ããªç§è£å
ãããŸãïŒå³ã®ã¹ããã1ãåç
§ïŒããã®çµæããããŒã®åªå
床ã¯éåžžã«äžæããŸãã
- ã¹ã¬ããã¯äºç®ã®3ããªç§ãè²»ãããŠãããåªå
床ã®äœãæ¹ã«åãæ¿ããŸãã
- 46ããªç§ã§ãã¹ã¬ããããžã§ããã7ããªç§è£å
ããïŒã¹ããã3ãåç
§ïŒãã¹ã¬ããã¯åã³éåžžã®åªå
é äœãåãåããŸãã
ãªã©ãªã©ã ãããã£ãŠã2ã€ã®åªå
床ã¬ãã«éã移åããã¹ããªãŒã ã¯ãã·ã¹ãã å
ã®éåšæçãªã€ãã³ããäºæž¬å¯èœãã€å¶åŸ¡å¯èœã«åŠçããŸãã
ããã°ã©ã ããèšç»ã®åªå
é äœãšèŠåŸãèšå®ããæ¹æ³
èµ·åæã®åã¹ã¬ããã¯ã芪ã¹ã¬ããããåªå
é äœãšèšç»èŠåŸãç¶æ¿ããŸãã æäœäžã«ãã¹ã¬ããã¯ãããã®å±æ§ãå€æŽããå ŽåããããŸãã ãã®ç®çã®ããã«ãQNX6ã«ã¯æ¬¡ã®æ©èœããããŸãã
ããã»ã¹å
šäœã§ã¯ãªããåå¥ã®ã¹ã¬ãããèšç»ããåªå
é äœãšèŠåŸãååŸãŸãã¯èšå®ããã«ã¯ãé¢æ°
SchedGet()
ããã³
SchedSet()
䜿çšã§ããŸãã
ã¡ãã£ãšãã管ç
ååã®æçš¿ã§ãç§ã¯ãã§ã«
pidin
ã³ãã³ãã«ã€ããŠèšåããŸããã ä»åã¯ãQNXã«åºæã®2ã€ã®ããŒã ã«äŒããŸãã ãã¹ãŠã®QNX6管çè
ã¯ããããã®ã³ãã³ããç¥ã£ãŠããã䜿çšã§ããå¿
èŠããããŸãã ãããŠãããããæãéèŠãªã³ãã³ãã¯
use
ã§ãã
use
ãŠãŒãã£ãªãã£ã¯ãäœããã®æ¹æ³ã§
man
ã³ãã³ãã«é¡äŒŒããŠããŸãã ãã®ãŠãŒãã£ãªãã£ã䜿çšãããšãå®è¡å¯èœã¢ãžã¥ãŒã«ïŒãã€ããªå®è¡å¯èœãã¡ã€ã«ãã¹ã¯ãªããããŸãã¯å
±æã©ã€ãã©ãªïŒã«é¢ãããã«ããååŸã§ããŸãã
use
ã®ååã¯ã
man
use
å€å°ç°ãªã
use
ãã¹ãŠã®ãã«ãæ
å ±ã¯ãåå¥ã§ã¯ãªããå®è¡å¯èœã¢ãžã¥ãŒã«èªäœã«ä¿åãããŸãã ã³ãã³ãã¯ãéåžžã«åçŽã«ãããšãã°æ¬¡ã®ããã«åŒã³åºãããŸãã
# use sleep sleep - suspend execution for an interval (POSIX) sleep time Where: time is the number of seconds to sleep and can be a non-negative floating point number (0 <= time <= 4294967295).
ãŠãŒãã£ãªãã£ãŠãŒãã£ãªãã£ã¯ãã³ãã³ãã®æäœã«é¢ããå°ããªãã«ãã衚瀺ããŸã;å®å
šãªèª¬æã¯ãã«ãã·ã¹ãã ã§å©çšå¯èœã§ãã
ãã¹ãŠã®èªå°å¿ã®ããQNX6管çè
ã®æŠåšã«ãªããªããã°ãªããªããã1ã€ã®äŸ¿å©ãªã³ãã³ãã¯
pidin
ã§ãã ãã®ãŠãŒãã£ãªãã£ã¯ãå®è¡ã¹ã¬ãããããã»ã¹ãªã©ãã·ã¹ãã ã«é¢ããããŸããŸãªçš®é¡ã®æ
å ±ãæäŸããŸãïŒãã®å ŽåããŠãŒãã£ãªãã£ã¯
ps
ãŠãŒãã£ãªãã£ã«äŒŒãŠããŸãïŒã ããšãã°ãã·ã¹ãã ã«é¢ããäžè¬æ
å ±ã衚瀺ããã«ã¯ã次ã®ã³ãã³ããå®è¡ããå¿
èŠããããŸãã
# pidin in CPU:X86 Release:6.5.0 FreeMem:166Mb/255Mb BootTime:Jul 05 15:53:27 MSKS 2011 Processes: 43, Threads: 107 Processor1: 131758 Pentium II Stepping 5 2593MHz FPU
ãã©ã¡ãŒã¿ãªãã§ãŠãŒãã£ãªãã£ãåŒã³åºããšããã¹ãŠã®ããã»ã¹ãšã¹ã¬ããã«é¢ããæ
å ±ã衚瀺ãããŸãã 察象ã®ããã»ã¹ã«é¢ããæ
å ±ãååŸããã«ã¯ãããšãã°ã
-P
ã¹ã€ãããæå®ããã ãã§ãã
# pidin -P io-audio pid tid name prio STATE Blocked 90127 1 sbin/io-audio 10o SIGWAITINFO 90127 2 sbin/io-audio 10o RECEIVE 1 90127 3 sbin/io-audio 10o RECEIVE 1 90127 4 sbin/io-audio 10o RECEIVE 1 90127 5 sbin/io-audio 50r INTR 90127 6 sbin/io-audio 50r RECEIVE 7
ããã»ã¹ãã¡ã¢ãªã䜿çšããæ¹æ³ã確èªããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã
䜿çšãããŠããå
±æã©ã€ãã©ãªã«é¢ããæ
å ±ã衚瀺ãããŸãã ç§ã®æèŠã§ã¯ããšãŠã䟿å©ã§ãã
pidin
ãŠãŒãã£ãªãã£ã¯ãå€ãã®ã³ãã³ããšãªãã·ã§ã³ããµããŒãããŠããŸãã
pidin
ãªã¹ããšèª¬æã¯ãQNXãã«ãã·ã¹ãã ã«ãããŸãã
ãããŠãæåŸã§ã¯ãããã䟡å€ã§ã¯ãªãã
slay
ãŠãŒãã£ãªãã£ã§ãã ãæ³åã®ãšããããã®ã³ãã³ãã¯ããã»ã¹ã«ã·ã°ãã«ãéä¿¡ããããã«äœ¿çšãããŸãã ããã©ã«ãã§ã¯ãSIGTERMã·ã°ãã«ãéä¿¡ãããéåžžã¯ããã»ã¹ã®çµäºã«ã€ãªãããŸãã ããã»ã¹ã«éä¿¡ããå¿
èŠãããå¥ã®ã·ã°ãã«ãæå®ã§ããŸãã ãã®äœ¿çšæ³ã§ã¯ã
slay
killã³ãã³ãã«äŒŒãŠããŸãããæãèå³æ·±ãããšã«ã
slayã³ãã³ãã¯ããã»ã¹èå¥åïŒPIDïŒã ãã§ãªããããã»ã¹ã®ååãåãå
¥ããŸãã ããã¯ç®¡çã«ãéåžžã«äŸ¿å©ã§ãã ä¿¡å·ã®éä¿¡ã«å ããŠããŠãŒãã£ãªãã£ã䜿çšããŠãããã»ã¹èšç»ã®åªå
é äœãŸãã¯èŠåŸãå€æŽã§ããŸãã åäžã®ã¹ããªãŒã ã®ç¹æ§ãå€æŽããå Žåã¯ã
-T
ã¹ã€ãããæå®ã§ããŸãã 次ã®ããã€ãã®ã³ãã³ãã¯ã3ã€ã®
io-audio
ããã»ã¹ã¹ã¬ããã®ã¹ã±ãžã¥ãŒãªã³ã°ã®åªå
é äœãšèŠåŸãå€æŽããŸãã
[22:47:33 root]# pidin -P io-audio pid tid name prio STATE Blocked 90127 1 sbin/io-audio 10o SIGWAITINFO 90127 2 sbin/io-audio 10o RECEIVE 1 90127 3 sbin/io-audio 10o RECEIVE 1 90127 4 sbin/io-audio 10o RECEIVE 1 90127 5 sbin/io-audio 50r INTR 90127 6 sbin/io-audio 50r RECEIVE 7 [22:47:36 root]# slay -T 3 -P 11r io-audio [22:47:38 root]# pidin -P io-audio pid tid name prio STATE Blocked 90127 1 sbin/io-audio 10o SIGWAITINFO 90127 2 sbin/io-audio 10o RECEIVE 1 90127 3 sbin/io-audio 11r RECEIVE 1 90127 4 sbin/io-audio 10o RECEIVE 1 90127 5 sbin/io-audio 50r INTR 90127 6 sbin/io-audio 50r RECEIVE 7
slay
ãŠãŒãã£ãªãã£ã®è©³çŽ°ãªèª¬æã¯ãQNXãã«ãã·ã¹ãã ã«ãããŸãã
念ã®ãããQNX6ã«ã¯ããªãã¿ã®UNIX
ps
ãš
kill
ãŠãŒãã£ãªãã£ããããŸãã ãã ããQNX6ã䜿çšããæ¹ãã
pidin
ã
pidin
ãããã¯ããã«äŸ¿å©ã§ãã ã·ã¹ãã ã®è©³çŽ°ãèæ
®ããŸãã
ãããã«
ãã®èšäºãèªãã åŸãQNX6ã®ã¹ã¬ããã¹ã±ãžã¥ãŒãªã³ã°ã®ã¢ã€ãã¢ãèšç»ã®åªå
é äœãšåéãã·ã¹ãã æ©èœãšããã»ã¹ãšã¹ã¬ããã管çããããã®ãŠãŒãã£ãªãã£ã«é¢ããååãªç¥èãåŸãããŸããã QNXã«ã¯ãèå³æ·±ãæè¡ã§ããã¢ãããã£ãããŒãã£ã·ã§ãã³ã°ïŒé©å¿å解ïŒããããŸããããã«ãããããã»ã¹ã®ã°ã«ãŒãã圢æãããããã«CPUæéã®å²åãå²ãåœãŠãããšãã§ããŸãã ãã¹ãŠãçµ±åããªãããã«ããã®æè¡ã次ã®ã¡ã¢ã®ããããã§èª¬æããŸãã
åç
§è³æ
- ãªã¢ã«ã¿ã€ã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã QNX Neutrino 6.3ã ã·ã¹ãã ã¢ãŒããã¯ãã£ã ISBN 5-94157-827-X
- ãªã¢ã«ã¿ã€ã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã QNX Neutrino 6.3ã ãŠãŒã¶ãŒããã¥ã¢ã«ã ISBN 978-5-9775-0370-9
- Rob KrtenããQNX Neutrinoã®çŽ¹ä»2.ãªã¢ã«ã¿ã€ã ã¢ããªã±ãŒã·ã§ã³éçºè
åãã¬ã€ããã第2çã ISBN 978-5-9775-0681-6
*ãã®èšäºã®QNX6ã¯QNX 6.5.0ãæããŸãã QNX Neutrinoã«ãŒãã«ã¯æ¬¡ã®ããŒãžã§ã³ã®ããããã§å€æŽã§ãããããããã§èª¬æãããããŒãã©ã³ãã³ã°ã¡ã«ããºã ã¯å€æŽãããå¯èœæ§ããããŸãã** QNX6ã«ã¯ãã©ãŠã³ãããã³ïŒã©ãŠã³ãããã³ãRRãrïŒãšåãå¥ã®èšç»èŠåŸïŒOTHERãoïŒããããŸãã***ã¯ããã¯ééïŒãã£ãã¯ãµã€ãºïŒã¯ãããšãã°ClockPeriod()
é¢æ°ã䜿çšããŠå€æŽã§ããŸãã