Index: asp3_gr_sakura/trunk/kernel/Makefile.kernel
===================================================================
--- asp3_gr_sakura/trunk/kernel/Makefile.kernel	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/Makefile.kernel	(revision 318)
@@ -9,58 +9,43 @@
 #              Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#      ã¨ï¼
-#    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#        å ±åãããã¨ï¼
-#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#      å
-è²¬ãããã¨ï¼
+#  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
 # 
-#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#  ã®è²¬ä»»ãè² ããªãï¼
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
 # 
-#  $Id: Makefile.kernel 554 2016-01-17 13:21:59Z ertl-hiro $
+#  $Id$
 # 
 
 #
-#		ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#		カーネルのファイル構成の定義
 #
 
 #
-#  1ã¤ã®ã½ã¼ã¹ãã¡ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãçæããããã«ä½
-#  æãããã½ã¼ã¹ãã¡ã¤ã«ã®ãªã¹ã
+#  1つのソースファイルから複数のオブジェクトファイルを生成するように作
+#  成されたソースファイルのリスト
 #
 KERNEL_FCSRCS = startup.c task.c taskhook.c wait.c time_event.c \
@@ -71,5 +56,5 @@
 
 #
-#  åã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®ãªã¹ã
+#  各ソースファイルから生成されるオブジェクトファイルのリスト
 #
 startup = sta_ker.o ext_ker.o kermem.o
@@ -135,5 +120,5 @@
 
 #
-#  çæããããªãã¸ã§ã¯ããã¡ã¤ã«ã®ä¾å­é¢ä¿ã®å®ç¾©
+#  生成されるオブジェクトファイルの依存関係の定義
 #
 $(startup) $(startup:.o=.s): startup.c
Index: asp3_gr_sakura/trunk/kernel/alarm.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/alarm.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/alarm.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¢ã©ã¼ã éç¥æ©è½
+ *		アラーム通知機能
  */
 
@@ -65,5 +50,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ALM_ENTER
@@ -116,5 +101,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥ã®æ°
+ *  アラーム通知の数
  */
 #define tnum_alm	((uint_t)(tmax_almid - TMIN_ALMID + 1))
@@ -122,5 +107,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥IDããã¢ã©ã¼ã éç¥ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ *  アラーム通知IDからアラーム通知管理ブロックを取り出すためのマクロ
  */
 #define INDEX_ALM(almid)	((uint_t)((almid) - TMIN_ALMID))
@@ -130,14 +115,13 @@
 
 /*
- *  ä½¿ç¨ãã¦ããªãã¢ã©ã¼ã éç¥ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないアラーム通知管理ブロックのリスト
  *
- *  ã¢ã©ã¼ã éç¥ç®¡çãã­ãã¯ã®å
-é ­ã«ã¯ã­ã¥ã¼ã«ã¤ãªãããã®é åããªãã
- *  ãï¼ã¿ã¤ã ã¤ãã³ããã­ãã¯ï¼tmevtbï¼ã®é åãç¨ããï¼
+ *  アラーム通知管理ブロックの先頭にはキューにつなぐための領域がないた
+ *  め，タイムイベントブロック（tmevtb）の領域を用いる．
  */
 QUEUE	free_almcb;
 
 /*
- *  ã¢ã©ã¼ã éç¥æ©è½ã®åæå
+ *  アラーム通知機能の初期化
  */
 void
@@ -170,5 +154,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥ã®çæ
+ *  アラーム通知の生成
  */
 #ifdef TOPPERS_acre_alm
@@ -228,5 +212,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥ã®åé¤
+ *  アラーム通知の削除
  */
 #ifdef TOPPERS_del_alm
@@ -272,5 +256,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥ã®åä½éå§
+ *  アラーム通知の動作開始
  */
 #ifdef TOPPERS_sta_alm
@@ -312,5 +296,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥ã®åä½åæ­¢
+ *  アラーム通知の動作停止
  */
 #ifdef TOPPERS_stp_alm
@@ -348,7 +332,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥ã®ç¶æ
-åç
-§
+ *  アラーム通知の状態参照
  */
 #ifdef TOPPERS_ref_alm
@@ -389,5 +371,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥èµ·åã«ã¼ãã³
+ *  アラーム通知起動ルーチン
  */
 #ifdef TOPPERS_almcal
@@ -397,12 +379,10 @@
 {
 	/*
-	 *  ã¢ã©ã¼ã éç¥ãåæ­¢ç¶æ
-ã«ããï¼
+	 *  アラーム通知を停止状態にする．
 	 */
 	p_almcb->almsta = false;
 
 	/*
-	 *  éç¥ãã³ãã©ãï¼CPUã­ãã¯è§£é¤ç¶æ
-ã§å¼ã³åºãï¼
+	 *  通知ハンドラを，CPUロック解除状態で呼び出す．
 	 */
 	unlock_cpu();
Index: asp3_gr_sakura/trunk/kernel/alarm.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/alarm.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/alarm.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¢ã©ã¼ã éç¥æ©è½
+ *		アラーム通知機能
  */
 
@@ -68,30 +53,28 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥åæåãã­ãã¯
+ *  アラーム通知初期化ブロック
  */
 typedef struct alarm_handler_initialization_block {
-	ATR			almatr;			/* ã¢ã©ã¼ã éç¥å±æ§ */
-	intptr_t	exinf;			/* éç¥ãã³ãã©ã®æ¡å¼µæ
-å ± */
-	NFYHDR		nfyhdr;			/* éç¥ãã³ãã©ã®èµ·åçªå° */
+	ATR			almatr;			/* アラーム通知属性 */
+	intptr_t	exinf;			/* 通知ハンドラの拡張情報 */
+	NFYHDR		nfyhdr;			/* 通知ハンドラの起動番地 */
 } ALMINIB;
 
 /*
- *  ã¢ã©ã¼ã éç¥ç®¡çãã­ãã¯
+ *  アラーム通知管理ブロック
  */
 typedef struct alarm_handler_control_block {
-	const ALMINIB *p_alminib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	bool_t		almsta;			/* ã¢ã©ã¼ã éç¥ã®åä½ç¶æ
- */
-	TMEVTB		tmevtb;			/* ã¿ã¤ã ã¤ãã³ããã­ãã¯ */
+	const ALMINIB *p_alminib;	/* 初期化ブロックへのポインタ */
+	bool_t		almsta;			/* アラーム通知の動作状態 */
+	TMEVTB		tmevtb;			/* タイムイベントブロック */
 } ALMCB;
 
 /*
- *  ä½¿ç¨ãã¦ããªãã¢ã©ã¼ã éç¥ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないアラーム通知管理ブロックのリスト
  */
 extern QUEUE	free_almcb;
 
 /*
- *  ã¢ã©ã¼ã éç¥IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  アラーム通知IDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_almid;
@@ -99,5 +82,5 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  アラーム通知初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const ALMINIB	alminib_table[];
@@ -105,25 +88,25 @@
 
 /*
- *  ã¢ã©ã¼ã éç¥ã®éç¥æ¹æ³ã®æ ¼ç´ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  アラーム通知の通知方法の格納エリア（kernel_cfg.c）
  */
 extern T_NFYINFO	aalm_nfyinfo_table[];
 
 /*
- *  ã¢ã©ã¼ã éç¥ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  アラーム通知管理ブロックのエリア（kernel_cfg.c）
  */
 extern ALMCB	almcb_table[];
 
 /*
- *  ã¢ã©ã¼ã éç¥ç®¡çãã­ãã¯ããã¢ã©ã¼ã éç¥IDãåãåºãããã®ãã¯ã­
+ *  アラーム通知管理ブロックからアラーム通知IDを取り出すためのマクロ
  */
 #define	ALMID(p_almcb)	((ID)(((p_almcb) - almcb_table) + TMIN_ALMID))
 
 /*
- *  ã¢ã©ã¼ã éç¥æ©è½ã®åæå
+ *  アラーム通知機能の初期化
  */
 extern void	initialize_alarm(void);
 
 /*
- *  ã¢ã©ã¼ã éç¥èµ·åã«ã¼ãã³
+ *  アラーム通知起動ルーチン
  */
 extern void	call_alarm(ALMCB *p_almcb);
Index: asp3_gr_sakura/trunk/kernel/alarm.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/alarm.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/alarm.trb	(revision 318)
@@ -9,53 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: alarm.trb 588 2016-02-05 12:54:58Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		ã¢ã©ã¼ã éç¥æ©è½ã®çæã¹ã¯ãªãã
+#		アラーム通知機能の生成スクリプト
 #
 
@@ -67,12 +52,11 @@
 
   def prepare(key, params)
-    # almatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2491ï¼½
-    #ï¼TA_STAä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+    # almatrが無効の場合（E_RSATR）［NGKI2491］
+    #（TA_STA以外のビットがセットされている場合）
     if (params[:almatr] & ~($TA_STA)) != 0
       error_illegal_id("E_RSATR", params, :almatr, :almid)
     end
 
-    # éç¥æ
-å ±ã®å¦ç
+    # 通知情報の処理
     params[:nfyhdr] = generateNotifyHandler(key, params, :almid)
   end
@@ -85,6 +69,5 @@
 
 #
-#  ã¢ã©ã¼ã éç¥ã«é¢ããæ
-å ±ã®çæ
+#  アラーム通知に関する情報の生成
 #
 $kernelCfgC.comment_header("Alarm Notification Functions")
Index: asp3_gr_sakura/trunk/kernel/allfunc.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/allfunc.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/allfunc.h	(revision 318)
@@ -7,47 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -55,5 +40,5 @@
 
 /*
- *		ãã¹ã¦ã®é¢æ°ãã³ã³ãã¤ã«ããããã®å®ç¾©
+ *		すべての関数をコンパイルするための定義
  */
 
Index: asp3_gr_sakura/trunk/kernel/check.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/check.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/check.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¨ã©ã¼ãã§ãã¯ç¨ãã¯ã­
+ *		エラーチェック用マクロ
  */
 
@@ -66,5 +51,5 @@
 
 /*
- *  ãªãã¸ã§ã¯ãIDã®ç¯å²ã®å¤å®
+ *  オブジェクトIDの範囲の判定
  */
 #define VALID_TSKID(tskid)	(TMIN_TSKID <= (tskid) && (tskid) <= tmax_tskid)
@@ -80,5 +65,5 @@
 
 /*
- *  ãªãã¸ã§ã¯ãçªå·ã®ç¯å²ã®å¤å®
+ *  オブジェクト番号の範囲の判定
  */
 #ifndef VALID_INTNO_DISINT
@@ -91,6 +76,5 @@
 
 /*
- *  åªå
-åº¦ã®ç¯å²ã®å¤å®
+ *  優先度の範囲の判定
  */
 #define VALID_TPRI(tpri)	(TMIN_TPRI <= (tpri) && (tpri) <= TMAX_TPRI)
@@ -107,10 +91,10 @@
 
 /*
- *  ç¸å¯¾æéã®ç¯å²ã®å¤å®
+ *  相対時間の範囲の判定
  */
 #define VALID_RELTIM(reltim)	((reltim) <= TMAX_RELTIM)
 
 /*
- *  ã¿ã¤ã ã¢ã¦ãæå®å¤ã®ç¯å²ã®å¤å®
+ *  タイムアウト指定値の範囲の判定
  */
 #define VALID_TMOUT(tmout)	((tmout) <= TMAX_RELTIM || (tmout) == TMO_FEVR \
@@ -118,5 +102,5 @@
 
 /*
- *  ã¢ã©ã¤ã³ãã¦ãããã®å¤å®
+ *  アラインしているかの判定
  */
 #define ALIGNED(val, align)		((((uintptr_t)(val)) & ((align) - 1U)) == 0U)
@@ -159,5 +143,5 @@
 
 /*
- *  NULLã§ãªããã¨ã®å¤å®
+ *  NULLでないことの判定
  */
 #ifdef CHECK_INTPTR_NONNULL
@@ -174,5 +158,5 @@
 
 /*
- *  å¼åºãã³ã³ãã­ã¹ãã®ãã§ãã¯ï¼E_CTXï¼
+ *  呼出しコンテキストのチェック（E_CTX）
  */
 #define CHECK_TSKCTX() do {									\
@@ -184,6 +168,5 @@
 
 /*
- *  CPUã­ãã¯ç¶æ
-ã®ãã§ãã¯ï¼E_CTXï¼
+ *  CPUロック状態のチェック（E_CTX）
  */
 #define CHECK_UNL() do {									\
@@ -195,6 +178,5 @@
 
 /*
- *  å¼åºãã³ã³ãã­ã¹ãã¨CPUã­ãã¯ç¶æ
-ã®ãã§ãã¯ï¼E_CTXï¼
+ *  呼出しコンテキストとCPUロック状態のチェック（E_CTX）
  */
 #define CHECK_TSKCTX_UNL() do {								\
@@ -206,6 +188,5 @@
 
 /*
- *  ãã£ã¹ãããä¿çç¶æ
-ã§ãªããã®ãã§ãã¯ï¼E_CTXï¼
+ *  ディスパッチ保留状態でないかのチェック（E_CTX）
  */
 #define CHECK_DISPATCH() do {								\
@@ -217,5 +198,5 @@
 
 /*
- *  ãã®ä»ã®ã³ã³ãã­ã¹ãã¨ã©ã¼ã®ãã§ãã¯ï¼E_CTXï¼
+ *  その他のコンテキストエラーのチェック（E_CTX）
  */
 #define CHECK_CTX(exp) do {									\
@@ -227,5 +208,5 @@
 
 /*
- *  ãªãã¸ã§ã¯ãIDã®ãã§ãã¯ï¼E_IDï¼
+ *  オブジェクトIDのチェック（E_ID）
  */
 #define CHECK_ID(exp) do {									\
@@ -237,5 +218,5 @@
 
 /*
- *  äºç´å±æ§ã¨ã©ã¼ã®ãã§ãã¯ï¼E_RSATRï¼
+ *  予約属性エラーのチェック（E_RSATR）
  */
 #define CHECK_RSATR(atr, valid_atr) do {					\
@@ -247,5 +228,5 @@
 
 /*
- *  ãã©ã¡ã¼ã¿ã¨ã©ã¼ã®ãã§ãã¯ï¼E_PARï¼
+ *  パラメータエラーのチェック（E_PAR）
  */
 #define CHECK_PAR(exp) do {									\
@@ -257,5 +238,5 @@
 
 /*
- *  ä¸æ­£ä½¿ç¨ã¨ã©ã¼ã®ãã§ãã¯ï¼E_ILUSEï¼
+ *  不正使用エラーのチェック（E_ILUSE）
  */
 #define CHECK_ILUSE(exp) do {								\
@@ -267,6 +248,5 @@
 
 /*
- *  éçãªãªãã¸ã§ã¯ãç¶æ
-ã¨ã©ã¼ã®ãã§ãã¯ï¼E_OBJï¼
+ *  静的なオブジェクト状態エラーのチェック（E_OBJ）
  */
 #define CHECK_OBJ(exp) do {									\
Index: asp3_gr_sakura/trunk/kernel/cyclic.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/cyclic.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/cyclic.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		å¨æéç¥æ©è½
+ *		周期通知機能
  */
 
@@ -65,5 +50,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_CYC_ENTER
@@ -116,5 +101,5 @@
 
 /*
- *  å¨æéç¥ã®æ°
+ *  周期通知の数
  */
 #define tnum_cyc	((uint_t)(tmax_cycid - TMIN_CYCID + 1))
@@ -122,5 +107,5 @@
 
 /*
- *  å¨æéç¥IDããå¨æéç¥ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ *  周期通知IDから周期通知管理ブロックを取り出すためのマクロ
  */
 #define INDEX_CYC(cycid)	((uint_t)((cycid) - TMIN_CYCID))
@@ -130,14 +115,13 @@
 
 /*
- *  ä½¿ç¨ãã¦ããªãå¨æéç¥ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していない周期通知管理ブロックのリスト
  *
- *  å¨æéç¥ç®¡çãã­ãã¯ã®å
-é ­ã«ã¯ã­ã¥ã¼ã«ã¤ãªãããã®é åããªãããï¼
- *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ï¼tmevtbï¼ã®é åãç¨ããï¼
+ *  周期通知管理ブロックの先頭にはキューにつなぐための領域がないため，
+ *  タイムイベントブロック（tmevtb）の領域を用いる．
  */
 QUEUE	free_cyccb;
 
 /*
- *  å¨æéç¥æ©è½ã®åæå
+ *  周期通知機能の初期化
  */
 void
@@ -155,6 +139,6 @@
 		if ((p_cyccb->p_cycinib->cycatr & TA_STA) != 0U) {
 			/*
-			 *  ååã®èµ·åã®ããã®ã¿ã¤ã ã¤ãã³ããç»é²ããï¼»ASPD1035ï¼½
-			 *  ï¼»ASPD1062ï¼½ï¼
+			 *  初回の起動のためのタイムイベントを登録する［ASPD1035］
+			 *  ［ASPD1062］．
 			 */
 			p_cyccb->cycsta = true;
@@ -181,5 +165,5 @@
 
 /*
- *  å¨æéç¥ã®çæ
+ *  周期通知の生成
  */
 #ifdef TOPPERS_acre_cyc
@@ -254,5 +238,5 @@
 
 /*
- *  å¨æéç¥ã®åé¤
+ *  周期通知の削除
  */
 #ifdef TOPPERS_del_cyc
@@ -298,5 +282,5 @@
 
 /*
- *  å¨æéç¥ã®åä½éå§
+ *  周期通知の動作開始
  */
 #ifdef TOPPERS_sta_cyc
@@ -325,5 +309,5 @@
 		}
 		/*
-		 *  ååã®èµ·åã®ããã®ã¿ã¤ã ã¤ãã³ããç»é²ããï¼»ASPD1036ï¼½ï¼
+		 *  初回の起動のためのタイムイベントを登録する［ASPD1036］．
 		 */
 		tmevtb_enqueue(&(p_cyccb->tmevtb), p_cyccb->p_cycinib->cycphs);
@@ -340,5 +324,5 @@
 
 /*
- *  å¨æéç¥ã®åä½åæ­¢
+ *  周期通知の動作停止
  */
 #ifdef TOPPERS_stp_cyc
@@ -376,7 +360,5 @@
 
 /*
- *  å¨æéç¥ã®ç¶æ
-åç
-§
+ *  周期通知の状態参照
  */
 #ifdef TOPPERS_ref_cyc
@@ -417,5 +399,5 @@
 
 /*
- *  å¨æéç¥èµ·åã«ã¼ãã³
+ *  周期通知起動ルーチン
  */
 #ifdef TOPPERS_cyccal
@@ -425,12 +407,11 @@
 {
 	/*
-	 *  æ¬¡åã®èµ·åã®ããã®ã¿ã¤ã ã¤ãã³ããç»é²ããï¼»ASPD1037ï¼½ï¼
+	 *  次回の起動のためのタイムイベントを登録する［ASPD1037］．
 	 */
-	p_cyccb->tmevtb.evttim += p_cyccb->p_cycinib->cyctim;	/*ï¼»ASPD1038ï¼½*/
+	p_cyccb->tmevtb.evttim += p_cyccb->p_cycinib->cyctim;	/*［ASPD1038］*/
 	tmevtb_register(&(p_cyccb->tmevtb));
 
 	/*
-	 *  éç¥ãã³ãã©ãï¼CPUã­ãã¯è§£é¤ç¶æ
-ã§å¼ã³åºãï¼
+	 *  通知ハンドラを，CPUロック解除状態で呼び出す．
 	 */
 	unlock_cpu();
Index: asp3_gr_sakura/trunk/kernel/cyclic.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/cyclic.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/cyclic.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		å¨æéç¥æ©è½
+ *		周期通知機能
  */
 
@@ -68,35 +53,33 @@
 
 /*
- *  å¨æéç¥åæåãã­ãã¯
+ *  周期通知初期化ブロック
  */
 typedef struct cyclic_handler_initialization_block {
-	ATR			cycatr;			/* å¨æéç¥å±æ§ */
-	intptr_t	exinf;			/* éç¥ãã³ãã©ã®æ¡å¼µæ
-å ± */
-	NFYHDR		nfyhdr;			/* éç¥ãã³ãã©ã®èµ·åçªå° */
-	RELTIM		cyctim;			/* å¨æéç¥ã®èµ·åå¨æ */
-	RELTIM		cycphs;			/* å¨æéç¥ã®èµ·åä½ç¸ */
+	ATR			cycatr;			/* 周期通知属性 */
+	intptr_t	exinf;			/* 通知ハンドラの拡張情報 */
+	NFYHDR		nfyhdr;			/* 通知ハンドラの起動番地 */
+	RELTIM		cyctim;			/* 周期通知の起動周期 */
+	RELTIM		cycphs;			/* 周期通知の起動位相 */
 } CYCINIB;
 
 /*
- *  å¨æéç¥ç®¡çãã­ãã¯
+ *  周期通知管理ブロック
  *
- *	æ¬¡ã«å¨æéç¥ãèµ·åããæå»ã¯ï¼ã¿ã¤ã ã¤ãã³ããã­ãã¯ï¼tmevtbï¼ä¸­ã®
- *	ã¿ã¤ã ã¤ãã³ãã®çºçæå»ï¼evttimï¼ã§ä¿æããï¼
+ *	次に周期通知を起動する時刻は，タイムイベントブロック（tmevtb）中の
+ *	タイムイベントの発生時刻（evttim）で保持する．
  */
 typedef struct cyclic_handler_control_block {
-	const CYCINIB *p_cycinib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	bool_t		cycsta;			/* å¨æéç¥ã®åä½ç¶æ
- */
-	TMEVTB		tmevtb;			/* ã¿ã¤ã ã¤ãã³ããã­ãã¯ */
+	const CYCINIB *p_cycinib;	/* 初期化ブロックへのポインタ */
+	bool_t		cycsta;			/* 周期通知の動作状態 */
+	TMEVTB		tmevtb;			/* タイムイベントブロック */
 } CYCCB;
 
 /*
- *  ä½¿ç¨ãã¦ããªãå¨æéç¥ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していない周期通知管理ブロックのリスト
  */
 extern QUEUE	free_cyccb;
 
 /*
- *  å¨æéç¥IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  周期通知IDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_cycid;
@@ -104,5 +87,5 @@
 
 /*
- *  å¨æéç¥åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  周期通知初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const CYCINIB	cycinib_table[];
@@ -110,25 +93,25 @@
 
 /*
- *  å¨æéç¥ã®éç¥æ¹æ³ã®æ ¼ç´ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  周期通知の通知方法の格納エリア（kernel_cfg.c）
  */
 extern T_NFYINFO	acyc_nfyinfo_table[];
 
 /*
- *  å¨æéç¥ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  周期通知管理ブロックのエリア（kernel_cfg.c）
  */
 extern CYCCB	cyccb_table[];
 
 /*
- *  å¨æéç¥ç®¡çãã­ãã¯ããå¨æéç¥IDãåãåºãããã®ãã¯ã­
+ *  周期通知管理ブロックから周期通知IDを取り出すためのマクロ
  */
 #define	CYCID(p_cyccb)	((ID)(((p_cyccb) - cyccb_table) + TMIN_CYCID))
 
 /*
- *  å¨æéç¥æ©è½ã®åæå
+ *  周期通知機能の初期化
  */
 extern void	initialize_cyclic(void);
 
 /*
- *  å¨æéç¥èµ·åã«ã¼ãã³
+ *  周期通知起動ルーチン
  */
 extern void	call_cyclic(CYCCB *p_cyccb);
Index: asp3_gr_sakura/trunk/kernel/cyclic.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/cyclic.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/cyclic.trb	(revision 318)
@@ -9,53 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: cyclic.trb 588 2016-02-05 12:54:58Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		å¨æéç¥æ©è½ã®çæã¹ã¯ãªãã
+#		周期通知機能の生成スクリプト
 #
 
@@ -67,22 +52,21 @@
 
   def prepare(key, params)
-    # cycatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2383ï¼½
-    #ï¼TA_STAä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+    # cycatrが無効の場合（E_RSATR）［NGKI2383］
+    #（TA_STA以外のビットがセットされている場合）
     if (params[:cycatr] & ~($TA_STA)) != 0
       error_illegal_id("E_RSATR", params, :cycatr, :cycid)
     end
 
-    # (0 < cyctim && cyctim <= TMAX_RELTIM)ã§ãªãå ´åï¼E_PARï¼ï¼»NGKI2397ï¼½
+    # (0 < cyctim && cyctim <= TMAX_RELTIM)でない場合（E_PAR）［NGKI2397］
     if !(0 < params[:cyctim] && params[:cyctim] <= $TMAX_RELTIM)
       error_illegal_id("E_PAR", params, :cyctim, :cycid)
     end
 
-    # (0 <= cycphs && cycphs <= TMAX_RELTIM)ã§ãªãå ´åï¼E_PARï¼ï¼»NGKI2399ï¼½
+    # (0 <= cycphs && cycphs <= TMAX_RELTIM)でない場合（E_PAR）［NGKI2399］
     if !(0 <= params[:cycphs] && params[:cycphs] <= $TMAX_RELTIM)
       error_illegal_id("E_PAR", params, :cycphs, :cycid)
     end
 
-    # éç¥æ
-å ±ã®å¦ç
+    # 通知情報の処理
     params[:nfyhdr] = generateNotifyHandler(key, params, :cycid)
   end
@@ -95,6 +79,5 @@
 
 #
-#  å¨æéç¥ã«é¢ããæ
-å ±ã®çæ
+#  周期通知に関する情報の生成
 #
 $kernelCfgC.comment_header("Cyclic Notification Functions")
Index: asp3_gr_sakura/trunk/kernel/dataqueue.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/dataqueue.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/dataqueue.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ãã¼ã¿ã­ã¥ã¼æ©è½
+ *		データキュー機能
  */
 
@@ -67,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_DTQ_ENTER
@@ -158,5 +143,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã®æ°
+ *  データキューの数
  */
 #define tnum_dtq	((uint_t)(tmax_dtqid - TMIN_DTQID + 1))
@@ -164,5 +149,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼IDãããã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ *  データキューIDからデータキュー管理ブロックを取り出すためのマクロ
  */
 #define INDEX_DTQ(dtqid)	((uint_t)((dtqid) - TMIN_DTQID))
@@ -172,10 +157,10 @@
 
 /*
- *  ä½¿ç¨ãã¦ããªããã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないデータキュー管理ブロックのリスト
  */
 QUEUE	free_dtqcb;
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼æ©è½ã®åæå
+ *  データキュー機能の初期化
  */
 void
@@ -208,5 +193,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çé åã¸ã®ãã¼ã¿ã®æ ¼ç´
+ *  データキュー管理領域へのデータの格納
  */
 #ifdef TOPPERS_dtqenq
@@ -226,5 +211,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çé åã¸ã®ãã¼ã¿ã®å¼·å¶æ ¼ç´
+ *  データキュー管理領域へのデータの強制格納
  */
 #ifdef TOPPERS_dtqfenq
@@ -249,5 +234,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çé åããã®ãã¼ã¿ã®ååºã
+ *  データキュー管理領域からのデータの取出し
  */
 #ifdef TOPPERS_dtqdeq
@@ -267,5 +252,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã¸ã®ãã¼ã¿éä¿¡
+ *  データキューへのデータ送信
  */
 #ifdef TOPPERS_dtqsnd
@@ -294,5 +279,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã¸ã®ãã¼ã¿å¼·å¶éä¿¡
+ *  データキューへのデータ強制送信
  */
 #ifdef TOPPERS_dtqfsnd
@@ -316,5 +301,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ããã®ãã¼ã¿åä¿¡
+ *  データキューからのデータ受信
  */
 #ifdef TOPPERS_dtqrcv
@@ -350,5 +335,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã®çæ
+ *  データキューの生成
  */
 #ifdef TOPPERS_acre_dtq
@@ -410,5 +395,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã®åé¤
+ *  データキューの削除
  */
 #ifdef TOPPERS_del_dtq
@@ -457,5 +442,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡
+ *  データキューへの送信
  */
 #ifdef TOPPERS_snd_dtq
@@ -503,5 +488,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ *  データキューへの送信（ポーリング）
  */
 #ifdef TOPPERS_psnd_dtq
@@ -546,5 +531,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  データキューへの送信（タイムアウトあり）
  */
 #ifdef TOPPERS_tsnd_dtq
@@ -598,5 +583,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã¸ã®å¼·å¶éä¿¡
+ *  データキューへの強制送信
  */
 #ifdef TOPPERS_fsnd_dtq
@@ -642,5 +627,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡
+ *  データキューからの受信
  */
 #ifdef TOPPERS_rcv_dtq
@@ -693,5 +678,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡ï¼ãã¼ãªã³ã°ï¼
+ *  データキューからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_dtq
@@ -731,5 +716,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  データキューからの受信（タイムアウトあり）
  */
 #ifdef TOPPERS_trcv_dtq
@@ -787,5 +772,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã®ååæå
+ *  データキューの再初期化
  */
 #ifdef TOPPERS_ini_dtq
@@ -827,7 +812,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã®ç¶æ
-åç
-§
+ *  データキューの状態参照
  */
 #ifdef TOPPERS_ref_dtq
Index: asp3_gr_sakura/trunk/kernel/dataqueue.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/dataqueue.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/dataqueue.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ãã¼ã¿ã­ã¥ã¼æ©è½
+ *		データキュー機能
  */
 
@@ -68,84 +53,65 @@
 
 /*
- *  ãã¼ã¿ç®¡çãã­ãã¯
+ *  データ管理ブロック
  */
 typedef struct data_management_block {
-	intptr_t	data;			/* ãã¼ã¿æ¬ä½ */
+	intptr_t	data;			/* データ本体 */
 } DTQMB;
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼åæåãã­ãã¯
+ *  データキュー初期化ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å
-±éé¨å
- *  ï¼WOBJINIBï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct dataqueue_initialization_block {
-	ATR			dtqatr;			/* ãã¼ã¿ã­ã¥ã¼å±æ§ */
-	uint_t		dtqcnt;			/* ãã¼ã¿ã­ã¥ã¼ã®å®¹é */
-	DTQMB		*p_dtqmb;		/* ãã¼ã¿ã­ã¥ã¼ç®¡çé åã®å
-é ­çªå° */
+	ATR			dtqatr;			/* データキュー属性 */
+	uint_t		dtqcnt;			/* データキューの容量 */
+	DTQMB		*p_dtqmb;		/* データキュー管理領域の先頭番地 */
 } DTQINIB;
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯
+ *  データキュー管理ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åï¼WOBJCBï¼
- *  ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼æåã®2ã¤ã®
- *  ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct dataqueue_control_block {
-	QUEUE		swait_queue;	/* ãã¼ã¿ã­ã¥ã¼éä¿¡å¾
-ã¡ã­ã¥ã¼ */
-	const DTQINIB *p_dtqinib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	QUEUE		rwait_queue;	/* ãã¼ã¿ã­ã¥ã¼åä¿¡å¾
-ã¡ã­ã¥ã¼ */
-	uint_t		count;			/* ãã¼ã¿ã­ã¥ã¼ä¸­ã®ãã¼ã¿ã®æ° */
-	uint_t		head;			/* æåã®ãã¼ã¿ã®æ ¼ç´å ´æ */
-	uint_t		tail;			/* æå¾ã®ãã¼ã¿ã®æ ¼ç´å ´æã®æ¬¡ */
+	QUEUE		swait_queue;	/* データキュー送信待ちキュー */
+	const DTQINIB *p_dtqinib;	/* 初期化ブロックへのポインタ */
+	QUEUE		rwait_queue;	/* データキュー受信待ちキュー */
+	uint_t		count;			/* データキュー中のデータの数 */
+	uint_t		head;			/* 最初のデータの格納場所 */
+	uint_t		tail;			/* 最後のデータの格納場所の次 */
 } DTQCB;
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼å¾
-ã¡æ
-å ±ãã­ãã¯ã®å®ç¾©
+ *  データキュー待ち情報ブロックの定義
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡æ
-å ±ãã­ãã¯ã®å
-±éé¨å
- *  ï¼WINFO_WOBJï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®2ã¤ã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  */
 typedef struct dataqueue_send_waiting_information {
-	WINFO		winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	DTQCB		*p_dtqcb;		/* å¾
-ã£ã¦ãããã¼ã¿ã­ã¥ã¼ã®ç®¡çãã­ãã¯ */
-	intptr_t	data;			/* éä¿¡ãã¼ã¿ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	DTQCB		*p_dtqcb;		/* 待っているデータキューの管理ブロック */
+	intptr_t	data;			/* 送信データ */
 } WINFO_SDTQ;
 
 typedef struct dataqueue_receive_waiting_information {
-	WINFO		winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	DTQCB		*p_dtqcb;		/* å¾
-ã£ã¦ãããã¼ã¿ã­ã¥ã¼ã®ç®¡çãã­ãã¯ */
-	intptr_t	data;			/* åä¿¡ãã¼ã¿ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	DTQCB		*p_dtqcb;		/* 待っているデータキューの管理ブロック */
+	intptr_t	data;			/* 受信データ */
 } WINFO_RDTQ;
 
 /*
- *  ä½¿ç¨ãã¦ããªããã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないデータキュー管理ブロックのリスト
  */
 extern QUEUE	free_dtqcb;
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  データキューIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_dtqid;
@@ -153,5 +119,5 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  データキュー初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const DTQINIB	dtqinib_table[];
@@ -159,45 +125,45 @@
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  データキュー管理ブロックのエリア（kernel_cfg.c）
  */
 extern DTQCB	dtqcb_table[];
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ãããã¼ã¿ã­ã¥ã¼IDãåãåºãããã®ãã¯ã­
+ *  データキュー管理ブロックからデータキューIDを取り出すためのマクロ
  */
 #define	DTQID(p_dtqcb)	((ID)(((p_dtqcb) - dtqcb_table) + TMIN_DTQID))
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼æ©è½ã®åæå
+ *  データキュー機能の初期化
  */
 extern void	initialize_dataqueue(void);
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çé åã¸ã®ãã¼ã¿ã®æ ¼ç´
+ *  データキュー管理領域へのデータの格納
  */
 extern void	enqueue_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çé åã¸ã®ãã¼ã¿ã®å¼·å¶æ ¼ç´
+ *  データキュー管理領域へのデータの強制格納
  */
 extern void	force_enqueue_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ç®¡çé åããã®ãã¼ã¿ã®ååºã
+ *  データキュー管理領域からのデータの取出し
  */
 extern void	dequeue_data(DTQCB *p_dtqcb, intptr_t *p_data);
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã¸ã®ãã¼ã¿éä¿¡
+ *  データキューへのデータ送信
  */
 extern bool_t	send_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ã¸ã®ãã¼ã¿å¼·å¶éä¿¡
+ *  データキューへのデータ強制送信
  */
 extern void	force_send_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  ãã¼ã¿ã­ã¥ã¼ããã®ãã¼ã¿åä¿¡
+ *  データキューからのデータ受信
  */
 extern bool_t	receive_data(DTQCB *p_dtqcb, intptr_t *p_data);
Index: asp3_gr_sakura/trunk/kernel/dataqueue.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/dataqueue.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/dataqueue.trb	(revision 318)
@@ -9,53 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: dataqueue.trb 668 2016-03-03 13:57:53Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		ãã¼ã¿ã­ã¥ã¼æ©è½ã®çæã¹ã¯ãªãã
+#		データキュー機能の生成スクリプト
 #
 
@@ -66,19 +51,19 @@
 
   def prepare(key, params)
-    # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨­å®
+    # パラメータが省略された時のデフォルト値の設定
     params[:dtqmb] ||= "NULL"
 
-    # dtqatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1669ï¼½
-    #ï¼TA_TPRIä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+    # dtqatrが無効の場合（E_RSATR）［NGKI1669］
+    #（TA_TPRI以外のビットがセットされている場合）
     if (params[:dtqatr] & ~($TA_TPRI)) != 0
       error_illegal_id("E_RSATR", params, :dtqatr, :dtqid)
     end
 
-    # dtqmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0132ï¼½
+    # dtqmbがNULLでない場合（E_NOSPT）［ASPS0132］
     if params[:dtqmb] != "NULL"
       error_illegal_id("E_NOSPT", params, :dtqmb, :dtqid)
     end
 
-    # ãã¼ã¿ã­ã¥ã¼ç®¡çé å
+    # データキュー管理領域
     if params[:dtqcnt] > 0
       dtqmbName = "_kernel_dtqmb_#{params[:dtqid]}"
@@ -97,6 +82,5 @@
 
 #
-#  ãã¼ã¿ã­ã¥ã¼ã«é¢ããæ
-å ±ã®çæ
+#  データキューに関する情報の生成
 #
 $kernelCfgC.comment_header("Dataqueue Functions")
Index: asp3_gr_sakura/trunk/kernel/eventflag.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/eventflag.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/eventflag.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¤ãã³ããã©ã°æ©è½
+ *		イベントフラグ機能
  */
 
@@ -67,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_FLG_ENTER
@@ -142,5 +127,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°ã®æ°
+ *  イベントフラグの数
  */
 #define tnum_flg	((uint_t)(tmax_flgid - TMIN_FLGID + 1))
@@ -148,5 +133,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°IDããã¤ãã³ããã©ã°ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ *  イベントフラグIDからイベントフラグ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_FLG(flgid)	((uint_t)((flgid) - TMIN_FLGID))
@@ -156,10 +141,10 @@
 
 /*
- *  ä½¿ç¨ãã¦ããªãã¤ãã³ããã©ã°ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないイベントフラグ管理ブロックのリスト
  */
 QUEUE	free_flgcb;
 
 /*
- *  ã¤ãã³ããã©ã°æ©è½ã®åæå
+ *  イベントフラグ機能の初期化
  */
 void
@@ -189,6 +174,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°å¾
-ã¡è§£é¤æ¡ä»¶ã®ãã§ãã¯
+ *  イベントフラグ待ち解除条件のチェック
  */
 #ifdef TOPPERS_flgcnd
@@ -211,11 +195,9 @@
 
 /*
- *  ã¤ãã³ããã©ã°ã®çæ
+ *  イベントフラグの生成
  *
- *  pk_cflg->iflgptnã¯ï¼ã¨ã©ã¼ãã§ãã¯ãããï¼ä¸åº¦ããåç
-§ããªãããï¼
- *  ã­ã¼ã«ã«å¤æ°ã«ã³ãã¼ããå¿
-è¦ããªãï¼éä¸­ã§æ¸ãæãã£ã¦ãæ¯éããª
- *  ãï¼ï¼
+ *  pk_cflg->iflgptnは，エラーチェックをせず，一度しか参照しないため，
+ *  ローカル変数にコピーする必要がない（途中で書き換わっても支障がな
+ *  い）．
  */
 #ifdef TOPPERS_acre_flg
@@ -260,5 +242,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°ã®åé¤
+ *  イベントフラグの削除
  */
 #ifdef TOPPERS_del_flg
@@ -303,5 +285,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°ã®ã»ãã
+ *  イベントフラグのセット
  */
 #ifdef TOPPERS_set_flg
@@ -361,5 +343,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°ã®ã¯ãªã¢
+ *  イベントフラグのクリア
  */
 #ifdef TOPPERS_clr_flg
@@ -394,6 +376,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°å¾
-ã¡
+ *  イベントフラグ待ち
  */
 #ifdef TOPPERS_wai_flg
@@ -448,6 +429,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°å¾
-ã¡ï¼ãã¼ãªã³ã°ï¼
+ *  イベントフラグ待ち（ポーリング）
  */
 #ifdef TOPPERS_pol_flg
@@ -490,6 +470,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°å¾
-ã¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  イベントフラグ待ち（タイムアウトあり）
  */
 #ifdef TOPPERS_twai_flg
@@ -550,5 +529,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°ã®ååæå
+ *  イベントフラグの再初期化
  */
 #ifdef TOPPERS_ini_flg
@@ -587,7 +566,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°ã®ç¶æ
-åç
-§
+ *  イベントフラグの状態参照
  */
 #ifdef TOPPERS_ref_flg
Index: asp3_gr_sakura/trunk/kernel/eventflag.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/eventflag.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/eventflag.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¤ãã³ããã©ã°æ©è½
+ *		イベントフラグ機能
  */
 
@@ -68,76 +53,52 @@
 
 /*
- *  ã¤ãã³ããã©ã°åæåãã­ãã¯
+ *  イベントフラグ初期化ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å
-±éé¨å
- *  ï¼WOBJINIBï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct eventflag_initialization_block {
-	ATR			flgatr;			/* ã¤ãã³ããã©ã°å±æ§ */
-	FLGPTN		iflgptn;		/* ã¤ãã³ããã©ã°ã®ããããã¿ã¼ã³ã®åæå¤ */
+	ATR			flgatr;			/* イベントフラグ属性 */
+	FLGPTN		iflgptn;		/* イベントフラグのビットパターンの初期値 */
 } FLGINIB;
 
 /*
- *  ã¤ãã³ããã©ã°ç®¡çãã­ãã¯
+ *  イベントフラグ管理ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åï¼WOBJCBï¼
- *  ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼æåã®2ã¤ã®
- *  ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct eventflag_control_block {
-	QUEUE		wait_queue;		/* ã¤ãã³ããã©ã°å¾
-ã¡ã­ã¥ã¼ */
-	const FLGINIB *p_flginib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	FLGPTN		flgptn;			/* ã¤ãã³ããã©ã°ç¾å¨ãã¿ã¼ã³ */
+	QUEUE		wait_queue;		/* イベントフラグ待ちキュー */
+	const FLGINIB *p_flginib;	/* 初期化ブロックへのポインタ */
+	FLGPTN		flgptn;			/* イベントフラグ現在パターン */
 } FLGCB;
 
 /*
- *  ã¤ãã³ããã©ã°å¾
-ã¡æ
-å ±ãã­ãã¯ã®å®ç¾©
+ *  イベントフラグ待ち情報ブロックの定義
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡æ
-å ±ãã­ãã¯ã®å
-±éé¨å
- *  ï¼WINFO_WOBJï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®2ã¤ã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  *
- *  waiptnã«ã¯ï¼å¾
-ã¡ç¶æ
-ã®éã¯å¾
-ã¡ãã¿ã¼ã³ãï¼å¾
-ã¡è§£é¤ãããå¾ã¯å¾
-ã¡è§£
- *  é¤æã®ãã¿ã¼ã³ãå
-¥ããï¼1ã¤ã®ãã£ã¼ã«ãã2ã¤ã®ç®çã«å
-¼ç¨ãã¦ããï¼ï¼
+ *  waiptnには，待ち状態の間は待ちパターンを，待ち解除された後は待ち解
+ *  除時のパターンを入れる（1つのフィールドを2つの目的に兼用している）．
  */
 typedef struct eventflag_waiting_information {
-	WINFO		winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	FLGCB		*p_flgcb;		/* å¾
-ã£ã¦ããã¤ãã³ããã©ã°ã®ç®¡çãã­ãã¯ */
-	FLGPTN		waiptn;			/* å¾
-ã¡ãã¿ã¼ã³ï¼å¾
-ã¡è§£é¤æã®ãã¿ã¼ã³ */
-	MODE		wfmode;			/* å¾
-ã¡ã¢ã¼ã */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	FLGCB		*p_flgcb;		/* 待っているイベントフラグの管理ブロック */
+	FLGPTN		waiptn;			/* 待ちパターン／待ち解除時のパターン */
+	MODE		wfmode;			/* 待ちモード */
 } WINFO_FLG;
 
 /*
- *  ä½¿ç¨ãã¦ããªãã¤ãã³ããã©ã°ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないイベントフラグ管理ブロックのリスト
  */
 extern QUEUE	free_flgcb;
 
 /*
- *  ã¤ãã³ããã©ã°IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  イベントフラグIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_flgid;
@@ -145,5 +106,5 @@
 
 /*
- *  ã¤ãã³ããã©ã°åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  イベントフラグ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const FLGINIB	flginib_table[];
@@ -151,21 +112,20 @@
 
 /*
- *  ã¤ãã³ããã©ã°ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  イベントフラグ管理ブロックのエリア（kernel_cfg.c）
  */
 extern FLGCB	flgcb_table[];
 
 /*
- *  ã¤ãã³ããã©ã°ç®¡çãã­ãã¯ããã¤ãã³ããã©ã°IDãåãåºãããã®ãã¯ã­
+ *  イベントフラグ管理ブロックからイベントフラグIDを取り出すためのマクロ
  */
 #define	FLGID(p_flgcb)	((ID)(((p_flgcb) - flgcb_table) + TMIN_FLGID))
 
 /*
- *  ã¤ãã³ããã©ã°æ©è½ã®åæå
+ *  イベントフラグ機能の初期化
  */
 extern void	initialize_eventflag(void);
 
 /*
- *  ã¤ãã³ããã©ã°å¾
-ã¡è§£é¤æ¡ä»¶ã®ãã§ãã¯
+ *  イベントフラグ待ち解除条件のチェック
  */
 extern bool_t	check_flg_cond(FLGCB *p_flgcb, FLGPTN waiptn,
Index: asp3_gr_sakura/trunk/kernel/eventflag.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/eventflag.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/eventflag.trb	(revision 318)
@@ -9,53 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: eventflag.trb 588 2016-02-05 12:54:58Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		ã¤ãã³ããã©ã°æ©è½ã®çæã¹ã¯ãªãã
+#		イベントフラグ機能の生成スクリプト
 #
 
@@ -66,11 +51,11 @@
 
   def prepare(key, params)
-    # flgatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1562ï¼½
-    #ï¼TA_TPRIï¼TA_WMULï¼TA_CLRä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+    # flgatrが無効の場合（E_RSATR）［NGKI1562］
+    #（TA_TPRI，TA_WMUL，TA_CLR以外のビットがセットされている場合）
     if (params[:flgatr] & ~($TA_TPRI|$TA_WMUL|$TA_CLR)) != 0
       error_illegal_id("E_RSATR", params, :flgatr, :flgid)
     end
 
-    # iflgptnãFLGPTNã«æ ¼ç´ã§ããªãå ´åï¼E_PARï¼ï¼»NGKI3275ï¼½
+    # iflgptnがFLGPTNに格納できない場合（E_PAR）［NGKI3275］
     if (params[:iflgptn] & ~((1 << $TBIT_FLGPTN) - 1)) != 0
       error_wrong_id("E_PAR", params, :iflgptn, :flgid, "too large")
@@ -84,6 +69,5 @@
 
 #
-#  ã¤ãã³ããã©ã°ã«é¢ããæ
-å ±ã®çæ
+#  イベントフラグに関する情報の生成
 #
 $kernelCfgC.comment_header("Eventflag Functions")
Index: asp3_gr_sakura/trunk/kernel/exception.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/exception.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/exception.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		CPUä¾å¤ç®¡çæ©è½
+ *		CPU例外管理機能
  */
 
@@ -65,5 +50,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_XSNS_DPN_ENTER
@@ -76,5 +61,5 @@
 
 /* 
- *  CPUä¾å¤ãã³ãã©ç®¡çæ©è½ã®åæå
+ *  CPU例外ハンドラ管理機能の初期化
  */
 #ifdef TOPPERS_excini
@@ -97,16 +82,12 @@
 
 /*
- *  CPUä¾å¤ã®çºçããã³ã³ãã­ã¹ãã®åç
-§
+ *  CPU例外の発生したコンテキストの参照
  */
 
 /*
- *  CPUä¾å¤çºçæã®ãã£ã¹ãããä¿çç¶æ
-ã®åç
-§
+ *  CPU例外発生時のディスパッチ保留状態の参照
  *
- *  CPUä¾å¤ãã³ãã©ä¸­ã§enadspãå¤åãããã¨ã¯ãªãããï¼CPUä¾å¤ãçºçã
- *  ãæã®enadspãä¿å­ãã¦ããå¿
-è¦ã¯ãªãï¼
+ *  CPU例外ハンドラ中でenadspが変化することはないため，CPU例外が発生し
+ *  た時のenadspを保存しておく必要はない．
  */
 #ifdef TOPPERS_xsns_dpn
Index: asp3_gr_sakura/trunk/kernel/exception.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/exception.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/exception.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		CPUä¾å¤ç®¡çæ©è½
+ *		CPU例外管理機能
  */
 
@@ -68,20 +53,19 @@
 
 /*
- *  CPUä¾å¤ãã³ãã©åæåãã­ãã¯
+ *  CPU例外ハンドラ初期化ブロック
  */
 typedef struct cpu_exception_handler_initialization_block {
-	EXCNO		excno;			/* CPUä¾å¤ãã³ãã©çªå· */
-	ATR			excatr;			/* CPUä¾å¤ãã³ãã©å±æ§ */
-	FP			exc_entry;		/* CPUä¾å¤ãã³ãã©ã®åºå
-¥å£å¦çã®çªå° */
+	EXCNO		excno;			/* CPU例外ハンドラ番号 */
+	ATR			excatr;			/* CPU例外ハンドラ属性 */
+	FP			exc_entry;		/* CPU例外ハンドラの出入口処理の番地 */
 } EXCINIB;
 
 /*
- *  å®ç¾©ããCPUä¾å¤ãã³ãã©çªå·ã®æ°ï¼kernel_cfg.cï¼
+ *  定義するCPU例外ハンドラ番号の数（kernel_cfg.c）
  */
 extern const uint_t	tnum_def_excno;
 
 /*
- *  CPUä¾å¤ãã³ãã©åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  CPU例外ハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const EXCINIB	excinib_table[];
@@ -90,5 +74,5 @@
 
 /*
- *  CPUä¾å¤ãã³ãã©ç®¡çæ©è½ã®åæå
+ *  CPU例外ハンドラ管理機能の初期化
  */
 extern void	initialize_exception(void);
Index: asp3_gr_sakura/trunk/kernel/exception.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/exception.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/exception.trb	(revision 318)
@@ -9,71 +9,56 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: exception.trb 663 2016-02-27 04:45:50Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		CPUä¾å¤ç®¡çæ©è½ã®çæã¹ã¯ãªãã
+#		CPU例外管理機能の生成スクリプト
 #
 
 #
-#  kernel_cfg.cã®çæ
+#  kernel_cfg.cの生成
 #
 $kernelCfgC.comment_header("CPU Exception Management Functions")
 
 #
-#  CPUä¾å¤ãã³ãã©ã«é¢ããã¨ã©ã¼ãã§ãã¯
+#  CPU例外ハンドラに関するエラーチェック
 #
 $cfgData[:DEF_EXC].each do |key, params|
-  # excnoãCPUä¾å¤ãã³ãã©çªå·ã¨ãã¦æ­£ãããªãå ´åï¼E_PARï¼ï¼»NGKI3134ï¼½
+  # excnoがCPU例外ハンドラ番号として正しくない場合（E_PAR）［NGKI3134］
   if $EXCNO_VALID.index(params[:excno]).nil?
     error_illegal("E_PAR", params, :excno)
   end
 
-  # excatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3131ï¼½
-  #ï¼TARGET_EXCATRä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+  # excatrが無効の場合（E_RSATR）［NGKI3131］
+  #（TARGET_EXCATR以外のビットがセットされている場合）
   if (params[:excatr] & ~($TARGET_EXCATR)) != 0
     error_illegal_sym("E_RSATR", params, :excatr, :excno)
@@ -82,10 +67,9 @@
 
 #
-#  CPUä¾å¤ãã³ãã©ã®ããã®æ¨æºçãªåæåæ
-å ±ã®çæ
+#  CPU例外ハンドラのための標準的な初期化情報の生成
 #
 if !$OMIT_INITIALIZE_EXCEPTION
   #
-  #  å®ç¾©ããCPUä¾å¤ãã³ãã©ã®æ°
+  #  定義するCPU例外ハンドラの数
   #
   $kernelCfgC.add(<<EOS)
@@ -96,5 +80,5 @@
   if $cfgData[:DEF_EXC].size != 0
     #
-    #  CPUä¾å¤ãã³ãã©ã®ã¨ã³ããª
+    #  CPU例外ハンドラのエントリ
     #
     $cfgData[:DEF_EXC].each do |key, params|
@@ -105,5 +89,5 @@
 
     #
-    #  CPUä¾å¤ãã³ãã©åæåãã­ãã¯
+    #  CPU例外ハンドラ初期化ブロック
     #
     $kernelCfgC.add("const EXCINIB _kernel_excinib_table[TNUM_DEF_EXCNO] = {")
@@ -122,5 +106,5 @@
 
 #
-#  CPUä¾å¤ç®¡çæ©è½åæåé¢æ°ã®è¿½å 
+#  CPU例外管理機能初期化関数の追加
 #
 $initializeFunctions.push("_kernel_initialize_exception();")
Index: asp3_gr_sakura/trunk/kernel/genoffset.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/genoffset.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/genoffset.trb	(revision 318)
@@ -8,63 +8,47 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 #  
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 #  
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: genoffset.trb 662 2016-02-27 02:33:51Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		ãªãã»ãããã¡ã¤ã«çæç¨ã®çæã¹ã¯ãªãã
+#		オフセットファイル生成用の生成スクリプト
 #
 
 # 
-#  ã¿ã¤ã ã¹ã¿ã³ããã¡ã¤ã«ã®æå®
+#  タイムスタンプファイルの指定
 # 
 $timeStampFileName = "offset.timestamp"
 
 # 
-#  offset.hã®å
-é ­é¨åã®çæ
+#  offset.hの先頭部分の生成
 # 
 $offsetH = GenFile.new("offset.h")
@@ -72,5 +56,5 @@
 
 # 
-#  #defineãã£ã¬ã¯ãã£ãã®çæ
+#  #defineディレクティブの生成
 # 
 def GenerateDefine(symbol, value)
@@ -79,5 +63,5 @@
 
 # 
-#  ãããã®ãµã¼ã
+#  ビットのサーチ
 # 
 def SearchBit(val)
@@ -91,5 +75,5 @@
 
 # 
-#  ããããã£ã¼ã«ãã®ãªãã»ããã¨ãããä½ç½®ã®å®ç¾©ã®çæ
+#  ビットフィールドのオフセットとビット位置の定義の生成
 # 
 def GenerateDefineBit(label, structSize, outputSize)
@@ -138,6 +122,5 @@
 
 # 
-#  ãã¤ãé
-ç½®ã®ãã§ãã¯
+#  バイト配置のチェック
 # 
 def magicCheck(size, check)
Index: asp3_gr_sakura/trunk/kernel/interrupt.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/interrupt.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/interrupt.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		å²è¾¼ã¿ç®¡çæ©è½
+ *		割込み管理機能
  */
 
@@ -67,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ISR_ENTER
@@ -150,5 +135,5 @@
 
 /*
- *  å²è¾¼ã¿çªå·ã®ç¯å²ã®å¤å®
+ *  割込み番号の範囲の判定
  */
 #ifndef VALID_INTNO_DISINT
@@ -173,6 +158,5 @@
 
 /*
- *  å²è¾¼ã¿åªå
-åº¦ã®ç¯å²ã®å¤å®
+ *  割込み優先度の範囲の判定
  */
 #ifndef VALID_INTPRI_CHGIPM
@@ -182,5 +166,5 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®æ°
+ *  割込みサービスルーチンの数
  */
 #define tnum_isr	((uint_t)(tmax_isrid - TMIN_ISRID + 1))
@@ -188,6 +172,6 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³IDããå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç®¡çãã­ãã¯ãå
- *  ãåºãããã®ãã¯ã­
+ *  割込みサービスルーチンIDから割込みサービスルーチン管理ブロックを取
+ *  り出すためのマクロ
  */
 #define INDEX_ISR(isrid)	((uint_t)((isrid) - TMIN_ISRID))
@@ -195,5 +179,5 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã­ã¥ã¼ã¸ã®ç»é²
+ *  割込みサービスルーチンキューへの登録
  */
 Inline void
@@ -215,10 +199,10 @@
 
 /*
- *  ä½¿ç¨ãã¦ããªãå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していない割込みサービスルーチン管理ブロックのリスト
  */
 QUEUE	free_isrcb;
 
 /* 
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³æ©è½ã®åæå
+ *  割込みサービスルーチン機能の初期化
  */
 void
@@ -251,5 +235,5 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®å¼åºã
+ *  割込みサービスルーチンの呼出し
  */
 #ifdef TOPPERS_isrcal
@@ -269,6 +253,5 @@
 
 		if (p_queue->p_next != p_isr_queue) {
-			/* ISRã®å¼åºãåã®ç¶æ
-ã«æ»ã */
+			/* ISRの呼出し前の状態に戻す */
 			if (sense_lock()) {
 				unlock_cpu();
@@ -281,5 +264,5 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å¼åºãã­ã¥ã¼ã®æ¤ç´¢
+ *  割込みサービスルーチン呼出しキューの検索
  */
 Inline QUEUE *
@@ -312,10 +295,8 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®çæ
+ *  割込みサービスルーチンの生成
  *
- *  pk_cisr->exinfã¯ï¼ã¨ã©ã¼ãã§ãã¯ãããï¼ä¸åº¦ããåç
-§ããªãããï¼ã­ã¼
- *  ã«ã«å¤æ°ã«ã³ãã¼ããå¿
-è¦ããªãï¼éä¸­ã§æ¸ãæãã£ã¦ãæ¯éããªãï¼ï¼
+ *  pk_cisr->exinfは，エラーチェックをせず，一度しか参照しないため，ロー
+ *  カル変数にコピーする必要がない（途中で書き換わっても支障がない）．
  */
 #ifdef TOPPERS_acre_isr
@@ -375,5 +356,5 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®åé¤
+ *  割込みサービスルーチンの削除
  */
 #ifdef TOPPERS_del_isr
@@ -415,5 +396,5 @@
 
 /* 
- *  å²è¾¼ã¿ç®¡çæ©è½ã®åæå
+ *  割込み管理機能の初期化
  */
 #ifdef TOPPERS_intini
@@ -441,8 +422,8 @@
 
 /*
- *  å²è¾¼ã¿ã®ç¦æ­¢ï¼»NGKI3555ï¼½
+ *  割込みの禁止［NGKI3555］
  */
 #ifdef TOPPERS_dis_int
-#ifdef TOPPERS_SUPPORT_DIS_INT					/*ï¼»NGKI3093ï¼½*/
+#ifdef TOPPERS_SUPPORT_DIS_INT					/*［NGKI3093］*/
 
 ER
@@ -453,5 +434,5 @@
 
 	LOG_DIS_INT_ENTER(intno);
-	CHECK_PAR(VALID_INTNO_DISINT(intno));		/*ï¼»NGKI3083ï¼½ï¼»NGKI3087ï¼½*/
+	CHECK_PAR(VALID_INTNO_DISINT(intno));		/*［NGKI3083］［NGKI3087］*/
 
 	locked = sense_lock();
@@ -460,9 +441,9 @@
 	}
 	if (check_intno_cfg(intno)) {
-		disable_int(intno);						/*ï¼»NGKI3086ï¼½*/
+		disable_int(intno);						/*［NGKI3086］*/
 		ercd = E_OK;
 	}
 	else {
-		ercd = E_OBJ;							/*ï¼»NGKI3085ï¼½*/
+		ercd = E_OBJ;							/*［NGKI3085］*/
 	}
 	if (!locked) {
@@ -479,8 +460,8 @@
 
 /*
- *  å²è¾¼ã¿ã®è¨±å¯ï¼»NGKI3556ï¼½
+ *  割込みの許可［NGKI3556］
  */
 #ifdef TOPPERS_ena_int
-#ifdef TOPPERS_SUPPORT_ENA_INT					/*ï¼»NGKI3106ï¼½*/
+#ifdef TOPPERS_SUPPORT_ENA_INT					/*［NGKI3106］*/
 
 ER
@@ -491,5 +472,5 @@
 
 	LOG_ENA_INT_ENTER(intno);
-	CHECK_PAR(VALID_INTNO_DISINT(intno));		/*ï¼»NGKI3096ï¼½ï¼»NGKI3100ï¼½*/
+	CHECK_PAR(VALID_INTNO_DISINT(intno));		/*［NGKI3096］［NGKI3100］*/
 
 	locked = sense_lock();
@@ -498,9 +479,9 @@
 	}
 	if (check_intno_cfg(intno)) {
-		enable_int(intno);						/*ï¼»NGKI3099ï¼½*/
+		enable_int(intno);						/*［NGKI3099］*/
 		ercd = E_OK;
 	}
 	else {
-		ercd = E_OBJ;							/*ï¼»NGKI3098ï¼½*/
+		ercd = E_OBJ;							/*［NGKI3098］*/
 	}
 	if (!locked) {
@@ -517,8 +498,8 @@
 
 /*
- *  å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ï¼»NGKI3920ï¼½
+ *  割込み要求のクリア［NGKI3920］
  */
 #ifdef TOPPERS_clr_int
-#ifdef TOPPERS_SUPPORT_CLR_INT					/*ï¼»NGKI3927ï¼½*/
+#ifdef TOPPERS_SUPPORT_CLR_INT					/*［NGKI3927］*/
 
 ER
@@ -529,5 +510,5 @@
 
 	LOG_CLR_INT_ENTER(intno);
-	CHECK_PAR(VALID_INTNO_CLRINT(intno));		/*ï¼»NGKI3921ï¼½ï¼»NGKI3930ï¼½*/
+	CHECK_PAR(VALID_INTNO_CLRINT(intno));		/*［NGKI3921］［NGKI3930］*/
 
 	locked = sense_lock();
@@ -536,9 +517,9 @@
 	}
 	if (check_intno_cfg(intno) && check_intno_clear(intno)) {
-		clear_int(intno);						/*ï¼»NGKI3924ï¼½*/
+		clear_int(intno);						/*［NGKI3924］*/
 		ercd = E_OK;
 	}
 	else {
-		ercd = E_OBJ;							/*ï¼»NGKI3923ï¼½ï¼»NGKI3929ï¼½*/
+		ercd = E_OBJ;							/*［NGKI3923］［NGKI3929］*/
 	}
 	if (!locked) {
@@ -555,8 +536,8 @@
 
 /*
- *  å²è¾¼ã¿ã®è¦æ±ï¼»NGKI3932ï¼½
+ *  割込みの要求［NGKI3932］
  */
 #ifdef TOPPERS_ras_int
-#ifdef TOPPERS_SUPPORT_RAS_INT					/*ï¼»NGKI3939ï¼½*/
+#ifdef TOPPERS_SUPPORT_RAS_INT					/*［NGKI3939］*/
 
 ER
@@ -567,5 +548,5 @@
 
 	LOG_RAS_INT_ENTER(intno);
-	CHECK_PAR(VALID_INTNO_RASINT(intno));		/*ï¼»NGKI3933ï¼½ï¼»NGKI3942ï¼½*/
+	CHECK_PAR(VALID_INTNO_RASINT(intno));		/*［NGKI3933］［NGKI3942］*/
 
 	locked = sense_lock();
@@ -574,9 +555,9 @@
 	}
 	if (check_intno_cfg(intno) && check_intno_raise(intno)) {
-		raise_int(intno);						/*ï¼»NGKI3936ï¼½*/
+		raise_int(intno);						/*［NGKI3936］*/
 		ercd = E_OK;
 	}
 	else {
-		ercd = E_OBJ;							/*ï¼»NGKI3935ï¼½ï¼»NGKI3941ï¼½*/
+		ercd = E_OBJ;							/*［NGKI3935］［NGKI3941］*/
 	}
 	if (!locked) {
@@ -593,8 +574,8 @@
 
 /*
- *  å²è¾¼ã¿è¦æ±ã®ãã§ãã¯ï¼»NGKI3944ï¼½
+ *  割込み要求のチェック［NGKI3944］
  */
 #ifdef TOPPERS_prb_int
-#ifdef TOPPERS_SUPPORT_PRB_INT					/*ï¼»NGKI3951ï¼½*/
+#ifdef TOPPERS_SUPPORT_PRB_INT					/*［NGKI3951］*/
 
 ER_BOOL
@@ -605,5 +586,5 @@
 
 	LOG_PRB_INT_ENTER(intno);
-	CHECK_PAR(VALID_INTNO_PRBINT(intno));		/*ï¼»NGKI3945ï¼½ï¼»NGKI3952ï¼½*/
+	CHECK_PAR(VALID_INTNO_PRBINT(intno));		/*［NGKI3945］［NGKI3952］*/
 
 	locked = sense_lock();
@@ -612,8 +593,8 @@
 	}
 	if (check_intno_cfg(intno)) {
-		ercd = (ER_BOOL) probe_int(intno);		/*ï¼»NGKI3948ï¼½*/
-	}
-	else {
-		ercd = E_OBJ;							/*ï¼»NGKI3947ï¼½*/
+		ercd = (ER_BOOL) probe_int(intno);		/*［NGKI3948］*/
+	}
+	else {
+		ercd = E_OBJ;							/*［NGKI3947］*/
 	}
 	if (!locked) {
@@ -630,6 +611,5 @@
 
 /*
- *  å²è¾¼ã¿åªå
-åº¦ãã¹ã¯ã®å¤æ´ï¼»NGKI3107ï¼½
+ *  割込み優先度マスクの変更［NGKI3107］
  */
 #ifdef TOPPERS_chg_ipm
@@ -641,9 +621,9 @@
 
 	LOG_CHG_IPM_ENTER(intpri);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3108ï¼½ï¼»NGKI3109ï¼½*/
-	CHECK_PAR(VALID_INTPRI_CHGIPM(intpri));		/*ï¼»NGKI3113ï¼½ï¼»NGKI3114ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3108］［NGKI3109］*/
+	CHECK_PAR(VALID_INTPRI_CHGIPM(intpri));		/*［NGKI3113］［NGKI3114］*/
 
 	lock_cpu();
-	t_set_ipm(intpri);							/*ï¼»NGKI3111ï¼½*/
+	t_set_ipm(intpri);							/*［NGKI3111］*/
 	if (intpri == TIPM_ENAALL && enadsp) {
 		dspflg = true;
@@ -681,7 +661,5 @@
 
 /*
- *  å²è¾¼ã¿åªå
-åº¦ãã¹ã¯ã®åç
-§ï¼»NGKI3115ï¼½
+ *  割込み優先度マスクの参照［NGKI3115］
  */
 #ifdef TOPPERS_get_ipm
@@ -693,8 +671,8 @@
 
 	LOG_GET_IPM_ENTER(p_intpri);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3116ï¼½ï¼»NGKI3117ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3116］［NGKI3117］*/
 
 	lock_cpu();
-	*p_intpri = t_get_ipm();					/*ï¼»NGKI3120ï¼½*/
+	*p_intpri = t_get_ipm();					/*［NGKI3120］*/
 	ercd = E_OK;
 	unlock_cpu();
Index: asp3_gr_sakura/trunk/kernel/interrupt.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/interrupt.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/interrupt.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		å²è¾¼ã¿ç®¡çæ©è½
+ *		割込み管理機能
  */
 
@@ -67,56 +52,52 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³åæåãã­ãã¯
+ *  割込みサービスルーチン初期化ブロック
  */
 typedef struct isr_initialization_block {
-	ATR			isratr;			/* å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å±æ§ */
-	intptr_t	exinf;			/* å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®æ¡å¼µæ
-å ± */
-	QUEUE		*p_isr_queue;	/* ç»é²å
-å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å¼åºãã­ã¥ã¼ */
-	ISR			isr;			/* å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®å
-é ­çªå° */
-	PRI			isrpri;			/* å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³åªå
-åº¦ */
+	ATR			isratr;			/* 割込みサービスルーチン属性 */
+	intptr_t	exinf;			/* 割込みサービスルーチンの拡張情報 */
+	QUEUE		*p_isr_queue;	/* 登録先割込みサービスルーチン呼出しキュー */
+	ISR			isr;			/* 割込みサービスルーチンの先頭番地 */
+	PRI			isrpri;			/* 割込みサービスルーチン優先度 */
 } ISRINIB;
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç®¡çãã­ãã¯
+ *  割込みサービスルーチン管理ブロック
  */
 typedef struct isr_control_block {
-	QUEUE		isr_queue;		/* å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å¼åºãã­ã¥ã¼ */
-	const ISRINIB *p_isrinib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	QUEUE		isr_queue;		/* 割込みサービスルーチン呼出しキュー */
+	const ISRINIB *p_isrinib;	/* 初期化ブロックへのポインタ */
 } ISRCB;
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å¼åºãã­ã¥ã¼ãæ¤ç´¢ããããã®ãã¼ã¿æ§é 
+ *  割込みサービスルーチン呼出しキューを検索するためのデータ構造
  */
 typedef struct {
-	INTNO		intno;			/* å²è¾¼ã¿çªå· */
-	QUEUE		*p_isr_queue;	/* å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å¼åºãã­ã¥ã¼ */
+	INTNO		intno;			/* 割込み番号 */
+	QUEUE		*p_isr_queue;	/* 割込みサービスルーチン呼出しキュー */
 } ISR_ENTRY;
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å¼åºãã­ã¥ã¼ã®ã¨ã³ããªæ°ï¼kernel_cfg.cï¼
+ *  割込みサービスルーチン呼出しキューのエントリ数（kernel_cfg.c）
  */
 extern const uint_t tnum_isr_queue;
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å¼åºãã­ã¥ã¼ãªã¹ãï¼kernel_cfg.cï¼
+ *  割込みサービスルーチン呼出しキューリスト（kernel_cfg.c）
  */
 extern const ISR_ENTRY isr_queue_list[];
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³å¼åºãã­ã¥ã¼ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  割込みサービスルーチン呼出しキューのエリア（kernel_cfg.c）
  */
 extern QUEUE isr_queue_table[];
 
 /*
- *  ä½¿ç¨ãã¦ããªãå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していない割込みサービスルーチン管理ブロックのリスト
  */
 extern QUEUE	free_isrcb;
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  割込みサービスルーチンIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_isrid;
@@ -124,5 +105,5 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  割込みサービスルーチン初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const ISRINIB	isrinib_table[];
@@ -130,26 +111,26 @@
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³çæé åºãã¼ãã«ï¼kernel_cfg.cï¼
+ *  割込みサービスルーチン生成順序テーブル（kernel_cfg.c）
  */
 extern const ID	isrorder_table[];
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  割込みサービスルーチン管理ブロックのエリア（kernel_cfg.c）
  */
 extern ISRCB	isrcb_table[];
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç®¡çãã­ãã¯ããå²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³IDãå
- *  ãåºãããã®ãã¯ã­
+ *  割込みサービスルーチン管理ブロックから割込みサービスルーチンIDを取
+ *  り出すためのマクロ
  */
 #define	ISRID(p_isrcb)	((ID)(((p_isrcb) - isrcb_table) + TMIN_ISRID))
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³æ©è½ã®åæå
+ *  割込みサービスルーチン機能の初期化
  */
 extern void initialize_isr(void);
 
 /*
- *  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®å¼åºã
+ *  割込みサービスルーチンの呼出し
  */
 extern void call_isr(QUEUE *p_isr_queue);
@@ -158,20 +139,19 @@
 
 /*
- *  å²è¾¼ã¿ãã³ãã©åæåãã­ãã¯
+ *  割込みハンドラ初期化ブロック
  */
 typedef struct interrupt_handler_initialization_block {
-	INHNO		inhno;			/* å²è¾¼ã¿ãã³ãã©çªå· */
-	ATR			inhatr;			/* å²è¾¼ã¿ãã³ãã©å±æ§ */
-	FP			int_entry;		/* å²è¾¼ã¿ãã³ãã©ã®åºå
-¥å£å¦çã®çªå° */
+	INHNO		inhno;			/* 割込みハンドラ番号 */
+	ATR			inhatr;			/* 割込みハンドラ属性 */
+	FP			int_entry;		/* 割込みハンドラの出入口処理の番地 */
 } INHINIB;
 
 /*
- *  å®ç¾©ããå²è¾¼ã¿ãã³ãã©çªå·ã®æ°ï¼kernel_cfg.cï¼
+ *  定義する割込みハンドラ番号の数（kernel_cfg.c）
  */
 extern const uint_t	tnum_def_inhno;
 
 /*
- *  å²è¾¼ã¿ãã³ãã©åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  割込みハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const INHINIB	inhinib_table[];
@@ -182,20 +162,19 @@
 
 /*
- *  å²è¾¼ã¿è¦æ±ã©ã¤ã³åæåãã­ãã¯
+ *  割込み要求ライン初期化ブロック
  */
 typedef struct interrupt_request_initialization_block {
-	INTNO		intno;			/* å²è¾¼ã¿çªå· */
-	ATR			intatr;			/* å²è¾¼ã¿å±æ§ */
-	PRI			intpri;			/* å²è¾¼ã¿åªå
-åº¦ */
+	INTNO		intno;			/* 割込み番号 */
+	ATR			intatr;			/* 割込み属性 */
+	PRI			intpri;			/* 割込み優先度 */
 } INTINIB;
 
 /*
- *  è¨­å®ããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã®æ°ï¼kernel_cfg.cï¼
+ *  設定する割込み要求ラインの数（kernel_cfg.c）
  */
 extern const uint_t	tnum_cfg_intno;
 
 /*
- *  å²è¾¼ã¿è¦æ±ã©ã¤ã³åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  割込み要求ライン初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const INTINIB	intinib_table[];
@@ -204,5 +183,5 @@
 
 /*
- *  å²è¾¼ã¿ç®¡çæ©è½ã®åæå
+ *  割込み管理機能の初期化
  */
 extern void	initialize_interrupt(void);
Index: asp3_gr_sakura/trunk/kernel/interrupt.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/interrupt.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/interrupt.trb	(revision 318)
@@ -9,63 +9,48 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
-# 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
-# 
-#   $Id: interrupt.trb 678 2016-03-06 02:36:09Z ertl-hiro $
-# 
-
-#
-#		å²è¾¼ã¿ç®¡çæ©è½ã®çæã¹ã¯ãªãã
-#
-
-#
-#  kernel_cfg.cã®çæ
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
+# 
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
+# 
+#   $Id$
+# 
+
+#
+#		割込み管理機能の生成スクリプト
+#
+
+#
+#  kernel_cfg.cの生成
 #
 $kernelCfgC.comment_header("Interrupt Management Functions")
 
 #
-#  CRE_ISRã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨ããã«å¯¾å¿ããå²è¾¼ã¿ãã³ãã©çªå·ã®ã
-#  ãã©ã«ãå®ç¾©
+#  CRE_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号のデ
+#  フォルト定義
 #
 if $INTNO_CREISR_VALID.nil?
@@ -77,6 +62,5 @@
 
 #
-#  CFG_INTã§ä½¿ç¨ã§ããå²è¾¼ã¿åªå
-åº¦ã®ããã©ã«ãå®ç¾©
+#  CFG_INTで使用できる割込み優先度のデフォルト定義
 # 
 if $INTPRI_CFGINT_VALID.nil?
@@ -85,5 +69,5 @@
 
 #
-#  å²è¾¼ã¿çªå·ã¨å²è¾¼ã¿ãã³ãã©çªå·ã®å¤æãã¼ãã«ã®ä½æ
+#  割込み番号と割込みハンドラ番号の変換テーブルの作成
 #
 if $INTNO_CREISR_VALID.length != $INHNO_CREISR_VALID.length
@@ -101,27 +85,26 @@
 
 #
-#  å²è¾¼ã¿è¦æ±ã©ã¤ã³ã«é¢ããã¨ã©ã¼ãã§ãã¯
+#  割込み要求ラインに関するエラーチェック
 #
 $cfgData[:CFG_INT].each do |key, params|
-  #	intnoãå²è¾¼ã¿çªå·ã¨ãã¦æ­£ãããªãå ´åï¼E_PARï¼ï¼»NGKI2972ï¼½
+  #	intnoが割込み番号として正しくない場合（E_PAR）［NGKI2972］
   if $INTNO_VALID.index(params[:intno]).nil?
     error_illegal("E_PAR", params, :intno)
   end
 
-  #	intatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2969ï¼½
-  #ï¼TA_ENAINTï¼TA_EDGEï¼TARGET_INTATRä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+  #	intatrが無効の場合（E_RSATR）［NGKI2969］
+  #（TA_ENAINT，TA_EDGE，TARGET_INTATR以外のビットがセットされている場合）
   if (params[:intatr] & ~($TA_ENAINT|$TA_EDGE|$TARGET_INTATR)) != 0
     error_illegal_sym("E_RSATR", params, :intatr, :intno)
   end
 
-  #	intpriãCFG_INTã«å¯¾ããå²è¾¼ã¿åªå
-åº¦ã¨ãã¦æ­£ãããªãå ´åï¼E_PARï¼
-  #	ï¼»NGKI2973ï¼½
+  #	intpriがCFG_INTに対する割込み優先度として正しくない場合（E_PAR）
+  #	［NGKI2973］
   if $INTPRI_CFGINT_VALID.index(params[:intpri]).nil?
     error_illegal_sym("E_OBJ", params, :intpri, :intno)
   end
 
-  # ã«ã¼ãã«ç®¡çå¤ã«åºå®ããã¦ããintnoã«å¯¾ãã¦ï¼intpriã«TMIN_INTPRIã
-  #	ããå°ããå¤ãæå®ãããªãã£ãå ´åï¼E_OBJï¼ï¼»NGKI2983ï¼½
+  # カーネル管理外に固定されているintnoに対して，intpriにTMIN_INTPRIよ
+  #	りも小さい値が指定されなかった場合（E_OBJ）［NGKI2983］
   if !$INTNO_FIX_NONKERNEL.nil?
     if !$INTNO_FIX_NONKERNEL.index(params[:intno]).nil?
@@ -133,6 +116,6 @@
   end
 
-  #	ã«ã¼ãã«ç®¡çã«åºå®ããã¦ããintnoã«å¯¾ãã¦ï¼intpriã«TMIN_INTPRIãã
-  #	ãå°ããå¤ãæå®ãããå ´åï¼E_OBJï¼ï¼»NGKI2984ï¼½
+  #	カーネル管理に固定されているintnoに対して，intpriにTMIN_INTPRIより
+  #	も小さい値が指定された場合（E_OBJ）［NGKI2984］
   if !$INTNO_FIX_KERNEL.nil?
     if !$INTNO_FIX_KERNEL.index(params[:intno]).nil?
@@ -146,20 +129,20 @@
 
 #
-#  å²è¾¼ã¿ãã³ãã©ã«é¢ããã¨ã©ã¼ãã§ãã¯
+#  割込みハンドラに関するエラーチェック
 #
 $cfgData[:DEF_INH].each do |key, params|
-  # inhnoãå²è¾¼ã¿ãã³ãã©çªå·ã¨ãã¦æ­£ãããªãå ´åï¼E_PARï¼ï¼»NGKI3055ï¼½
+  # inhnoが割込みハンドラ番号として正しくない場合（E_PAR）［NGKI3055］
   if $INHNO_VALID.index(params[:inhno]).nil?
     error_illegal("E_PAR", params, :inhno)
   end
 
-  # inhatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3052ï¼½
-  #ï¼TARGET_INHATRä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+  # inhatrが無効の場合（E_RSATR）［NGKI3052］
+  #（TARGET_INHATR以外のビットがセットされている場合）
   if (params[:inhatr] & ~($TARGET_INHATR)) != 0
     error_illegal_sym("E_RSATR", params, :inhatr, :inhno)
   end
 
-  #	ã«ã¼ãã«ç®¡çå¤ã«åºå®ããã¦ããinhnoã«å¯¾ãã¦ï¼inhatrã«TA_NONKERNELã
-  #	æå®ããã¦ããªãå ´åï¼E_RSATRï¼ï¼»NGKI3067ï¼½
+  #	カーネル管理外に固定されているinhnoに対して，inhatrにTA_NONKERNELが
+  #	指定されていない場合（E_RSATR）［NGKI3067］
   if !$INHNO_FIX_NONKERNEL.nil?
     if !$INHNO_FIX_NONKERNEL.index(params[:inhno]).nil?
@@ -171,6 +154,6 @@
   end
 
-  #	ã«ã¼ãã«ç®¡çã«åºå®ããã¦ããinhnoã«å¯¾ãã¦ï¼inhatrã«TA_NONKERNELãæ
-  #	å®ããã¦ããå ´åï¼E_RSATRï¼ï¼»NGKI3068ï¼½
+  #	カーネル管理に固定されているinhnoに対して，inhatrにTA_NONKERNELが指
+  #	定されている場合（E_RSATR）［NGKI3068］
   if !$INHNO_FIX_KERNEL.nil?
     if !$INHNO_FIX_KERNEL.index(params[:inhno]).nil?
@@ -185,5 +168,5 @@
     intnoVal = $toIntnoVal[params[:inhno].val]
 
-    # inhnoã«å¯¾å¿ããintnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3062ï¼½
+    # inhnoに対応するintnoに対するCFG_INTがない場合（E_OBJ）［NGKI3062］
     if !$cfgData[:CFG_INT].has_key?(intnoVal)
       error_ercd("E_OBJ", params, "intno `#{intnoVal}' corresponding to " \
@@ -192,8 +175,7 @@
       intnoParams = $cfgData[:CFG_INT][intnoVal]
       if (params[:inhatr] & $TA_NONKERNEL) == 0
-        # inhatrã«TA_NONKERNELãæå®ããã¦ãããï¼inhnoã«å¯¾å¿ããintno
-        # ã«å¯¾ãã¦CFG_INTã§è¨­å®ãããå²è¾¼ã¿åªå
-åº¦ãTMIN_INTPRIãããå°
-        # ããå ´åï¼E_OBJï¼ï¼»NGKI3065ï¼½
+        # inhatrにTA_NONKERNELが指定されておらず，inhnoに対応するintno
+        # に対してCFG_INTで設定された割込み優先度がTMIN_INTPRIよりも小
+        # さい場合（E_OBJ）［NGKI3065］
         if intnoParams[:intpri] < $TMIN_INTPRI
           error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \
@@ -201,8 +183,7 @@
         end
       else
-        # inhatrã«TA_NONKERNELãæå®ããã¦ããï¼inhnoã«å¯¾å¿ããintnoã«
-        # å¯¾ãã¦CFG_INTã§è¨­å®ãããå²è¾¼ã¿åªå
-åº¦ãTMIN_INTPRIä»¥ä¸ã§ãã
-        # å ´åï¼E_OBJï¼ï¼»NGKI3066ï¼½
+        # inhatrにTA_NONKERNELが指定されており，inhnoに対応するintnoに
+        # 対してCFG_INTで設定された割込み優先度がTMIN_INTPRI以上である
+        # 場合（E_OBJ）［NGKI3066］
         if intnoParams[:intpri] >= $TMIN_INTPRI
           error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \
@@ -215,21 +196,21 @@
 
 #
-#  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼ISRï¼ã«é¢ããã¨ã©ã¼ãã§ãã¯
+#  割込みサービスルーチン（ISR）に関するエラーチェック
 #
 $cfgData[:CRE_ISR].sort.each do |key, params|
-  #	isratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2998ï¼½
-  #ï¼TARGET_ISRATRä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+  #	isratrが無効の場合（E_RSATR）［NGKI2998］
+  #（TARGET_ISRATR以外のビットがセットされている場合）
   if (params[:isratr] & ~($TARGET_ISRATR)) != 0
     error_illegal("E_RSATR", params, "isratr")
   end
 
-  #	intnoãCRE_ISRã«å¯¾ããå²è¾¼ã¿çªå·ã¨ãã¦æ­£ãããªãå ´åï¼E_PARï¼
-  #	ï¼»NGKI3003ï¼½
+  #	intnoがCRE_ISRに対する割込み番号として正しくない場合（E_PAR）
+  #	［NGKI3003］
   if $INTNO_CREISR_VALID.index(params[:intno]).nil?
     error_illegal("E_PAR", params, "intno")
   end
 
-  #	(TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)ã§ãªãå ´åï¼E_PARï¼
-  #	ï¼»NGKI3005ï¼½
+  #	(TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)でない場合（E_PAR）
+  #	［NGKI3005］
   if !($TMIN_ISRPRI <= params[:isrpri] && params[:isrpri] <= $TMAX_ISRPRI)
     error_illegal("E_PAR", params, "isrpri")
@@ -238,5 +219,5 @@
 
 $INTNO_CREISR_VALID.each do |intnoVal|
-  # å²è¾¼ã¿çªå·intnoã«å¯¾ãã¦ç»é²ãããISRã®ãªã¹ãã®ä½æ
+  # 割込み番号intnoに対して登録されたISRのリストの作成
   isrParamsList = []
   $cfgData[:CRE_ISR].sort.each do |key, params|
@@ -246,9 +227,9 @@
   end
 
-  #	å²è¾¼ã¿çªå·intnoã«å¯¾ãã¦ç»é²ãããISRãå­å¨ããå ´å
+  #	割込み番号intnoに対して登録されたISRが存在する場合
   if isrParamsList.size > 0
     inhnoVal = $toInhnoVal[intnoVal]
 
-    # intnoã«å¯¾å¿ããinhnoã«å¯¾ãã¦DEF_INHãããå ´åï¼E_OBJï¼ï¼»NGKI3013ï¼½
+    # intnoに対応するinhnoに対してDEF_INHがある場合（E_OBJ）［NGKI3013］
     if $cfgData[:DEF_INH].has_key?(inhnoVal)
       inhnoParams = $cfgData[:DEF_INH][inhnoVal]
@@ -257,5 +238,5 @@
     end
 
-    # intnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3012ï¼½
+    # intnoに対するCFG_INTがない場合（E_OBJ）［NGKI3012］
     if !$cfgData[:CFG_INT].has_key?(intnoVal)
       error_ercd("E_OBJ", isrParamsList[0], "%%intno in %apiname " \
@@ -264,7 +245,6 @@
       intnoParams = $cfgData[:CFG_INT][intnoVal]
 
-      #	intnoã«å¯¾ãã¦CFG_INTã§è¨­å®ãããå²è¾¼ã¿åªå
-åº¦ãTMIN_INTPRIããã
-      #	å°ããå ´åï¼E_OBJï¼ï¼»NGKI3014ï¼½
+      #	intnoに対してCFG_INTで設定された割込み優先度がTMIN_INTPRIよりも
+      #	小さい場合（E_OBJ）［NGKI3014］
       if intnoParams[:intpri] < $TMIN_INTPRI
         error_ercd("E_OBJ", isrParamsList[0],
@@ -277,5 +257,5 @@
 
 #
-#  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼ISRï¼ç®¡çã®ãã¼ã¿æ§é 
+#  割込みサービスルーチン（ISR）管理のデータ構造
 #
 intnoIsrList = []
@@ -313,10 +293,10 @@
 
 #
-#  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼ISRï¼å¼åºãã®ããã®å²è¾¼ã¿ãã³ãã©
+#  割込みサービスルーチン（ISR）呼出しのための割込みハンドラ
 #
 intnoIsrList.each do |intnoVal|
   inhnoVal = $toInhnoVal[intnoVal]
 
-  # æ¬¡ã®DEF_INHã«ç¸å½ãããã¼ã¿ãçæ
+  # 次のDEF_INHに相当するデータを生成
   # DEF_INH(inhno, { TA_NULL, _kernel_inthdr_<intno> } );
   $cfgData[:DEF_INH][inhnoVal] = {
@@ -326,5 +306,5 @@
   }
 
-  # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç¨ã®å²è¾¼ã¿ãã³ãã©
+  # 割込みサービスルーチン用の割込みハンドラ
   $kernelCfgC.add("void")
   $kernelCfgC.add("_kernel_inthdr_#{intnoVal}(void)")
@@ -335,6 +315,5 @@
 
 #
-#  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã«é¢ããä¸è¬çãªæ
-å ±ã®çæ
+#  割込みサービスルーチンに関する一般的な情報の生成
 #
 class IsrObject < KernelObject
@@ -344,5 +323,5 @@
 
   def prepare(key, params)
-    # ã¨ã©ã¼ãã§ãã¯ã¯å®æ½æ¸ã¿ãªã®ã§ï¼ããã§ã®å¦çã¯ä¸è¦
+    # エラーチェックは実施済みなので，ここでの処理は不要
   end
 
@@ -355,5 +334,5 @@
 IsrObject.new.generate()
 
-# å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³çæé åºãã¼ãã«ã®çæ
+# 割込みサービスルーチン生成順序テーブルの生成
 $kernelCfgC.add("const ID _kernel_isrorder_table[TNUM_SISRID] = { ")
 $kernelCfgC.append("\t")
@@ -366,10 +345,9 @@
 
 #
-#  å²è¾¼ã¿ãã³ãã©ã®ããã®æ¨æºçãªåæåæ
-å ±ã®çæ
+#  割込みハンドラのための標準的な初期化情報の生成
 #
 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INHINIB_TABLE
   #
-  #  å®ç¾©ããå²è¾¼ã¿ãã³ãã©ã®æ°
+  #  定義する割込みハンドラの数
   #
   $kernelCfgC.add(<<EOS)
@@ -380,5 +358,5 @@
   if $cfgData[:DEF_INH].size != 0
     #
-    #  å²è¾¼ã¿ãã³ãã©ã®ã¨ã³ããª
+    #  割込みハンドラのエントリ
     #
     $cfgData[:DEF_INH].each do |key, params|
@@ -391,5 +369,5 @@
 
     #
-    #  å²è¾¼ã¿ãã³ãã©åæåãã­ãã¯
+    #  割込みハンドラ初期化ブロック
     #
     $kernelCfgC.add("const INHINIB _kernel_inhinib_table[TNUM_DEF_INHNO] = {")
@@ -413,10 +391,9 @@
 
 #
-#  å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®ããã®æ¨æºçãªåæåæ
-å ±ã®çæ
+#  割込み要求ラインのための標準的な初期化情報の生成
 #
 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INTINIB_TABLE
   #
-  #  è¨­å®ããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã®æ°
+  #  設定する割込み要求ラインの数
   #
   $kernelCfgC.add(<<EOS)
@@ -426,5 +403,5 @@
 
   #
-  #  å²è¾¼ã¿è¦æ±ã©ã¤ã³åæåãã­ãã¯
+  #  割込み要求ライン初期化ブロック
   #
   if $cfgData[:CFG_INT].size != 0
@@ -444,5 +421,5 @@
 
 #
-#  å²è¾¼ã¿ç®¡çæ©è½åæåé¢æ°ã®è¿½å 
+#  割込み管理機能初期化関数の追加
 #
 $initializeFunctions.push("_kernel_initialize_interrupt();")
Index: asp3_gr_sakura/trunk/kernel/kernel.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/kernel.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/kernel.trb	(revision 318)
@@ -9,63 +9,47 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: kernel.trb 716 2016-03-31 06:16:23Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹2ã®çæã¹ã¯ãªãã
-#
-
-#
-#  ã¿ã¤ã ã¹ã¿ã³ããã¡ã¤ã«ã®æå®
+#		コンフィギュレータのパス2の生成スクリプト
+#
+
+#
+#  タイムスタンプファイルの指定
 #
 $timeStampFileName = "kernel_cfg.timestamp"
 
 #
-#  kernel_cfg.hã®å
-é ­é¨åã®çæ
+#  kernel_cfg.hの先頭部分の生成
 #
 $kernelCfgH = GenFile.new("kernel_cfg.h")
@@ -77,6 +61,5 @@
 
 #
-#  kernel_cfg.cã®å
-é ­é¨åã®çæ
+#  kernel_cfg.cの先頭部分の生成
 #
 $kernelCfgC = GenFile.new("kernel_cfg.c")
@@ -92,5 +75,5 @@
 
 #
-#  ã¤ã³ã¯ã«ã¼ããã£ã¬ã¯ãã£ãï¼#includeï¼
+#  インクルードディレクティブ（#include）
 #
 $kernelCfgC.comment_header("Include Directives")
@@ -101,12 +84,11 @@
 
 #
-#  ã¹ã¿ãã¯é åã®ç¢ºä¿é¢æ°
-#
-#  ã¹ã¿ãã¯é åã®å®ç¾©åã¨ï¼ã¹ã¿ãã¯é åã®ãµã¤ãºè¨è¿°ãé
-åã§è¿ãï¼
+#  スタック領域の確保関数
+#
+#  スタック領域の定義分と，スタック領域のサイズ記述を配列で返す．
 #
 unless defined? AllocStack()
   def AllocStack(stack, size)
-    # å¤§ããæ¹ã«ä¸¸ãããµã¤ãºã§ç¢ºä¿ããï¼»NGKI1050ï¼½ï¼»NGKI3220ï¼½
+    # 大きい方に丸めたサイズで確保する［NGKI1050］［NGKI3220］
     $kernelCfgC.add("static STK_T #{stack}[COUNT_STK_T(#{size})];")
     return("ROUND_STK_T(#{size})")
@@ -115,6 +97,5 @@
 
 #
-#  ã«ã¼ãã«ãªãã¸ã§ã¯ãã«é¢ããæ
-å ±ã®çæï¼ä»®æ³ã¯ã©ã¹ï¼
+#  カーネルオブジェクトに関する情報の生成（仮想クラス）
 #
 class KernelObject
@@ -131,5 +112,5 @@
 
   def generate()
-    # AID_@OBJã®å¦ç
+    # AID_@OBJの処理
     numAutoObjid = 0
     $cfgData["AID_#{@OBJ}".to_sym].each do |key, params|
@@ -138,8 +119,8 @@
     numObjid = $cfgData[@api].size + numAutoObjid
 
-    # kernel_cfg.hã®çæ
+    # kernel_cfg.hの生成
     $kernelCfgH.add("#define TNUM_#{@OBJ}ID\t#{numObjid}")
 
-    # ãªãã¸ã§ã¯ãã®IDçªå·ã®ãã¯ã­å®ç¾©ã®çæ
+    # オブジェクトのID番号のマクロ定義の生成
     $cfgData[@api].sort.each do |key, params|
       $kernelCfgH.add("#define #{params[@objid]}\t#{params[@objid].val}")
@@ -147,5 +128,5 @@
     $kernelCfgH.add()
 
-    # ãªãã¸ã§ã¯ãã®IDçªå·ãä¿æããå¤æ°
+    # オブジェクトのID番号を保持する変数
     if $USE_EXTERNAL_ID
       $cfgData[@api].sort.each do |key, params|
@@ -156,8 +137,8 @@
     end
 
-    # éçã«çæããããªãã¸ã§ã¯ãã®æ°
+    # 静的に生成されたオブジェクトの数
     $kernelCfgC.add("#define TNUM_S#{@OBJ}ID\t#{$cfgData[@api].size}")
 
-    # ãªãã¸ã§ã¯ãIDçªå·ã®æå¤§å¤
+    # オブジェクトID番号の最大値
     $kernelCfgC.add("const ID _kernel_tmax_#{@obj}id" \
 							" = (TMIN_#{@OBJ}ID + TNUM_#{@OBJ}ID - 1);")
@@ -165,19 +146,17 @@
 							" = (TMIN_#{@OBJ}ID + TNUM_S#{@OBJ}ID - 1);")
 
-    # ãã¼ã¿æ§é 
+    # データ構造
     if $cfgData[@api].size > 0
-      # äºåæºåï¼ã¨ã©ã¼ãã§ãã¯ï¼ã¡ã¢ãªé åã®çæï¼
+      # 事前準備（エラーチェック，メモリ領域の生成）
       $cfgData[@api].sort.each do |key, params|
         prepare(key, params)
       end
 
-      # ãªãã¸ã§ã¯ãå
-¨ä½ã«å¯¾ãã¦å¿
-è¦ãªã¡ã¢ãªé åã®çæï¼ãªãã·ã§ã³ï¼
+      # オブジェクト全体に対して必要なメモリ領域の生成（オプション）
       if respond_to?(:generateData)
         generateData()
       end
 
-      # ãªãã¸ã§ã¯ãåæåãã­ãã¯ã®çæ
+      # オブジェクト初期化ブロックの生成
       $kernelCfgC.add("const #{@OBJ_S}INIB _kernel_#{@obj_s}inib_table" \
 													"[TNUM_S#{@OBJ}ID] = {")
@@ -193,5 +172,5 @@
     end
 
-    # åççæãªãã¸ã§ã¯ãç¨ã®ãªãã¸ã§ã¯ãåæåãã­ãã¯
+    # 動的生成オブジェクト用のオブジェクト初期化ブロック
     @inibList.each do |type, array|
       if numAutoObjid > 0
@@ -203,9 +182,9 @@
 
     if numObjid > 0
-      # ãªãã¸ã§ã¯ãç®¡çãã­ãã¯ã®çæ
+      # オブジェクト管理ブロックの生成
       $kernelCfgC.add2("#{@OBJ_S}CB _kernel_#{@obj_s}cb_table" \
 													"[TNUM_#{@OBJ}ID];")
 
-      # ãªãã¸ã§ã¯ãåæåé¢æ°ã®è¿½å 
+      # オブジェクト初期化関数の追加
       $initializeFunctions.push("_kernel_initialize_#{@object}();")
     else
@@ -217,8 +196,8 @@
 
 #
-#  éç¥ãã³ãã©ã®çæé¢æ°
+#  通知ハンドラの生成関数
 #
 def generateNotifyHandler(key, params, objid)
-  # ãã©ã¡ã¼ã¿ãå¤æ°ã«æ ¼ç´
+  # パラメータを変数に格納
   nfymode = params[:nfymode]
   nfymode1 = nfymode & 0x0f
@@ -227,14 +206,14 @@
   par2 = params[:par2]
 
-  # éç¥å¦çã®ãã©ã¡ã¼ã¿æ°ã«ããè£æ­£å¦ç
+  # 通知処理のパラメータ数による補正処理
   if nfymode == $TNFY_HANDLER || nfymode1 == $TNFY_SETVAR \
 								|| nfymode1 == $TNFY_SETFLG \
 								|| nfymode1 == $TNFY_SNDDTQ
-    # éç¥å¦çã®ãã©ã¡ã¼ã¿ã2ã¤ã®å ´å
+    # 通知処理のパラメータが2つの場合
 	numpar = 2
 	epar1 = params[:par3]
 	epar2 = params[:par4]
   else
-    # éç¥å¦çã®ãã©ã¡ã¼ã¿ã1ã¤ã®å ´å
+    # 通知処理のパラメータが1つの場合
     numpar = 1
     epar1 = params[:par2]
@@ -242,25 +221,24 @@
   end
 
-  # ãã©ã¡ã¼ã¿æ°ã®ãã§ãã¯
+  # パラメータ数のチェック
   if (numpar == 2 && par2.nil?) || (nfymode2 != 0 && epar1.nil?) \
 								|| (nfymode2 == $TENFY_SETFLG && epar2.nil?)
-    # ãã©ã¡ã¼ã¿ãè¶³ããªãå ´å
+    # パラメータが足りない場合
     error_api(params, "too few parameters for nfymode `#{nfymode}' " \
 											"in %apiname of %#{objid}")
   elsif (nfymode2 == 0 && !epar1.nil?) \
 					|| (nfymode2 != $TENFY_SETFLG && !epar2.nil?)
-    # ãã©ã¡ã¼ã¿ãå¤ãããå ´å
+    # パラメータが多すぎる場合
     error_api(params, "too many parameters for nfymode `#{nfymode}' " \
 											"in %apiname of %#{objid}")
   elsif nfymode == $TNFY_HANDLER
-    # ã¿ã¤ã ã¤ãã³ããã³ãã©ã®å¼åºã
+    # タイムイベントハンドラの呼出し
     funcname = "(NFYHDR)(#{par2})"
   else
-    # éç¥ãã³ãã©ã®é¢æ°å
+    # 通知ハンドラの関数名
     funcname = "_kernel_nfyhdr_#{params[objid]}"
 
-    # ã¨ã©ã¼éç¥ã®ããã®å¤æ°ã®ã¢ãã¬ã¹ã¨ãªãã¸ã§ã¯ãIDãæ ¼ç´ãã
-    # å¤æ°ã®çæï¼ã¨ã©ã¼ãã§ãã¯ã®ããã«å¿
-è¦ï¼
+    # エラー通知のための変数のアドレスとオブジェクトIDを格納する
+    # 変数の生成（エラーチェックのために必要）
     if nfymode2 == $TENFY_SETVAR || nfymode2 == $TENFY_INCVAR
       $kernelCfgC.add2("intptr_t *const #{funcname}_p_evar =" \
@@ -276,6 +254,5 @@
     end
 
-    # é¢æ°ã®å
-é ­é¨åã®çæ
+    # 関数の先頭部分の生成
     $kernelCfgC.add("static void")
     $kernelCfgC.add("#{funcname}(intptr_t exinf)")
@@ -283,35 +260,35 @@
 
     if nfymode2 == 0
-      # ã¨ã©ã¼éç¥ããªãå ´å
+      # エラー通知がない場合
       errorCode = "(void) "
     else
-      # ã¨ã©ã¼éç¥ãããå ´å
+      # エラー通知がある場合
       $kernelCfgC.add2("\tER\tercd;")
       errorCode = "ercd = "
     end
 
-    # ã¤ãã³ãéç¥å¦çã®å¦ç
+    # イベント通知処理の処理
     if nfymode1 == $TNFY_SETVAR && nfymode2 == 0
-      # å¤æ°ã®è¨­å®
+      # 変数の設定
       $kernelCfgC.add("\t*((intptr_t *) exinf) = (#{par2});")
     elsif nfymode1 == $TNFY_INCVAR && nfymode2 == 0
-      # å¤æ°ã®ã¤ã³ã¯ãªã¡ã³ã
+      # 変数のインクリメント
       $kernelCfgC.add("\t(void) loc_cpu();")
       $kernelCfgC.add("\t*((intptr_t *) exinf) += 1;")
       $kernelCfgC.add("\t(void) unl_cpu();")
     elsif nfymode1 == $TNFY_ACTTSK
-      # ã¿ã¹ã¯ã®èµ·å
+      # タスクの起動
       $kernelCfgC.add("\t#{errorCode}act_tsk((ID) exinf);")
     elsif nfymode1 == $TNFY_WUPTSK
-      # ã¿ã¹ã¯ã®èµ·åº
+      # タスクの起床
       $kernelCfgC.add("\t#{errorCode}wup_tsk((ID) exinf);")
     elsif nfymode1 == $TNFY_SIGSEM
-      # ã»ããã©ã®è¿å´
+      # セマフォの返却
       $kernelCfgC.add("\t#{errorCode}sig_sem((ID) exinf);")
     elsif nfymode1 == $TNFY_SETFLG
-      # ã¤ãã³ããã©ã°ã®ã»ãã
+      # イベントフラグのセット
       $kernelCfgC.add("\t#{errorCode}set_flg(((ID) exinf), #{par2});")
     elsif nfymode1 == $TNFY_SNDDTQ
-      # ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡
+      # データキューへの送信
       $kernelCfgC.add("\t#{errorCode}psnd_dtq(((ID) exinf), #{par2});")
     else
@@ -320,30 +297,30 @@
 			
     if nfymode2 != 0
-      # ã¨ã©ã¼éç¥å¦çã®å¦ç
+      # エラー通知処理の処理
       $kernelCfgC.add("\tif (ercd != E_OK) {")
 
 
       if nfymode2 == $TENFY_SETVAR
-        # å¤æ°ã®è¨­å®
+        # 変数の設定
         $kernelCfgC.add("\t\t*#{funcname}_p_evar = (intptr_t) ercd;")
       elsif nfymode2 == $TENFY_INCVAR
-        # å¤æ°ã®ã¤ã³ã¯ãªã¡ã³ã
+        # 変数のインクリメント
         $kernelCfgC.add("\t\t(void) loc_cpu();")
         $kernelCfgC.add("\t\t*#{funcname}_p_evar += 1;")
         $kernelCfgC.add("\t\t(void) unl_cpu();")
       elsif nfymode2 == $TENFY_ACTTSK
-        # ã¿ã¹ã¯ã®èµ·å
+        # タスクの起動
         $kernelCfgC.add("\t\t(void) act_tsk(#{funcname}_etskid);")
       elsif nfymode2 == $TENFY_WUPTSK
-        # ã¿ã¹ã¯ã®èµ·åº
+        # タスクの起床
         $kernelCfgC.add("\t\t(void) wup_tsk(#{funcname}_etskid);")
       elsif nfymode2 == $TENFY_SIGSEM
-        # ã»ããã©ã®è¿å´
+        # セマフォの返却
         $kernelCfgC.add("\t\t(void) sig_sem(#{funcname}_esemid);")
       elsif nfymode2 == $TENFY_SETFLG
-        # ã¤ãã³ããã©ã°ã®ã»ãã
+        # イベントフラグのセット
         $kernelCfgC.add("\t\t(void) set_flg(#{funcname}_eflgid, #{epar2});")
       elsif nfymode2 == $TENFY_SNDDTQ
-        # ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡
+        # データキューへの送信
         $kernelCfgC.add("\t\t(void) psnd_dtq(#{funcname}_edtqid," \
 													" (intptr_t) ercd);")
@@ -354,5 +331,5 @@
     end
 
-    # é¢æ°ã®æ«å°¾é¨åã®çæ
+    # 関数の末尾部分の生成
     $kernelCfgC.add2("}")
   end
@@ -361,5 +338,5 @@
 
 #
-#  åæ©è½ã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
+#  各機能モジュールのコンフィギュレーション
 #
 $initializeFunctions = []
@@ -378,12 +355,12 @@
 
 #
-#  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é å
+#  非タスクコンテキスト用のスタック領域
 #
 $kernelCfgC.comment_header("Stack Area for Non-task Context")
 
 if $cfgData[:DEF_ICS].size == 0
-  # DEF_ICSããªãå ´åã®ããã©ã«ãå¤ã®è¨­å®
+  # DEF_ICSがない場合のデフォルト値の設定
   if $DEFAULT_ISTK.nil?
-    # ã¹ã¿ãã¯é åã®èªåå²ä»ã
+    # スタック領域の自動割付け
     istksz = AllocStack("_kernel_istack", "DEFAULT_ISTKSZ")
     istk = "_kernel_istack"
@@ -393,17 +370,17 @@
   end
 else
-  # éçAPIãDEF_ICSããè¤æ°ããï¼E_OBJï¼ï¼»NGKI3216ï¼½
+  # 静的API「DEF_ICS」が複数ある（E_OBJ）［NGKI3216］
   if $cfgData[:DEF_ICS].size > 1
     error("E_OBJ: too many DEF_ICS")
   end
 
-  # DEF_ICSãããå ´åã®å¦ç
+  # DEF_ICSがある場合の処理
   params = $cfgData[:DEF_ICS][1]
 
-  # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨­å®
+  # パラメータが省略された時のデフォルト値の設定
   params[:istk] ||= "NULL"
 
-  # istkszãã¿ã¼ã²ããå®ç¾©ã®æå°å¤ï¼TARGET_MIN_ISTKSZï¼æªå®ç¾©ã®å ´åã¯1ï¼
-  # ãããå°ããå ´åï¼E_PARï¼ï¼»NGKI3254ï¼½
+  # istkszがターゲット定義の最小値（TARGET_MIN_ISTKSZ，未定義の場合は1）
+  # よりも小さい場合（E_PAR）［NGKI3254］
   if params[:istksz] < $TARGET_MIN_ISTKSZ
     error_wrong("E_PAR", params, :istksz, "too small")
@@ -411,9 +388,9 @@
 
   if params[:istk] == "NULL"
-    # ã¹ã¿ãã¯é åã®èªåå²ä»ã
+    # スタック領域の自動割付け
     istksz = AllocStack("_kernel_istack", params[:istksz])
     istk = "_kernel_istack"
   else
-    # istkszãã¹ã¿ãã¯é åã®ãµã¤ãºã¨ãã¦æ­£ãããªãå ´åï¼E_PARï¼ï¼»NGKI3222ï¼½
+    # istkszがスタック領域のサイズとして正しくない場合（E_PAR）［NGKI3222］
     if (params[:istksz] & ($CHECK_STKSZ_ALIGN - 1)) != 0
       error_wrong("E_PAR", params, :istksz, "not aligned")
@@ -435,25 +412,25 @@
 
 #
-#  ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé å
+#  カーネルが割り付けるメモリ領域
 #
 $kernelCfgC.comment_header("Memory Area Allocated by Kernel")
 
 if $cfgData[:DEF_KMM].size == 0
-  # DEF_KMMããªãå ´åã®ããã©ã«ãå¤ã®è¨­å®
+  # DEF_KMMがない場合のデフォルト値の設定
   kmmsz = "0"
   kmm = "NULL"
 else
-  # éçAPIãDEF_KMMããè¤æ°ããï¼E_OBJï¼
+  # 静的API「DEF_KMM」が複数ある（E_OBJ）
   if ($cfgData[:DEF_KMM].size > 1)
     error("E_OBJ: too many DEF_KMM")
   end
 
-  # DEF_KMMãããå ´åã®å¦ç
+  # DEF_KMMがある場合の処理
   params = $cfgData[:DEF_KMM][1]
 
-  # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨­å®
+  # パラメータが省略された時のデフォルト値の設定
   params[:kmm] ||= "NULL"
 
-  # kmmszã0ã®å ´åï¼E_PARï¼
+  # kmmszが0の場合（E_PAR）
   if params[:kmmsz] == 0
     error_wrong("E_PAR", params, :kmmsz, "zero")
@@ -461,5 +438,5 @@
 
   if params[:kmm] == "NULL"
-    # ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®èªåå²ä»ã
+    # カーネルが割り付けるメモリ領域の自動割付け
     $kernelCfgC.add("static MB_T _kernel_memory" \
 					"[TOPPERS_COUNT_SZ(#{params[:kmmsz]}, sizeof(MB_T))];")
@@ -467,6 +444,6 @@
     kmm = "_kernel_memory"
   else
-    # kmmszãã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®ãµã¤ãºã¨ãã¦æ­£ãããªãå ´å
-    # ï¼E_PARï¼
+    # kmmszがカーネルが割り付けるメモリ領域のサイズとして正しくない場合
+    # （E_PAR）
     if (params[:kmmsz] & ($CHECK_MB_ALIGN - 1)) != 0
       error_wrong("E_PAR", params, :kmmsz, "not aligned")
@@ -484,5 +461,5 @@
 
 #
-#  ã¿ã¤ã ã¤ãã³ãç®¡ç
+#  タイムイベント管理
 #
 $kernelCfgC.comment_header("Time Event Management")
@@ -492,5 +469,5 @@
 
 #
-#  åã¢ã¸ã¥ã¼ã«ã®åæåé¢æ°
+#  各モジュールの初期化関数
 #
 $kernelCfgC.comment_header("Module Initialization Function")
@@ -506,12 +483,12 @@
 
 #
-#  åæåã«ã¼ãã³æ©è½
+#  初期化ルーチン機能
 #
 $kernelCfgC.comment_header("Initialization Routine")
 
-# ã¨ã©ã¼ãã§ãã¯
+# エラーチェック
 $cfgData[:ATT_INI].each do |key, params|
-  # iniatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3241ï¼½
-  #ï¼TA_NULLã§ãªãå ´åï¼
+  # iniatrが無効の場合（E_RSATR）［NGKI3241］
+  #（TA_NULLでない場合）
   if (params[:iniatr] != $TA_NULL)
     error_illegal_sym("E_RSATR", params, :iniatr, :inirtn)
@@ -519,5 +496,5 @@
 end
 
-# åæåã«ã¼ãã³ã®å®è¡é¢æ°ã®çæ
+# 初期化ルーチンの実行関数の生成
 $kernelCfgC.append(<<EOS)
 void
@@ -532,12 +509,12 @@
 
 #
-#  çµäºå¦çã«ã¼ãã³æ©è½
+#  終了処理ルーチン機能
 #
 $kernelCfgC.comment_header("Termination Routine")
 
-# ã¨ã©ã¼ãã§ãã¯
+# エラーチェック
 $cfgData[:ATT_TER].each do |key, params|
-  # teratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3248ï¼½
-  #ï¼TA_NULLã§ãªãå ´åï¼
+  # teratrが無効の場合（E_RSATR）［NGKI3248］
+  #（TA_NULLでない場合）
   if (params[:teratr] != $TA_NULL)
     error_illegal_sym("E_RSATR", params, :teratr, :terrtn)
@@ -545,5 +522,5 @@
 end
 
-# çµäºå¦çã«ã¼ãã³ã®å®è¡é¢æ°ã®çæ
+# 終了処理ルーチンの実行関数の生成
 $kernelCfgC.append(<<EOS)
 void
@@ -558,5 +535,5 @@
 
 #
-#  kernel_cfg.hã®æ«å°¾é¨åã®çæ
+#  kernel_cfg.hの末尾部分の生成
 #
 $kernelCfgH.append(<<EOS)
Index: asp3_gr_sakura/trunk/kernel/kernel_check.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/kernel_check.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/kernel_check.trb	(revision 318)
@@ -9,62 +9,47 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 #  
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 #  
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
-# 
-#   $Id: kernel_check.trb 662 2016-02-27 02:33:51Z ertl-hiro $
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
+# 
+#   $Id$
 #  
 
 #
-#		ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹3ã®çæã¹ã¯ãªãã
-#
-
-# 
-#  ã¿ã¤ã ã¹ã¿ã³ããã¡ã¤ã«ã®æå®
+#		コンフィギュレータのパス3の生成スクリプト
+#
+
+# 
+#  タイムスタンプファイルの指定
 # 
 $timeStampFileName = "check.timestamp"
 
 #
-#  ãã¼ã¿ã»ã¯ã·ã§ã³ã®LMAããVMAã¸ã®ã³ãã¼
+#  データセクションのLMAからVMAへのコピー
 #
 if !$lmaList.nil?
@@ -86,6 +71,5 @@
 
 #
-#  éç¥æ
-å ±ã®ãã§ãã¯é¢æ°
+#  通知情報のチェック関数
 #
 $tmax_tskid = $TMIN_TSKID + $cfgData[:CRE_TSK].size - 1
@@ -95,5 +79,5 @@
 
 def checkNotifyHandler(key, params, objid, exinf, nfyhdr)
-  # ãã©ã¡ã¼ã¿ãå¤æ°ã«æ ¼ç´
+  # パラメータを変数に格納
   nfymode = params[:nfymode]
   nfymode1 = nfymode & 0x0f
@@ -103,18 +87,17 @@
   funcname = "_kernel_nfyhdr_#{params[objid]}"
 
-  # éç¥å¦çã®ãã©ã¡ã¼ã¿æ°ã«ããè£æ­£å¦ç
+  # 通知処理のパラメータ数による補正処理
   if nfymode1 == $TNFY_SETVAR || nfymode1 == $TNFY_SETFLG \
 								|| nfymode1 == $TNFY_SNDDTQ
-    # éç¥å¦çã®ãã©ã¡ã¼ã¿ã2ã¤ã®å ´å
+    # 通知処理のパラメータが2つの場合
     epar1 = params[:par3]
     epar2 = params[:par4]
   else
-    # éç¥å¦çã®ãã©ã¡ã¼ã¿ã1ã¤ã®å ´å
+    # 通知処理のパラメータが1つの場合
     epar1 = params[:par2]
     epar2 = params[:par3]
   end
 
-  #	ã¿ã¤ã ã¤ãã³ããã³ãã©ã®å
-é ­çªå°ã®ãã§ãã¯ï¼»NGKI3693ï¼½
+  #	タイムイベントハンドラの先頭番地のチェック［NGKI3693］
   if nfymode == $TNFY_HANDLER
     tmehdr = nfyhdr
@@ -129,12 +112,12 @@
   end
 
-  #	ã¤ãã³ãéç¥å¦çã®å¤æ°ã®çªå°ã¨ãªãã¸ã§ã¯ãIDã®ãã§ãã¯
+  #	イベント通知処理の変数の番地とオブジェクトIDのチェック
   if nfymode1 == $TNFY_SETVAR || nfymode1 == $TNFY_INCVAR
-    # å¤æ°ã®è¨­å®ï¼ã¤ã³ã¯ãªã¡ã³ãã«ããã¿ã¤ã ã¤ãã³ãã®éç¥
+    # 変数の設定／インクリメントによるタイムイベントの通知
 	p_var = exinf
     params1 = params.dup
     params1[:p_var] = par1
 
-    # å¤æ°ã®çªå°ã®ãã§ãã¯ï¼»NGKI3699ï¼½ï¼»NGKI3897ï¼½
+    # 変数の番地のチェック［NGKI3699］［NGKI3897］
     if (p_var & ($CHECK_INTPTR_ALIGN - 1)) != 0
       error_wrong_id("E_PAR", params1, :p_var, objid, "not aligned")
@@ -144,40 +127,40 @@
     end
   elsif (nfymode1 == $TNFY_ACTTSK || nfymode1 == $TNFY_WUPTSK)
-    # ã¿ã¹ã¯ã®èµ·åï¼èµ·åºã«ããã¿ã¤ã ã¤ãã³ãã®éç¥
+    # タスクの起動／起床によるタイムイベントの通知
     tskid = exinf
     params1 = params.dup
     params1[:tskid] = par1
 
-    # ã¿ã¹ã¯IDã®ãã§ãã¯ï¼»NGKI3704ï¼½
+    # タスクIDのチェック［NGKI3704］
     if !($TMIN_TSKID <= tskid && tskid <= $tmax_tskid)
       error_illegal_id("E_ID", params1, :tskid, objid)
     end
   elsif nfymode1 == $TNFY_SIGSEM
-    # ã»ããã©ã®è³æºã®è¿å´ã«ããã¿ã¤ã ã¤ãã³ãã®éç¥
+    # セマフォの資源の返却によるタイムイベントの通知
     semid = exinf
     params1 = params.dup
     params1[:semid] = par1
 
-    # ã»ããã©IDã®ãã§ãã¯ï¼»NGKI3707ï¼½
+    # セマフォIDのチェック［NGKI3707］
     if !($TMIN_SEMID <= semid && semid <= $tmax_semid)
       error_illegal_id("E_ID", params1, :semid, objid)
     end
   elsif nfymode1 == $TNFY_SETFLG
-    # ã¤ãã³ããã©ã°ã®ã»ããã«ããã¿ã¤ã ã¤ãã³ãã®éç¥
+    # イベントフラグのセットによるタイムイベントの通知
     flgid = exinf
     params1 = params.dup
     params1[:flgid] = par1
 
-    # ã¤ãã³ããã©ã°IDã®ãã§ãã¯ï¼»NGKI3710ï¼½
+    # イベントフラグIDのチェック［NGKI3710］
     if !($TMIN_FLGID <= flgid && flgid <= $tmax_flgid)
       error_illegal_id("E_ID", params1, :flgid, objid)
     end
   elsif nfymode1 == $TNFY_SNDDTQ
-    # ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ã«ããã¿ã¤ã ã¤ãã³ãã®éç¥
+    # データキューへの送信によるタイムイベントの通知
     dtqid = exinf
     params1 = params.dup
     params1[:dtqid] = par1
 
-    # ãã¼ã¿ã­ã¥ã¼IDã®ãã§ãã¯ï¼»NGKI3713ï¼½
+    # データキューIDのチェック［NGKI3713］
     if !($TMIN_DTQID <= dtqid && dtqid <= $tmax_dtqid)
       error_illegal_id("E_ID", params1, :dtqid, objid)
@@ -185,12 +168,12 @@
   end
 
-  # ã¨ã©ã¼éç¥å¦çã®å¤æ°ã®çªå°ã¨ãªãã¸ã§ã¯ãIDã®ãã§ãã¯
+  # エラー通知処理の変数の番地とオブジェクトIDのチェック
   if (nfymode2 == $TENFY_SETVAR || nfymode2 == $TENFY_INCVAR)
-    # å¤æ°ã®è¨­å®ï¼ã¤ã³ã¯ãªã¡ã³ãã«ããã¨ã©ã¼ã®éç¥
+    # 変数の設定／インクリメントによるエラーの通知
     p_var = PEEK(SYMBOL(funcname + "_p_evar"), $sizeof_intptr_t)
     params1 = params.dup
     params1[:p_var] = epar1
 
-    # å¤æ°ã®çªå°ã®ãã§ãã¯ï¼»NGKI3701ï¼½ï¼»NGKI3897ï¼½
+    # 変数の番地のチェック［NGKI3701］［NGKI3897］
     if (p_var & ($CHECK_INTPTR_ALIGN - 1)) != 0
       error_wrong_id("E_PAR", params1, :p_var, objid, "not aligned")
@@ -200,40 +183,40 @@
     end
   elsif nfymode2 == $TENFY_ACTTSK || nfymode2 == $TENFY_WUPTSK
-    # ã¿ã¹ã¯ã®èµ·åï¼èµ·åºã«ããã¨ã©ã¼ã®éç¥
+    # タスクの起動／起床によるエラーの通知
     tskid = PEEK(SYMBOL(funcname + "_etskid"), $sizeof_ID)
     params1 = params.dup
     params1[:tskid] = epar1
 
-    # ã¿ã¹ã¯IDã®ãã§ãã¯ï¼»NGKI3704ï¼½
+    # タスクIDのチェック［NGKI3704］
     if !($TMIN_TSKID <= tskid && tskid <= $tmax_tskid)
       error_illegal_id("E_ID", params1, :tskid, objid)
     end
   elsif nfymode2 == $TENFY_SIGSEM
-    # ã»ããã©ã®è³æºã®è¿å´ã«ããã¨ã©ã¼ã®éç¥
+    # セマフォの資源の返却によるエラーの通知
 	semid = PEEK(SYMBOL(funcname + "_esemid"), $sizeof_ID)
     params1 = params.dup
     params1[:semid] = epar1
 
-    # ã»ããã©IDã®ãã§ãã¯ï¼»NGKI3707ï¼½
+    # セマフォIDのチェック［NGKI3707］
     if !($TMIN_SEMID <= semid && semid <= $tmax_semid)
       error_illegal_id("E_ID", params1, :semid, objid)
     end
   elsif nfymode2 == $TENFY_SETFLG
-    # ã¤ãã³ããã©ã°ã®ã»ããã«ããã¨ã©ã¼ã®éç¥
+    # イベントフラグのセットによるエラーの通知
     flgid = PEEK(SYMBOL(funcname + "_eflgid"), $sizeof_ID)
     params1 = params.dup
     params1[:flgid] = epar1
 
-    # ã¤ãã³ããã©ã°IDã®ãã§ãã¯ï¼»NGKI3710ï¼½
+    # イベントフラグIDのチェック［NGKI3710］
     if !($TMIN_FLGID <= flgid && flgid <= $tmax_flgid)
       error_illegal_id("E_ID", params1, :flgid, objid)
     end
   elsif nfymode2 == $TENFY_SNDDTQ
-    # ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ã«ããã¨ã©ã¼ã®éç¥
+    # データキューへの送信によるエラーの通知
     dtqid = PEEK(SYMBOL(funcname + "_edtqid"), $sizeof_ID)
     params1 = params.dup
     params1[:dtqid] = epar1
 
-    # ãã¼ã¿ã­ã¥ã¼IDã®ãã§ãã¯ï¼»NGKI3715ï¼½
+    # データキューIDのチェック［NGKI3715］
     if !($TMIN_DTQID <= dtqid && dtqid <= $tmax_dtqid)
       error_illegal_id("E_ID", params1, :dtqid, objid)
@@ -243,5 +226,5 @@
 
 # 
-#  ã¿ã¹ã¯ã«é¢ãããã§ãã¯
+#  タスクに関するチェック
 # 
 tinib = SYMBOL("_kernel_tinib_table")
@@ -249,6 +232,5 @@
   task = PEEK(tinib + $offsetof_TINIB_task, $sizeof_TASK)
 
-  # ã¿ã¹ã¯ã®å
-é ­çªå°ã®ãã§ãã¯ï¼»NGKI1033ï¼½
+  # タスクの先頭番地のチェック［NGKI1033］
   if (task & ($CHECK_FUNC_ALIGN - 1)) != 0
     error_wrong_id("E_PAR", params, :task, :tskid, "not aligned")
@@ -258,6 +240,5 @@
   end
 
-  # ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã®å
-é ­çªå°ã®ãã§ãã¯ï¼»NGKI1056ï¼½
+  # タスクのスタック領域の先頭番地のチェック［NGKI1056］
   if $USE_TSKINICTXB
     stk = GetStackTskinictxb(key, params, tinib)
@@ -276,5 +257,5 @@
 
 # 
-#  åºå®é·ã¡ã¢ãªãã¼ã«ã«é¢ãããã§ãã¯
+#  固定長メモリプールに関するチェック
 # 
 mpfinib = SYMBOL("_kernel_mpfinib_table")
@@ -282,6 +263,5 @@
   mpf = PEEK(mpfinib + $offsetof_MPFINIB_mpf, $sizeof_void_ptr)
 
-  # åºå®é·ã¡ã¢ãªãã¼ã«é åã®å
-é ­çªå°ã®ãã§ãã¯ï¼»NGKI2249ï¼½
+  # 固定長メモリプール領域の先頭番地のチェック［NGKI2249］
   if (mpf & ($CHECK_MPF_ALIGN - 1)) != 0
     error_wrong_id("E_PAR", params, :mpf, :mpfid, "not aligned")
@@ -295,5 +275,5 @@
 
 # 
-#  å¨æéç¥ã«é¢ãããã§ãã¯
+#  周期通知に関するチェック
 # 
 cycinib = SYMBOL("_kernel_cycinib_table")
@@ -302,6 +282,5 @@
   nfyhdr = PEEK(cycinib + $offsetof_CYCINIB_nfyhdr, $sizeof_NFYHDR)
 
-  #	éç¥æ
-å ±ã®ãã§ãã¯
+  #	通知情報のチェック
   checkNotifyHandler(key, params, :cycid, exinf, nfyhdr)
 
@@ -310,5 +289,5 @@
 
 # 
-#  ã¢ã©ã¼ã éç¥ã«é¢ãããã§ãã¯
+#  アラーム通知に関するチェック
 # 
 alminib = SYMBOL("_kernel_alminib_table")
@@ -317,6 +296,5 @@
   nfyhdr = PEEK(alminib + $offsetof_ALMINIB_nfyhdr, $sizeof_NFYHDR)
 
-  #	éç¥æ
-å ±ã®ãã§ãã¯
+  #	通知情報のチェック
   checkNotifyHandler(key, params, :almid, exinf, nfyhdr)
 
@@ -325,5 +303,5 @@
 
 #
-#  ãªã¼ãã©ã³ãã³ãã©ã«é¢ãããã§ãã¯
+#  オーバランハンドラに関するチェック
 #
 ovrinib = SYMBOL("_kernel_ovrinib")
@@ -331,6 +309,5 @@
   ovrhdr = PEEK(ovrinib + $offsetof_OVRINIB_ovrhdr, $sizeof_OVRHDR)
 
-  # ãªã¼ãã©ã³ãã³ãã©ã®å
-é ­çªå°ã®ãã§ãã¯ï¼»NGKI2613ï¼½
+  # オーバランハンドラの先頭番地のチェック［NGKI2613］
   if (ovrhdr & ($CHECK_FUNC_ALIGN - 1)) != 0
     error_wrong("E_PAR", $cfgData[:DEF_OVR][1], :ovrhdr, "not aligned")
@@ -342,5 +319,5 @@
 
 #
-#  å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã«é¢ãããã§ãã¯
+#  割込みサービスルーチンに関するチェック
 #
 isrinib = SYMBOL("_kernel_isrinib_table")
@@ -348,6 +325,5 @@
   isr = PEEK(isrinib + $offsetof_ISRINIB_isr, $sizeof_ISR)
 
-  # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®å
-é ­çªå°ã®ãã§ãã¯ï¼»NGKI3004ï¼½
+  # 割込みサービスルーチンの先頭番地のチェック［NGKI3004］
   if (isr & ($CHECK_FUNC_ALIGN - 1)) != 0
     error_wrong_id("E_PAR", params, :isr, :isrid, "not aligned")
@@ -361,5 +337,5 @@
 
 # 
-#  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã«é¢ãããã§ãã¯
+#  非タスクコンテキスト用のスタック領域に関するチェック
 # 
 istkAddr = SYMBOL("_kernel_istk")
@@ -367,6 +343,5 @@
   istk = PEEK(istkAddr, $sizeof_void_ptr)
 
-  # éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã®å
-é ­çªå°ã®ãã§ãã¯ï¼»NGKI3222ï¼½
+  # 非タスクコンテキスト用のスタック領域の先頭番地のチェック［NGKI3222］
   if (istk & ($CHECK_STACK_ALIGN - 1)) != 0
     error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "not aligned")
@@ -378,5 +353,5 @@
 
 # 
-#  ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã«é¢ãããã§ãã¯
+#  カーネルが割り付けるメモリ領域に関するチェック
 # 
 kmmAddr = SYMBOL("_kernel_kmm")
@@ -384,6 +359,5 @@
   kmm = PEEK(kmmAddr, $sizeof_void_ptr)
 
-  # ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®å
-é ­çªå°ã®ãã§ãã¯
+  # カーネルが割り付けるメモリ領域の先頭番地のチェック
   if (kmm & ($CHECK_MB_ALIGN - 1)) != 0
     error_wrong("E_PAR", $cfgData[:DEF_KMM][1], :kmm, "not aligned")
Index: asp3_gr_sakura/trunk/kernel/kernel_impl.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/kernel_impl.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/kernel_impl.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,14 +42,12 @@
 
 /*
- *		TOPPERS/ASPã«ã¼ãã«å
-é¨åãæ¨æºããããã¡ã¤ã«
- *
- *  ãã®ããããã¡ã¤ã«ã¯ï¼ã«ã¼ãã«ãæ§æãããã­ã°ã©ã ã®ã½ã¼ã¹ãã¡ã¤ã«
- *  ã§å¿
-ãã¤ã³ã¯ã«ã¼ãããã¹ãæ¨æºããããã¡ã¤ã«ã§ããï¼
- *
- *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããæ
- *  ã¯ï¼TOPPERS_MACRO_ONLYãå®ç¾©ãã¦ããï¼ããã«ããï¼ãã¯ã­å®ç¾©ä»¥å¤ã
- *  é¤ãããã«ãªã£ã¦ããï¼
+ *		TOPPERS/ASPカーネル内部向け標準ヘッダファイル
+ *
+ *  このヘッダファイルは，カーネルを構成するプログラムのソースファイル
+ *  で必ずインクルードするべき標準ヘッダファイルである．
+ *
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
  */
 
@@ -73,28 +56,25 @@
 
 /*
- *  ã«ã¼ãã«ã®å
-é¨è­å¥åã®ãªãã¼ã 
+ *  カーネルの内部識別名のリネーム
  */
 #include "kernel_rename.h"
 
 /*
- *  ã¢ããªã±ã¼ã·ã§ã³ã¨å
-±éã®ããããã¡ã¤ã«
+ *  アプリケーションと共通のヘッダファイル
  */
 #include <kernel.h>
 
 /*
- *  ã·ã¹ãã ã­ã°æ©è½ã®ããã®å®ç¾©
+ *  システムログ機能のための定義
  */
 #include <t_syslog.h>
 
 /*
- *  ã¿ã¼ã²ããä¾å­æ
-å ±ã®å®ç¾©
+ *  ターゲット依存情報の定義
  */
 #include "target_kernel_impl.h"
 
 /*
- *  ãã¹ã¦ã®é¢æ°ãã³ã³ãã¤ã«ããããã®å®ç¾©
+ *  すべての関数をコンパイルするための定義
  */
 #ifdef ALLFUNC
@@ -103,12 +83,11 @@
 
 /*
- *  ããããã£ã¼ã«ãã§ã®ç¬¦å·ç¡ãæ´æ°å
- *
- *  8ãããä»¥ä¸ã®å¹
-ã®ããããã£ã¼ã«ãã§ï¼ç¬¦å·ç¡ãæ´æ°å¤ãä¿æãããå ´å
- *  ã«ç¨ããã¹ããã¼ã¿åï¼ANSI Cã§ã¯ï¼ããããã£ã¼ã«ãã®ãã¼ã¿åã«ã¯
- *  intã¨unsigned intããè¨±ãããªãããï¼ããã©ã«ãã®å®ç¾©ã¯unsigned
- *  intã¨ãã¦ãããï¼ã¿ã¼ã²ããããã³ãã¼ã«ä¾å­ã§ï¼unsigned charã¾ãã¯
- *  unsigned shortã«å®ç¾©ããæ¹ãå¹çãè¯ãå ´åãããï¼
+ *  ビットフィールドでの符号無し整数型
+ *
+ *  8ビット以下の幅のビットフィールドで，符号無し整数値を保持したい場合
+ *  に用いるべきデータ型．ANSI Cでは，ビットフィールドのデータ型には
+ *  intとunsigned intしか許されないため，デフォルトの定義はunsigned
+ *  intとしているが，ターゲットおよびツール依存で，unsigned charまたは
+ *  unsigned shortに定義した方が効率が良い場合がある．
  */
 #ifndef BIT_FIELD_UINT
@@ -117,10 +96,9 @@
 
 /*
- *  ããããã£ã¼ã«ãã§ã®ãã¼ã«å
- *
- *  1ãããå¹
-ã®ããããã£ã¼ã«ãã§ï¼ãã¼ã«å¤ãä¿æãããå ´åã«ç¨ããã¹ã
- *  ãã¼ã¿åï¼ããã©ã«ãã§ã¯BIT_FIELD_UINTã¨åä¸ã«å®ç¾©ãã¦ãããï¼ãã¼
- *  ã«å¤ãä¿æãããã¨ãæç¤ºããããã«å¥ã®åç§°ã¨ãã¦ããï¼
+ *  ビットフィールドでのブール型
+ *
+ *  1ビット幅のビットフィールドで，ブール値を保持したい場合に用いるべき
+ *  データ型．デフォルトではBIT_FIELD_UINTと同一に定義しているが，ブー
+ *  ル値を保持することを明示するために別の名称としている．
  */
 #ifndef BIT_FIELD_BOOL
@@ -129,21 +107,19 @@
 
 /*
- *  ãªãã¸ã§ã¯ãIDã®æå°å¤ã®å®ç¾©
- */
-#define TMIN_TSKID		1		/* ã¿ã¹ã¯IDã®æå°å¤ */
-#define TMIN_SEMID		1		/* ã»ããã©IDã®æå°å¤ */
-#define TMIN_FLGID		1		/* ãã©ã°IDã®æå°å¤ */
-#define TMIN_DTQID		1		/* ãã¼ã¿ã­ã¥ã¼IDã®æå°å¤ */
-#define TMIN_PDQID		1		/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼IDã®æå°å¤ */
-#define TMIN_MTXID		1		/* ãã¥ã¼ããã¯ã¹IDã®æå°å¤ */
-#define TMIN_MPFID		1		/* åºå®é·ã¡ã¢ãªãã¼ã«IDã®æå°å¤ */
-#define TMIN_CYCID		1		/* å¨æéç¥IDã®æå°å¤ */
-#define TMIN_ALMID		1		/* ã¢ã©ã¼ã éç¥IDã®æå°å¤ */
-#define TMIN_ISRID		1		/* å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³IDã®æå°å¤ */
-
-/*
- *  åªå
-åº¦ã®æ®µéæ°ã®å®ç¾©
+ *  オブジェクトIDの最小値の定義
+ */
+#define TMIN_TSKID		1		/* タスクIDの最小値 */
+#define TMIN_SEMID		1		/* セマフォIDの最小値 */
+#define TMIN_FLGID		1		/* フラグIDの最小値 */
+#define TMIN_DTQID		1		/* データキューIDの最小値 */
+#define TMIN_PDQID		1		/* 優先度データキューIDの最小値 */
+#define TMIN_MTXID		1		/* ミューテックスIDの最小値 */
+#define TMIN_MPFID		1		/* 固定長メモリプールIDの最小値 */
+#define TMIN_CYCID		1		/* 周期通知IDの最小値 */
+#define TMIN_ALMID		1		/* アラーム通知IDの最小値 */
+#define TMIN_ISRID		1		/* 割込みサービスルーチンIDの最小値 */
+
+/*
+ *  優先度の段階数の定義
  */
 #define TNUM_TPRI		(TMAX_TPRI - TMIN_TPRI + 1)
@@ -152,88 +128,83 @@
 
 /*
- *  ã«ã¼ãã«å
-é¨ã§ä½¿ç¨ããå±æ§ã®å®ç¾©
- */
-#define TA_NOEXS		((ATR)(-1))			/* æªç»é²ç¶æ
- */
+ *  カーネル内部で使用する属性の定義
+ */
+#define TA_NOEXS		((ATR)(-1))			/* 未登録状態 */
 
 #ifndef TA_MEMALLOC
-#define TA_MEMALLOC		UINT_C(0x8000)		/* ã¡ã¢ãªé åãã«ã¼ãã«ã§ç¢ºä¿ */
+#define TA_MEMALLOC		UINT_C(0x8000)		/* メモリ領域をカーネルで確保 */
 #endif /* TA_MEMALLOC */
 #ifndef TA_MBALLOC
-#define TA_MBALLOC		UINT_C(0x4000)		/* ç®¡çé åãã«ã¼ãã«ã§ç¢ºä¿ */
+#define TA_MBALLOC		UINT_C(0x4000)		/* 管理領域をカーネルで確保 */
 #endif /* TA_MBALLOC */
 
 /*
- *  ã¿ã¼ã²ããå®ç¾©ã®ã¨ã©ã¼ãã§ãã¯ãã¯ã­ã®ããã©ã«ãå¤ã®å®ç¾©
+ *  ターゲット定義のエラーチェックマクロのデフォルト値の定義
  */
 #ifndef TARGET_TSKATR
-#define TARGET_TSKATR		0U		/* ã¿ã¼ã²ããå®ç¾©ã®ã¿ã¹ã¯å±æ§ */
+#define TARGET_TSKATR		0U		/* ターゲット定義のタスク属性 */
 #endif /* TARGET_TSKATR */
 
 #ifndef TARGET_ISRATR
-#define TARGET_ISRATR		0U		/* ã¿ã¼ã²ããå®ç¾©ã®ISRå±æ§ */
+#define TARGET_ISRATR		0U		/* ターゲット定義のISR属性 */
 #endif /* TARGET_ISRATR */
 
 /*
- *  ããããã¡ã¤ã«ãæããªãã¢ã¸ã¥ã¼ã«ã®é¢æ°ã»å¤æ°ã®å®£è¨
+ *  ヘッダファイルを持たないモジュールの関数・変数の宣言
  */
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  TECSã®åæåï¼init_tecs.cï¼
+ *  TECSの初期化（init_tecs.c）
  */
 extern void initialize_tecs(void);
 
 /*
- *  åã¢ã¸ã¥ã¼ã«ã®åæåï¼kernel_cfg.cï¼
+ *  各モジュールの初期化（kernel_cfg.c）
  */
 extern void	initialize_object(void);
 
 /*
- *  åæåã«ã¼ãã³ã®å®è¡ï¼kernel_cfg.cï¼
+ *  初期化ルーチンの実行（kernel_cfg.c）
  */
 extern void	call_inirtn(void);
 
 /*
- *  çµäºå¦çã«ã¼ãã³ã®å®è¡ï¼kernel_cfg.cï¼
+ *  終了処理ルーチンの実行（kernel_cfg.c）
  */
 extern void	call_terrtn(void);
 
 /*
- *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åï¼kernel_cfg.cï¼
- */
-extern const size_t	istksz;		/* ã¹ã¿ãã¯é åã®ãµã¤ãºï¼ä¸¸ããå¤ï¼ */
-extern STK_T *const	istk;		/* ã¹ã¿ãã¯é åã®å
-é ­çªå° */
+ *  非タスクコンテキスト用のスタック領域（kernel_cfg.c）
+ */
+extern const size_t	istksz;		/* スタック領域のサイズ（丸めた値） */
+extern STK_T *const	istk;		/* スタック領域の先頭番地 */
 #ifdef TOPPERS_ISTKPT
-extern STK_T *const	istkpt;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ */
+extern STK_T *const	istkpt;		/* スタックポインタの初期値 */
 #endif /* TOPPERS_ISTKPT */
 
 /*
- *  ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åï¼kernel_cfg.cï¼
- */
-extern const size_t	kmmsz;		/* ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®ãµã¤ãº */
-extern MB_T *const	kmm;		/* ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®å
-é ­çªå° */
-
-/*
- *  ã«ã¼ãã«åä½ç¶æ
-ãã©ã°ï¼startup.cï¼
+ *  カーネルが割り付けるメモリ領域（kernel_cfg.c）
+ */
+extern const size_t	kmmsz;		/* カーネルが割り付けるメモリ領域のサイズ */
+extern MB_T *const	kmm;		/* カーネルが割り付けるメモリ領域の先頭番地 */
+
+/*
+ *  カーネル動作状態フラグ（startup.c）
  */
 extern bool_t	kerflg;
 
 /*
- *  ã«ã¼ãã«ã®èµ·åï¼startup.cï¼
+ *  カーネルの起動（startup.c）
  */
 extern void	sta_ker(void);
 
 /*
- *  ã«ã¼ãã«ã®çµäºå¦çï¼startup.cï¼
+ *  カーネルの終了処理（startup.c）
  */
 extern void	exit_kernel(void);
 
 /*
- *  ã«ã¼ãã«ã®å²ãä»ããã¡ã¢ãªé åã®ç®¡çï¼startup.cï¼
+ *  カーネルの割り付けるメモリ領域の管理（startup.c）
  */
 extern void initialize_kmm(void);
@@ -242,15 +213,15 @@
 
 /*
- *  éç¥ãã³ãã©ã®åå®ç¾©
+ *  通知ハンドラの型定義
  */
 typedef void	(*NFYHDR)(intptr_t exinf);
 
 /*
- *  éç¥æ¹æ³ã®ã¨ã©ã¼ãã§ãã¯
+ *  通知方法のエラーチェック
  */
 extern ER check_nfyinfo(const T_NFYINFO *p_nfyinfo);
 
 /*
- *  éç¥ãã³ãã©
+ *  通知ハンドラ
  */
 extern void notify_handler(intptr_t exinf);
Index: asp3_gr_sakura/trunk/kernel/kernel_int.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/kernel_int.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/kernel_int.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		kernel_cfg.cï¼ããã³cfg1_out.cï¼ç¨ããããã¡ã¤ã«
+ *		kernel_cfg.c（およびcfg1_out.c）用ヘッダファイル
  */
 
@@ -64,10 +49,10 @@
 
 /*
- *  ã«ã¼ãã«æ¨æºããããã¡ã¤ã«
+ *  カーネル標準ヘッダファイル
  */
 #include "kernel_impl.h"
 
 /*
- *  ã«ã¼ãã«ã®åããããã¡ã¤ã«
+ *  カーネルの各ヘッダファイル
  */
 #include "task.h"
@@ -86,13 +71,10 @@
 
 /*
- *  ãªãã¼ã ããã·ã³ãã«ãå
-ã«æ»ãããã®ããããã¡ã¤ã«
+ *  リネームしたシンボルを元に戻すためのヘッダファイル
  */
 #include "kernel_unrename.h"
 
 /*
- *  å
-å®¹ãç©ºã®é
-åãçæããããã®ãã¯ã­
+ *  内容が空の配列を生成するためのマクロ
  */
 #ifndef TOPPERS_EMPTY_LABEL
Index: asp3_gr_sakura/trunk/kernel/mempfix.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/mempfix.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/mempfix.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		åºå®é·ã¡ã¢ãªãã¼ã«æ©è½
+ *		固定長メモリプール機能
  */
 
@@ -67,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_MPF_ENTER
@@ -134,5 +119,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ã®æ°
+ *  固定長メモリプールの数
  */
 #define tnum_mpf	((uint_t)(tmax_mpfid - TMIN_MPFID + 1))
@@ -140,6 +125,6 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«IDããåºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯ãåãåºãã
- *  ãã®ãã¯ã­
+ *  固定長メモリプールIDから固定長メモリプール管理ブロックを取り出すた
+ *  めのマクロ
  */
 #define INDEX_MPF(mpfid)	((uint_t)((mpfid) - TMIN_MPFID))
@@ -147,18 +132,18 @@
 
 /*
- *  ç¹æ®ãªã¤ã³ããã¯ã¹å¤ã®å®ç¾©
- */
-#define INDEX_NULL		(~0U)		/* ç©ºããã­ãã¯ãªã¹ãã®æå¾ */
-#define INDEX_ALLOC		(~1U)		/* å²å½ã¦æ¸ã¿ã®ãã­ãã¯ */
+ *  特殊なインデックス値の定義
+ */
+#define INDEX_NULL		(~0U)		/* 空きブロックリストの最後 */
+#define INDEX_ALLOC		(~1U)		/* 割当て済みのブロック */
 
 #ifdef TOPPERS_mpfini
 
 /*
- *  ä½¿ç¨ãã¦ããªãåºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していない固定長メモリプール管理ブロックのリスト
  */
 QUEUE	free_mpfcb;
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«æ©è½ã®åæå
+ *  固定長メモリプール機能の初期化
  */
 void
@@ -190,5 +175,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ãããã­ãã¯ãç²å¾
+ *  固定長メモリプールからブロックを獲得
  */
 #ifdef TOPPERS_mpfget
@@ -216,5 +201,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ã®çæ
+ *  固定長メモリプールの生成
  */
 #ifdef TOPPERS_acre_mpf
@@ -301,5 +286,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ã®åé¤
+ *  固定長メモリプールの削除
  */
 #ifdef TOPPERS_del_mpf
@@ -350,5 +335,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾
+ *  固定長メモリブロックの獲得
  */
 #ifdef TOPPERS_get_mpf
@@ -396,5 +381,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾ï¼ãã¼ãªã³ã°ï¼
+ *  固定長メモリブロックの獲得（ポーリング）
  */
 #ifdef TOPPERS_pget_mpf
@@ -432,5 +417,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  固定長メモリブロックの獲得（タイムアウトあり）
  */
 #ifdef TOPPERS_tget_mpf
@@ -484,5 +469,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã­ãã¯ã®è¿å´
+ *  固定長メモリブロックの返却
  */
 #ifdef TOPPERS_rel_mpf
@@ -542,5 +527,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ã®ååæå
+ *  固定長メモリプールの再初期化
  */
 #ifdef TOPPERS_ini_mpf
@@ -581,7 +566,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ã®ç¶æ
-åç
-§
+ *  固定長メモリプールの状態参照
  */
 #ifdef TOPPERS_ref_mpf
Index: asp3_gr_sakura/trunk/kernel/mempfix.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/mempfix.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/mempfix.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		åºå®é·ã¡ã¢ãªãã¼ã«æ©è½
+ *		固定長メモリプール機能
  */
 
@@ -68,81 +53,64 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã­ãã¯ç®¡çãã­ãã¯
+ *  固定長メモリブロック管理ブロック
  *
- *  nextãã£ã¼ã«ãã«ã¯ï¼ã¡ã¢ãªãã­ãã¯ãå²å½ã¦æ¸ã¿ã®å ´åã¯INDEX_ALLOCãï¼
- *  æªå²å½ã¦ã®å ´åã¯æ¬¡ã®æªå²å½ã¦ãã­ãã¯ã®ã¤ã³ããã¯ã¹çªå·ãæ ¼ç´ããï¼
- *  æå¾ã®æªå²å½ã¦ãã­ãã¯ã®å ´åã«ã¯ï¼INDEX_NULLãæ ¼ç´ããï¼
+ *  nextフィールドには，メモリブロックが割当て済みの場合はINDEX_ALLOCを，
+ *  未割当ての場合は次の未割当てブロックのインデックス番号を格納する．
+ *  最後の未割当てブロックの場合には，INDEX_NULLを格納する．
  */
 typedef struct fixed_memoryblock_management_block {
-	uint_t		next;			/* æ¬¡ã®æªå²å½ã¦ãã­ãã¯ */
+	uint_t		next;			/* 次の未割当てブロック */
 } MPFMB;
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«åæåãã­ãã¯
+ *  固定長メモリプール初期化ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å
-±éé¨å
- *  ï¼WOBJINIBï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct fixed_memorypool_initialization_block {
-	ATR			mpfatr;			/* åºå®é·ã¡ã¢ãªãã¼ã«å±æ§ */
-	uint_t		blkcnt;			/* ã¡ã¢ãªãã­ãã¯æ° */
-	uint_t		blksz;			/* ã¡ã¢ãªãã­ãã¯ã®ãµã¤ãºï¼ä¸¸ããå¤ï¼ */
-	void		*mpf;			/* åºå®é·ã¡ã¢ãªãã¼ã«é åã®å
-é ­çªå° */
-	MPFMB		*p_mpfmb;		/* åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çé åã®å
-é ­çªå° */
+	ATR			mpfatr;			/* 固定長メモリプール属性 */
+	uint_t		blkcnt;			/* メモリブロック数 */
+	uint_t		blksz;			/* メモリブロックのサイズ（丸めた値） */
+	void		*mpf;			/* 固定長メモリプール領域の先頭番地 */
+	MPFMB		*p_mpfmb;		/* 固定長メモリプール管理領域の先頭番地 */
 } MPFINIB;
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯
+ *  固定長メモリプール管理ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åï¼WOBJCBï¼
- *  ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼æåã®2ã¤ã®
- *  ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct fixed_memorypool_control_block {
-	QUEUE		wait_queue;		/* åºå®é·ã¡ã¢ãªãã¼ã«å¾
-ã¡ã­ã¥ã¼ */
-	const MPFINIB *p_mpfinib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	uint_t		fblkcnt;		/* æªå²å½ã¦ãã­ãã¯æ° */
-	uint_t		unused;			/* æªä½¿ç¨ãã­ãã¯ã®å
-é ­ */
-	uint_t		freelist;		/* æªå²å½ã¦ãã­ãã¯ã®ãªã¹ã */
+	QUEUE		wait_queue;		/* 固定長メモリプール待ちキュー */
+	const MPFINIB *p_mpfinib;	/* 初期化ブロックへのポインタ */
+	uint_t		fblkcnt;		/* 未割当てブロック数 */
+	uint_t		unused;			/* 未使用ブロックの先頭 */
+	uint_t		freelist;		/* 未割当てブロックのリスト */
 } MPFCB;
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«å¾
-ã¡æ
-å ±ãã­ãã¯ã®å®ç¾©
+ *  固定長メモリプール待ち情報ブロックの定義
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡æ
-å ±ãã­ãã¯ã®å
-±éé¨å
- *  ï¼WINFO_WOBJï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®2ã¤ã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  */
 typedef struct fixed_memorypool_waiting_information {
-	WINFO		winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	MPFCB		*p_mpfcb;		/* å¾
-ã£ã¦ããåºå®é·ã¡ã¢ãªãã¼ã«ã®ç®¡çãã­ãã¯*/
-	void		*blk;			/* ç²å¾ããã¡ã¢ãªãã­ãã¯ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	MPFCB		*p_mpfcb;		/* 待っている固定長メモリプールの管理ブロック*/
+	void		*blk;			/* 獲得したメモリブロック */
 } WINFO_MPF;
 
 /*
- *  ä½¿ç¨ãã¦ããªãåºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していない固定長メモリプール管理ブロックのリスト
  */
 extern QUEUE	free_mpfcb;
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  固定長メモリプールIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_mpfid;
@@ -150,5 +118,5 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  固定長メモリプール初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const MPFINIB	mpfinib_table[];
@@ -156,21 +124,21 @@
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  固定長メモリプール管理ブロックのエリア（kernel_cfg.c）
  */
 extern MPFCB	mpfcb_table[];
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çãã­ãã¯ããåºå®é·ã¡ã¢ãªãã¼ã«IDãåãåºãã
- *  ãã®ãã¯ã­
+ *  固定長メモリプール管理ブロックから固定長メモリプールIDを取り出すた
+ *  めのマクロ
  */
 #define	MPFID(p_mpfcb)	((ID)(((p_mpfcb) - mpfcb_table) + TMIN_MPFID))
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«æ©è½ã®åæå
+ *  固定長メモリプール機能の初期化
  */
 extern void	initialize_mempfix(void);
 
 /*
- *  åºå®é·ã¡ã¢ãªãã¼ã«ãããã­ãã¯ãç²å¾
+ *  固定長メモリプールからブロックを獲得
  */
 extern void	get_mpf_block(MPFCB *p_mpfcb, void **p_blk);
Index: asp3_gr_sakura/trunk/kernel/mempfix.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/mempfix.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/mempfix.trb	(revision 318)
@@ -9,53 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: mempfix.trb 672 2016-03-05 15:33:08Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		åºå®é·ã¡ã¢ãªãã¼ã«æ©è½ã®çæã¹ã¯ãªãã
+#		固定長メモリプール機能の生成スクリプト
 #
 
@@ -66,25 +51,25 @@
 
   def prepare(key, params)
-    # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨­å®
+    # パラメータが省略された時のデフォルト値の設定
     params[:mpf] ||= "NULL"
     params[:mpfmb] ||= "NULL"
 
-    # mpfatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2225ï¼½
-    #ï¼TA_TPRIä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+    # mpfatrが無効の場合（E_RSATR）［NGKI2225］
+    #（TA_TPRI以外のビットがセットされている場合）
     if (params[:mpfatr] & ~($TA_TPRI)) != 0
       error_illegal_id("E_RSATR", params, :mpfatr, :mpfid)
     end
 
-    # blkcntã0ã®å ´åï¼E_PARï¼ï¼»NGKI2229ï¼½
+    # blkcntが0の場合（E_PAR）［NGKI2229］
     if params[:blkcnt] == 0
       error_illegal_id("E_PAR", params, :blkcnt, :mpfid)
     end
 
-    # blkszã0ã®å ´åï¼E_PARï¼ï¼»NGKI2230ï¼½
+    # blkszが0の場合（E_PAR）［NGKI2230］
     if params[:blksz] == 0
       error_illegal_id("E_PAR", params, :blksz, :mpfid)
     end
 
-    # åºå®é·ã¡ã¢ãªãã¼ã«é å
+    # 固定長メモリプール領域
     if params[:mpf] == "NULL"
       mpfName = "_kernel_mpf_#{params[:mpfid]}"
@@ -96,10 +81,10 @@
     end
 
-    # mpfmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0166ï¼½
+    # mpfmbがNULLでない場合（E_NOSPT）［ASPS0166］
     if params[:mpfmb] != "NULL"
       error_illegal_id("E_NOSPT", params, :mpfmb, :mpfid)
     end
 
-    # åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çé å
+    # 固定長メモリプール管理領域
     mpfmbName = "_kernel_mpfmb_#{params[:mpfid]}"
     $kernelCfgC.add("static MPFMB #{mpfmbName}[#{params[:blkcnt]}];")
@@ -115,6 +100,5 @@
 
 #
-#  åºå®é·ã¡ã¢ãªãã¼ã«ã«é¢ããæ
-å ±ã®çæ
+#  固定長メモリプールに関する情報の生成
 #
 $kernelCfgC.comment_header("Fixed-sized Memorypool Functions")
Index: asp3_gr_sakura/trunk/kernel/mutex.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/mutex.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/mutex.c	(revision 318)
@@ -7,47 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -55,5 +40,5 @@
 
 /*
- *		ãã¥ã¼ããã¯ã¹æ©è½
+ *		ミューテックス機能
  */
 
@@ -66,5 +51,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_MTX_ENTER
@@ -133,5 +118,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®æ°
+ *  ミューテックスの数
  */
 #define tnum_mtx	((uint_t)(tmax_mtxid - TMIN_MTXID + 1))
@@ -139,5 +124,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹IDãããã¥ã¼ããã¯ã¹ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ *  ミューテックスIDからミューテックス管理ブロックを取り出すためのマクロ
  */
 #define INDEX_MTX(mtxid)	((uint_t)((mtxid) - TMIN_MTXID))
@@ -145,5 +130,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ãã­ãã³ã«ãå¤æ­ãããã¯ã­
+ *  ミューテックスのプロトコルを判断するマクロ
  */
 #define MTXPROTO_MASK			0x03U
@@ -154,10 +139,10 @@
 
 /*
- *  ä½¿ç¨ãã¦ããªããã¥ã¼ããã¯ã¹ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないミューテックス管理ブロックのリスト
  */
 QUEUE	free_mtxcb;
 
 /* 
- *  ãã¥ã¼ããã¯ã¹æ©è½ã®åæå
+ *  ミューテックス機能の初期化
  */
 void
@@ -191,6 +176,5 @@
 
 /* 
- *  ä¸éåªå
-åº¦éåã®ãã§ãã¯
+ *  上限優先度違反のチェック
  */
 #ifdef TOPPERS_mtxchk
@@ -202,8 +186,6 @@
 
 	/*
-	 *  ã¿ã¹ã¯ãã­ãã¯ãã¦ããåªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ã®ä¸­ã§ï¼ä¸éåªå
-
-	 *  åº¦ãbpriorityãããä½ããã®ãããã°ï¼falseãè¿ãï¼
+	 *  タスクがロックしている優先度上限ミューテックスの中で，上限優先
+	 *  度がbpriorityよりも低いものがあれば，falseを返す．
 	 */
 	p_mtxcb = p_tcb->p_lastmtx;
@@ -216,9 +198,6 @@
 
 	/*
-	 *  ã¿ã¹ã¯ãåªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ã®ã­ãã¯ãå¾
-ã£ã¦ããå ´åã«ï¼ã
-	 *  ã®ä¸éåªå
-åº¦ãbpriorityãããä½ãããã°ï¼falseãè¿ãï¼
+	 *  タスクが優先度上限ミューテックスのロックを待っている場合に，そ
+	 *  の上限優先度がbpriorityよりも低くければ，falseを返す．
 	 */
 	if (TSTAT_WAIT_MTX(p_tcb->tstat)) {
@@ -230,5 +209,5 @@
 
 	/*
-	 *  ãããã®æ¡ä»¶ã«ãå½ã¦ã¯ã¾ããªããã°trueãè¿ãï¼
+	 *  いずれの条件にも当てはまらなければtrueを返す．
 	 */
 	return(true);
@@ -238,6 +217,5 @@
 
 /* 
- *  åªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ãã­ãã¯ãã¦ãããã®ãã§ãã¯
+ *  優先度上限ミューテックスをロックしているかのチェック
  */
 #ifdef TOPPERS_mtxscan
@@ -261,9 +239,7 @@
 
 /* 
- *  ã¿ã¹ã¯ã®ç¾å¨åªå
-åº¦ã®è¨ç®
+ *  タスクの現在優先度の計算
  *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã®ç¾å¨åªå
-åº¦ï¼ã«è¨­å®ãã¹ãå¤ï¼ãè¨ç®ããï¼
+ *  p_tcbで指定されるタスクの現在優先度（に設定すべき値）を計算する．
  */
 Inline uint_t
@@ -285,6 +261,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ãè§£æ¾ããå ´åã®ç¾å¨åªå
-åº¦å¤æ´å¦ç
+ *  ミューテックスを解放した場合の現在優先度変更処理
  */
 #ifdef TOPPERS_mtxdrop
@@ -307,5 +282,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ã­ãã¯
+ *  ミューテックスのロック
  */
 #ifdef TOPPERS_mtxacq
@@ -326,5 +301,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ã­ãã¯è§£é¤
+ *  ミューテックスのロック解除
  */
 #ifdef TOPPERS_mtxrel
@@ -340,8 +315,6 @@
 	else {
 		/*
-		 *  ãã¥ã¼ããã¯ã¹å¾
-ã¡ã­ã¥ã¼ã®å
-é ­ã¿ã¹ã¯ï¼p_tcbï¼ã«ï¼ãã¥ã¼ãã
-		 *  ã¯ã¹ãã­ãã¯ãããï¼
+		 *  ミューテックス待ちキューの先頭タスク（p_tcb）に，ミューテッ
+		 *  クスをロックさせる．
 		 */
 		p_tcb = (TCB *) queue_delete_next(&(p_mtxcb->wait_queue));
@@ -364,5 +337,5 @@
 
 /*
- *  ã¿ã¹ã¯ãã­ãã¯ãã¦ãããã¹ã¦ã®ãã¥ã¼ããã¯ã¹ã®ã­ãã¯è§£é¤
+ *  タスクがロックしているすべてのミューテックスのロック解除
  */
 #ifdef TOPPERS_mtxrela
@@ -382,5 +355,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®çæï¼»NGKI2022ï¼½
+ *  ミューテックスの生成［NGKI2022］
  */
 #ifdef TOPPERS_acre_mtx
@@ -396,5 +369,5 @@
 
 	LOG_ACRE_MTX_ENTER(pk_cmtx);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI2023ï¼½ï¼»NGKI2024ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI2023］［NGKI2024］*/
 
 	mtxatr = pk_cmtx->mtxatr;
@@ -402,13 +375,13 @@
 
 	if (mtxatr == TA_CEILING) {
-		CHECK_PAR(VALID_TPRI(ceilpri));			/*ï¼»NGKI2037ï¼½*/
-	}
-	else {
-		CHECK_RSATR(mtxatr, TA_TPRI);			/*ï¼»NGKI2025ï¼½*/
+		CHECK_PAR(VALID_TPRI(ceilpri));			/*［NGKI2037］*/
+	}
+	else {
+		CHECK_RSATR(mtxatr, TA_TPRI);			/*［NGKI2025］*/
 	}
 
 	lock_cpu();
 	if (tnum_mtx == 0 || queue_empty(&free_mtxcb)) {
-		ercd = E_NOID;							/*ï¼»NGKI2031ï¼½*/
+		ercd = E_NOID;							/*［NGKI2031］*/
 	}
 	else {
@@ -419,5 +392,5 @@
 
 		queue_initialize(&(p_mtxcb->wait_queue));
-		p_mtxcb->p_loctsk = NULL;				/*ï¼»NGKI2033ï¼½*/
+		p_mtxcb->p_loctsk = NULL;				/*［NGKI2033］*/
 		ercd = MTXID(p_mtxcb);
 	}
@@ -432,5 +405,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®åé¤ï¼»NGKI2056ï¼½
+ *  ミューテックスの削除［NGKI2056］
  */
 #ifdef TOPPERS_del_mtx
@@ -445,25 +418,23 @@
 
 	LOG_DEL_MTX_ENTER(mtxid);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI2057ï¼½ï¼»NGKI2058ï¼½*/
-	CHECK_ID(VALID_MTXID(mtxid));				/*ï¼»NGKI2059ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI2057］［NGKI2058］*/
+	CHECK_ID(VALID_MTXID(mtxid));				/*［NGKI2059］*/
 	p_mtxcb = get_mtxcb(mtxid);
 
 	lock_cpu();
 	if (p_mtxcb->p_mtxinib->mtxatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI2060ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI2060］*/
 	}
 	else if (mtxid <= tmax_smtxid) {
-		ercd = E_OBJ;							/*ï¼»NGKI2062ï¼½*/
-	}
-	else {
-		init_wait_queue(&(p_mtxcb->wait_queue));	/*ï¼»NGKI2065ï¼½*/
+		ercd = E_OBJ;							/*［NGKI2062］*/
+	}
+	else {
+		init_wait_queue(&(p_mtxcb->wait_queue));	/*［NGKI2065］*/
 		p_loctsk = p_mtxcb->p_loctsk;
 		if (p_loctsk != NULL) {
 			/*
-			 *  p_loctskãã­ãã¯ãã¦ãããã¥ã¼ããã¯ã¹ã®ãªã¹ãããå¯¾è±¡
-			 *  ãã¥ã¼ã¯ã¹ãåé¤ãï¼å¿
-è¦ãªå ´åã«ã¯p_loctskã®ç¾å¨åªå
-åº¦
-			 *  ãå¤æ´ããï¼»NGKI2064ï¼½ï¼
+			 *  p_loctskがロックしているミューテックスのリストから対象
+			 *  ミュークスを削除し，必要な場合にはp_loctskの現在優先度
+			 *  を変更する［NGKI2064］．
 			 */
 			pp_prevmtx = &(p_loctsk->p_lastmtx);
@@ -478,5 +449,5 @@
 		}
 		p_mtxinib = (MTXINIB *)(p_mtxcb->p_mtxinib);
-		p_mtxinib->mtxatr = TA_NOEXS;						/*ï¼»NGKI2063ï¼½*/
+		p_mtxinib->mtxatr = TA_NOEXS;						/*［NGKI2063］*/
 		queue_insert_prev(&free_mtxcb, &(p_mtxcb->wait_queue));
 		if (p_runtsk != p_schedtsk) {
@@ -495,5 +466,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ã­ãã¯
+ *  ミューテックスのロック
  */
 #ifdef TOPPERS_loc_mtx
@@ -525,9 +496,6 @@
 		mutex_acquire(p_runtsk, p_mtxcb);
 		/*
-		 *  åªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ãã­ãã¯ããå ´åï¼p_runtskã®åªå
-åº¦
-		 *  ãä¸ããå¯è½æ§ããããï¼ãã£ã¹ããããå¿
-è¦ã«ãªããã¨ã¯ãªãï¼
+		 *  優先度上限ミューテックスをロックした場合，p_runtskの優先度
+		 *  が上がる可能性があるが，ディスパッチが必要になることはない．
 		 */
 		assert(p_runtsk == p_schedtsk);
@@ -553,5 +521,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ã­ãã¯ï¼ãã¼ãªã³ã°ï¼
+ *  ミューテックスのロック（ポーリング）
  */
 #ifdef TOPPERS_ploc_mtx
@@ -579,9 +547,6 @@
 		mutex_acquire(p_runtsk, p_mtxcb);
 		/*
-		 *  åªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ãã­ãã¯ããå ´åï¼p_runtskã®åªå
-åº¦
-		 *  ãä¸ããå¯è½æ§ããããï¼ãã£ã¹ããããå¿
-è¦ã«ãªããã¨ã¯ãªãï¼
+		 *  優先度上限ミューテックスをロックした場合，p_runtskの優先度
+		 *  が上がる可能性があるが，ディスパッチが必要になることはない．
 		 */
 		assert(p_runtsk == p_schedtsk);
@@ -604,5 +569,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ã­ãã¯ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  ミューテックスのロック（タイムアウトあり）
  */
 #ifdef TOPPERS_tloc_mtx
@@ -636,9 +601,6 @@
 		mutex_acquire(p_runtsk, p_mtxcb);
 		/*
-		 *  åªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ãã­ãã¯ããå ´åï¼p_runtskã®åªå
-åº¦
-		 *  ãä¸ããå¯è½æ§ããããï¼ãã£ã¹ããããå¿
-è¦ã«ãªããã¨ã¯ãªãï¼
+		 *  優先度上限ミューテックスをロックした場合，p_runtskの優先度
+		 *  が上がる可能性があるが，ディスパッチが必要になることはない．
 		 */
 		assert(p_runtsk == p_schedtsk);
@@ -668,5 +630,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ã­ãã¯è§£é¤
+ *  ミューテックスのロック解除
  */
 #ifdef TOPPERS_unl_mtx
@@ -709,5 +671,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ååæå
+ *  ミューテックスの再初期化
  */
 #ifdef TOPPERS_ini_mtx
@@ -759,7 +721,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ç¶æ
-åç
-§
+ *  ミューテックスの状態参照
  */
 #ifdef TOPPERS_ref_mtx
Index: asp3_gr_sakura/trunk/kernel/mutex.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/mutex.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/mutex.h	(revision 318)
@@ -7,47 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -55,5 +40,5 @@
 
 /*
- *		ãã¥ã¼ããã¯ã¹æ©è½
+ *		ミューテックス機能
  */
 
@@ -66,64 +51,48 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹åæåãã­ãã¯
+ *  ミューテックス初期化ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å
-±éé¨å
- *  ï¼WOBJINIBï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct mutex_initialization_block {
-	ATR			mtxatr;			/* ãã¥ã¼ããã¯ã¹å±æ§ */
-	uint_t		ceilpri;		/* ãã¥ã¼ããã¯ã¹ã®ä¸éåªå
-åº¦ï¼å
-é¨è¡¨ç¾ï¼*/
+	ATR			mtxatr;			/* ミューテックス属性 */
+	uint_t		ceilpri;		/* ミューテックスの上限優先度（内部表現）*/
 } MTXINIB;
 
 /*
- *  ãã¥ã¼ããã¯ã¹ç®¡çãã­ãã¯
+ *  ミューテックス管理ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åï¼WOBJCBï¼
- *  ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼æåã®2ã¤ã®
- *  ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 struct mutex_control_block {
-	QUEUE		wait_queue;		/* ãã¥ã¼ããã¯ã¹å¾
-ã¡ã­ã¥ã¼ */
-	const MTXINIB *p_mtxinib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	TCB			*p_loctsk;		/* ãã¥ã¼ããã¯ã¹ãã­ãã¯ãã¦ããã¿ã¹ã¯ */
-	MTXCB		*p_prevmtx;		/* ãã®åã«ã­ãã¯ãããã¥ã¼ããã¯ã¹ */
+	QUEUE		wait_queue;		/* ミューテックス待ちキュー */
+	const MTXINIB *p_mtxinib;	/* 初期化ブロックへのポインタ */
+	TCB			*p_loctsk;		/* ミューテックスをロックしているタスク */
+	MTXCB		*p_prevmtx;		/* この前にロックしたミューテックス */
 };
 
 /*
- *  ãã¥ã¼ããã¯ã¹å¾
-ã¡æ
-å ±ãã­ãã¯ã®å®ç¾©
+ *  ミューテックス待ち情報ブロックの定義
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡æ
-å ±ãã­ãã¯ã®å
-±éé¨å
- *  ï¼WINFO_WOBJï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  ãã¹ã¦ã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  すべてのフィールドが共通になっている．
  */
 typedef struct mutex_waiting_information {
-	WINFO	winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	MTXCB	*p_mtxcb;		/* å¾
-ã£ã¦ãããã¥ã¼ããã¯ã¹ã®ç®¡çãã­ãã¯ */
+	WINFO	winfo;			/* 標準の待ち情報ブロック */
+	MTXCB	*p_mtxcb;		/* 待っているミューテックスの管理ブロック */
 } WINFO_MTX;
 
 /*
- *  ä½¿ç¨ãã¦ããªããã¥ã¼ããã¯ã¹ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないミューテックス管理ブロックのリスト
  */
 extern QUEUE	free_mtxcb;
 
 /*
- *  ãã¥ã¼ããã¯ã¹IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  ミューテックスIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_mtxid;
@@ -131,5 +100,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  ミューテックス初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const MTXINIB	mtxinib_table[];
@@ -137,91 +106,73 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  ミューテックス管理ブロックのエリア（kernel_cfg.c）
  */
 extern MTXCB	mtxcb_table[];
 
 /*
- *  ãã¥ã¼ããã¯ã¹ç®¡çãã­ãã¯ãããã¥ã¼ããã¯ã¹IDãåãåºãããã®ãã¯ã­
+ *  ミューテックス管理ブロックからミューテックスIDを取り出すためのマクロ
  */
 #define	MTXID(p_mtxcb)	((ID)(((p_mtxcb) - mtxcb_table) + TMIN_MTXID))
 
 /*
- *  ãã¥ã¼ããã¯ã¹æ©è½ã®åæå
+ *  ミューテックス機能の初期化
  */
 extern void	initialize_mutex(void);
 
 /*
- *  ä¸éåªå
-åº¦éåã®ãã§ãã¯
+ *  上限優先度違反のチェック
  *
- *  chg_priã®ä¸­ã§ä¸éåªå
-åº¦éåã®ãã§ãã¯ãè¡ãããã«ç¨ããé¢æ°ã§ããï¼
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãã­ãã¯ãã¦ããåªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ã¨ï¼
- *  ã­ãã¯ãå¾
-ã£ã¦ããåªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ã®ä¸­ã§ï¼ä¸éåªå
-åº¦ã
- *  bpriorityãããä½ããã®ãããã°falseãï¼ããã§ãªããã°trueãè¿ãï¼
+ *  chg_priの中で上限優先度違反のチェックを行うために用いる関数であり，
+ *  p_tcbで指定されるタスクがロックしている優先度上限ミューテックスと，
+ *  ロックを待っている優先度上限ミューテックスの中で，上限優先度が
+ *  bpriorityよりも低いものがあればfalseを，そうでなければtrueを返す．
  */
 extern bool_t	mutex_check_ceilpri(TCB *p_tcb, uint_t bpriority);
 
 /* 
- *  åªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ãã­ãã¯ãã¦ãããã®ãã§ãã¯
+ *  優先度上限ミューテックスをロックしているかのチェック
  *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãåªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ãã­ãã¯ãã¦ããã°
- *  trueï¼ããã§ãªããã°falseãè¿ãï¼
+ *  p_tcbで指定されるタスクが優先度上限ミューテックスをロックしていれば
+ *  true，そうでなければfalseを返す．
  */
 extern bool_t	mutex_scan_ceilmtx(TCB *p_tcb);
 
 /*
- *  ãã¥ã¼ããã¯ã¹ãã­ãã¯è§£é¤ããå ´åã®ç¾å¨åªå
-åº¦å¤æ´å¦ç
+ *  ミューテックスをロック解除した場合の現在優先度変更処理
  *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãï¼p_mtxcbã§æå®ããããã¥ã¼ããã¯ã¹ãã­ã
- *  ã¯è§£é¤ããéã®ç¾å¨åªå
-åº¦å¤æ´å¦çãè¡ãï¼
+ *  p_tcbで指定されるタスクが，p_mtxcbで指定されるミューテックスをロッ
+ *  ク解除した際の現在優先度変更処理を行う．
  */
 extern void	mutex_drop_priority(TCB *p_tcb, MTXCB *p_mtxcb);
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ã­ãã¯
+ *  ミューテックスのロック
  *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã«ï¼p_mtxcbã§æå®ããããã¥ã¼ããã¯ã¹ãã­ã
- *  ã¯ãããï¼
+ *  p_tcbで指定されるタスクに，p_mtxcbで指定されるミューテックスをロッ
+ *  クさせる．
  */
 extern void	mutex_acquire(TCB *p_tcb, MTXCB *p_mtxcb);
 
 /*
- *  ãã¥ã¼ããã¯ã¹ã®ã­ãã¯è§£é¤
+ *  ミューテックスのロック解除
  *
- *  p_mtxcbã§æå®ããããã¥ã¼ããã¯ã¹ãã­ãã¯è§£é¤ããï¼ã­ãã¯è§£é¤ãã
- *  ãã¥ã¼ããã¯ã¹ã«ï¼ã­ãã¯å¾
-ã¡ç¶æ
-ã®ã¿ã¹ã¯ãããå ´åã«ã¯ï¼ãã®ã¿ã¹ã¯
- *  ã«ãã¥ã¼ããã¯ã¹ãã­ãã¯ãããï¼
+ *  p_mtxcbで指定されるミューテックスをロック解除する．ロック解除した
+ *  ミューテックスに，ロック待ち状態のタスクがある場合には，そのタスク
+ *  にミューテックスをロックさせる．
  */
 extern void	mutex_release(MTXCB *p_mtxcb);
 
 /*
- *  ã¿ã¹ã¯ãã­ãã¯ãã¦ãããã¹ã¦ã®ãã¥ã¼ããã¯ã¹ã®ã­ãã¯è§£é¤
+ *  タスクがロックしているすべてのミューテックスのロック解除
  *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã«ï¼ãããã­ãã¯ãã¦ãããã¹ã¦ã®ãã¥ã¼ããã¯
- *  ã¹ãã­ãã¯è§£é¤ãããï¼ã­ãã¯è§£é¤ãããã¥ã¼ããã¯ã¹ã«ï¼ã­ãã¯å¾
-ã¡ç¶
- *  æ
-ã®ã¿ã¹ã¯ãããå ´åã«ã¯ï¼ãã®ã¿ã¹ã¯ã«ãã¥ã¼ããã¯ã¹ãã­ãã¯ãããï¼
+ *  p_tcbで指定されるタスクに，それがロックしているすべてのミューテック
+ *  スをロック解除させる．ロック解除したミューテックスに，ロック待ち状
+ *  態のタスクがある場合には，そのタスクにミューテックスをロックさせる．
  *
- *  ãã®é¢æ°ã¯ï¼ã¿ã¹ã¯ã®çµäºæã«ä½¿ããããã®ã§ããããï¼p_tcbã§æå®ãã
- *  ãã¿ã¹ã¯ã®åªå
-åº¦ãå¤æ´ããå¦çã¯è¡ããªãï¼ãã ãï¼ãã®é¢æ°ã®ä¸­ã§ä»
- *  ã®ã¿ã¹ã¯ã®åªå
-åº¦ãå¤åãï¼å®è¡ãã¹ãã¿ã¹ã¯ãå¤ãããã¨ãããï¼ãã®
- *  ããï¼ãã®é¢æ°ããæ»ã£ãå¾ã«ï¼ãã£ã¹ããããå¿
-è¦ãå¤å¥ãã¦ï¼å¿
-è¦ãª
- *  å ´åã«ã¯ãã£ã¹ããããè¡ããªããã°ãªããªãï¼
+ *  この関数は，タスクの終了時に使われるものであるため，p_tcbで指定され
+ *  るタスクの優先度を変更する処理は行わない．ただし，この関数の中で他
+ *  のタスクの優先度が変化し，実行すべきタスクが変わることがある．その
+ *  ため，この関数から戻った後に，ディスパッチが必要か判別して，必要な
+ *  場合にはディスパッチを行わなければならない．
  */
 extern void	mutex_release_all(TCB *p_tcb);
Index: asp3_gr_sakura/trunk/kernel/mutex.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/mutex.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/mutex.trb	(revision 318)
@@ -9,53 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: mutex.trb 630 2016-02-14 11:30:17Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		ãã¥ã¼ããã¯ã¹æ©è½ã®çæã¹ã¯ãªãã
+#		ミューテックス機能の生成スクリプト
 #
 
@@ -66,6 +51,6 @@
 
   def prepare(key, params)
-    # mtxatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2025ï¼½
-    # ï¼TA_NULLï¼TA_TPRIï¼TA_CEILINGã®ãããã§ããªãå ´åï¼
+    # mtxatrが無効の場合（E_RSATR）［NGKI2025］
+    # （TA_NULL，TA_TPRI，TA_CEILINGのいずれでもない場合）
     if !(params[:mtxatr] == $TA_NULL || params[:mtxatr] == $TA_TPRI \
 										|| params[:mtxatr] == $TA_CEILING)
@@ -74,19 +59,17 @@
 
     if params[:mtxatr] == $TA_CEILING
-      # åªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ã®å ´å
-      # ceilpriãæªæå®ã®å ´åã¯ã¨ã©ã¼ã¨ãã
+      # 優先度上限ミューテックスの場合
+      # ceilpriが未指定の場合はエラーとする
       if params[:ceilpri].nil?
         error_api(params, "ceilpri must be specified in %apiname of %mtxid")
 
-      # (TMIN_TPRI <= ceilpri && ceilpri <= TMAX_TPRI)ã§ãªãå ´åï¼E_PARï¼
-      # ï¼»NGKI2037ï¼½
+      # (TMIN_TPRI <= ceilpri && ceilpri <= TMAX_TPRI)でない場合（E_PAR）
+      # ［NGKI2037］
       elsif !($TMIN_TPRI <= params[:ceilpri] && params[:ceilpri] <= $TMAX_TPRI)
         error_illegal_id("E_PAR", params, :ceilpri, :mtxid)
       end
     else
-      # åªå
-åº¦ä¸éãã¥ã¼ããã¯ã¹ã§ãªãå ´å
-      # ceilpriãæå®ããã¦ããå ´åã¯è­¦åã¡ãã»ã¼ã¸ãåºã
+      # 優先度上限ミューテックスでない場合
+      # ceilpriが指定されている場合は警告メッセージを出す
       if !params[:ceilpri].nil?
         warning_api(params, "%%ceilpri is ignored in %apiname of %mtxid")
@@ -102,6 +85,5 @@
 
 #
-#  ãã¥ã¼ããã¯ã¹ã«é¢ããæ
-å ±ã®çæ
+#  ミューテックスに関する情報の生成
 #
 $kernelCfgC.comment_header("Mutex Functions")
Index: asp3_gr_sakura/trunk/kernel/overrun.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/overrun.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/overrun.c	(revision 318)
@@ -7,47 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -55,5 +40,5 @@
 
 /*
- *		ãªã¼ãã©ã³ãã³ãã©æ©è½
+ *		オーバランハンドラ機能
  */
 
@@ -67,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_OVR_ENTER
@@ -104,10 +89,10 @@
 
 /*
- *  ãªã¼ãã©ã³ã¿ã¤ããåä½ä¸­ããç¤ºããã©ã°
+ *  オーバランタイマが動作中かを示すフラグ
  */
 bool_t	ovrtimer_flag;
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©æ©è½ã®åæå
+ *  オーバランハンドラ機能の初期化
  */
 void
@@ -120,5 +105,5 @@
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©ç¨ã¿ã¤ãã®åä½éå§
+ *  オーバランハンドラ用タイマの動作開始
  */
 #ifdef TOPPERS_ovrsta
@@ -138,5 +123,5 @@
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©ç¨ã¿ã¤ãã®åæ­¢
+ *  オーバランハンドラ用タイマの停止
  */
 #ifdef TOPPERS_ovrstp
@@ -157,5 +142,5 @@
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©ã®åä½éå§
+ *  オーバランハンドラの動作開始
  */
 #ifdef TOPPERS_sta_ovr
@@ -200,5 +185,5 @@
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©ã®åä½åæ­¢
+ *  オーバランハンドラの動作停止
  */
 #ifdef TOPPERS_stp_ovr
@@ -240,7 +225,5 @@
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©ã®ç¶æ
-åç
-§
+ *  オーバランハンドラの状態参照
  */
 #ifdef TOPPERS_ref_ovr
@@ -287,13 +270,9 @@
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©èµ·åã«ã¼ãã³
+ *  オーバランハンドラ起動ルーチン
  *
- *  ãªã¼ãã©ã³ãã³ãã©ã®å¼åºãå¾ã«ï¼å¼åºãåã®ç¶æ
-ï¼CPUã­ãã¯ãã©ã°ï¼å²
- *  è¾¼ã¿åªå
-åº¦ãã¹ã¯ï¼ã«æ»ããªãã®ã¯ï¼ãã®ã«ã¼ãã³ããã®ãªã¿ã¼ã³å¾ã«ï¼
- *  å²è¾¼ã¿åºå£å¦çã§å
-ã®ç¶æ
-ã«æ»ãããã§ããï¼
+ *  オーバランハンドラの呼出し後に，呼出し前の状態（CPUロックフラグ，割
+ *  込み優先度マスク）に戻さないのは，このルーチンからのリターン後に，
+ *  割込み出口処理で元の状態に戻すためである．
  */
 #ifdef TOPPERS_ovrcal
@@ -318,6 +297,6 @@
 	else {
 		/*
-		 *  ãã®ã«ã¼ãã³ãå¼ã³åºãããåã«ï¼ãªã¼ãã©ã³ãã³ãã©ã®èµ·åã
-		 *  ã­ã£ã³ã»ã«ãããå ´å
+		 *  このルーチンが呼び出される前に，オーバランハンドラの起動が
+		 *  キャンセルされた場合
 		 */
 		unlock_cpu();
Index: asp3_gr_sakura/trunk/kernel/overrun.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/overrun.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/overrun.h	(revision 318)
@@ -7,47 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -55,5 +40,5 @@
 
 /*
- *		ãªã¼ãã©ã³ãã³ãã©æ©è½
+ *		オーバランハンドラ機能
  */
 
@@ -65,38 +50,38 @@
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©åæåãã­ãã¯
+ *  オーバランハンドラ初期化ブロック
  */
 typedef struct overrun_handler_initialization_block {
-	ATR			ovratr;			/* ãªã¼ãã©ã³ãã³ãã©å±æ§ */
-	OVRHDR		ovrhdr;			/* ãªã¼ãã©ã³ãã³ãã©ã®èµ·åçªå° */
+	ATR			ovratr;			/* オーバランハンドラ属性 */
+	OVRHDR		ovrhdr;			/* オーバランハンドラの起動番地 */
 } OVRINIB;
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  オーバランハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const OVRINIB	ovrinib[];
 
 /*
- *  ãªã¼ãã©ã³ã¿ã¤ããåä½ä¸­ããç¤ºããã©ã°
+ *  オーバランタイマが動作中かを示すフラグ
  */
 extern bool_t	ovrtimer_flag;
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©æ©è½ã®åæå
+ *  オーバランハンドラ機能の初期化
  */
 extern void	initialize_overrun(void);
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©ç¨ã¿ã¤ãã®åä½éå§
+ *  オーバランハンドラ用タイマの動作開始
  */
 extern void	ovrtimer_start(void);
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©ç¨ã¿ã¤ãã®åæ­¢
+ *  オーバランハンドラ用タイマの停止
  */
 extern void	ovrtimer_stop(uint_t int_num);
 
 /*
- *  ãªã¼ãã©ã³ãã³ãã©èµ·åã«ã¼ãã³
+ *  オーバランハンドラ起動ルーチン
  */
 extern void	call_ovrhdr(void);
Index: asp3_gr_sakura/trunk/kernel/overrun.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/overrun.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/overrun.trb	(revision 318)
@@ -9,57 +9,42 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 #  
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 #  
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: overrun.trb 581 2016-02-04 06:23:23Z ertl-hiro $
+#   $Id$
 #  
 
 #
-#		ãªã¼ãã©ã³ãã³ãã©æ©è½ã®çæã¹ã¯ãªãã
+#		オーバランハンドラ機能の生成スクリプト
 #
 
 #
-#  ãªã¼ãã©ã³ãã³ãã©ããµãã¼ãããã¦ããªãå ´åã®ã¨ã©ã¼ãã§ãã¯
+#  オーバランハンドラがサポートされていない場合のエラーチェック
 #
 if !$TOPPERS_SUPPORT_OVRHDR
@@ -70,11 +55,10 @@
 
 #
-#  ãªã¼ãã©ã³ãã³ãã©æ©è½ã«é¢ããæ
-å ±ã®çæ
+#  オーバランハンドラ機能に関する情報の生成
 #
 $kernelCfgC.comment_header("Overrun Handler Functions")
 
 if $cfgData[:DEF_OVR].size() > 0
-  # éçAPIãDEF_OVRããè¤æ°ããï¼E_OBJï¼ï¼»NGKI2619ï¼½
+  # 静的API「DEF_OVR」が複数ある（E_OBJ）［NGKI2619］
   if $cfgData[:DEF_OVR].size() > 1
     error("E_OBJ: too many DEF_OVR")
@@ -83,16 +67,16 @@
   params = $cfgData[:DEF_OVR][1]
 
-  # ovratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2612ï¼½
-  #ï¼TA_NULLã§ãªãå ´åï¼
+  # ovratrが無効の場合（E_RSATR）［NGKI2612］
+  #（TA_NULLでない場合）
   if params[:ovratr] != $TA_NULL
     error_illegal("E_RSATR", params, :ovratr)
   end
 
-  #	ãªã¼ãã©ã³ãã³ãã©åæåãã­ãã¯ã®çæ
+  #	オーバランハンドラ初期化ブロックの生成
   $kernelCfgC.add("const OVRINIB _kernel_ovrinib[1] = {")
   $kernelCfgC.add("\t{ (#{params[:ovratr]}), (OVRHDR)(#{params[:ovrhdr]}) }")
   $kernelCfgC.add2("};")
 
-  # ãªã¼ãã©ã³ãã³ãã©æ©è½åæåé¢æ°ã®è¿½å 
+  # オーバランハンドラ機能初期化関数の追加
   $initializeFunctions.push("_kernel_initialize_overrun();")
 else
Index: asp3_gr_sakura/trunk/kernel/pridataq.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/pridataq.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/pridataq.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,6 +42,5 @@
 
 /*
- *		åªå
-åº¦ãã¼ã¿ã­ã¥ã¼æ©è½
+ *		優先度データキュー機能
  */
 
@@ -68,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_PDQ_ENTER
@@ -151,6 +135,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã®æ°
+ *  優先度データキューの数
  */
 #define tnum_pdq	((uint_t)(tmax_pdqid - TMIN_PDQID + 1))
@@ -158,8 +141,6 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼IDããåªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ãåãåºãã
- *  ãã®ãã¯ã­
+ *  優先度データキューIDから優先度データキュー管理ブロックを取り出すた
+ *  めのマクロ
  */
 #define INDEX_PDQ(pdqid)	((uint_t)((pdqid) - TMIN_PDQID))
@@ -169,12 +150,10 @@
 
 /*
- *  ä½¿ç¨ãã¦ããªãåªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していない優先度データキュー管理ブロックのリスト
  */
 QUEUE	free_pdqcb;
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼æ©è½ã®åæå
+ *  優先度データキュー機能の初期化
  */
 void
@@ -208,6 +187,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çé åã¸ã®ãã¼ã¿ã®æ ¼ç´
+ *  優先度データキュー管理領域へのデータの格納
  */
 #ifdef TOPPERS_pdqenq
@@ -246,6 +224,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çé åããã®ãã¼ã¿ã®ååºã
+ *  優先度データキュー管理領域からのデータの取出し
  */
 #ifdef TOPPERS_pdqdeq
@@ -270,6 +247,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã¸ã®ãã¼ã¿éä¿¡
+ *  優先度データキューへのデータ送信
  */
 #ifdef TOPPERS_pdqsnd
@@ -299,6 +275,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ããã®ãã¼ã¿åä¿¡
+ *  優先度データキューからのデータ受信
  */
 #ifdef TOPPERS_pdqrcv
@@ -337,6 +312,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã®çæ
+ *  優先度データキューの生成
  */
 #ifdef TOPPERS_acre_pdq
@@ -403,6 +377,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã®åé¤
+ *  優先度データキューの削除
  */
 #ifdef TOPPERS_del_pdq
@@ -451,6 +424,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡
+ *  優先度データキューへの送信
  */
 #ifdef TOPPERS_snd_pdq
@@ -503,6 +475,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ãã¼ãªã³ã°ï¼
+ *  優先度データキューへの送信（ポーリング）
  */
 #ifdef TOPPERS_psnd_pdq
@@ -551,6 +522,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  優先度データキューへの送信（タイムアウトあり）
  */
 #ifdef TOPPERS_tsnd_pdq
@@ -609,6 +579,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡
+ *  優先度データキューからの受信
  */
 #ifdef TOPPERS_rcv_pdq
@@ -662,6 +631,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡ï¼ãã¼ãªã³ã°ï¼
+ *  優先度データキューからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_pdq
@@ -701,6 +669,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  優先度データキューからの受信（タイムアウトあり）
  */
 #ifdef TOPPERS_trcv_pdq
@@ -759,6 +726,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã®ååæå
+ *  優先度データキューの再初期化
  */
 #ifdef TOPPERS_ini_pdq
@@ -801,8 +767,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã®ç¶æ
-åç
-§
+ *  優先度データキューの状態参照
  */
 #ifdef TOPPERS_ref_pdq
Index: asp3_gr_sakura/trunk/kernel/pridataq.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/pridataq.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/pridataq.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,6 +42,5 @@
 
 /*
- *		åªå
-åº¦ãã¼ã¿ã­ã¥ã¼æ©è½
+ *		優先度データキュー機能
  */
 
@@ -69,111 +53,73 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ç®¡çãã­ãã¯
+ *  優先度データ管理ブロック
  */
 typedef struct pridata_management_block PDQMB;
 
 struct pridata_management_block {
-	PDQMB		*p_next;		/* æ¬¡ã®ãã¼ã¿ */
-	intptr_t	data;			/* ãã¼ã¿æ¬ä½ */
-	PRI			datapri;		/* ãã¼ã¿åªå
-åº¦ */
+	PDQMB		*p_next;		/* 次のデータ */
+	intptr_t	data;			/* データ本体 */
+	PRI			datapri;		/* データ優先度 */
 };
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼åæåãã­ãã¯
+ *  優先度データキュー初期化ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å
-±éé¨å
- *  ï¼WOBJINIBï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct pridataq_initialization_block {
-	ATR			pdqatr;			/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼å±æ§ */
-	uint_t		pdqcnt;			/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã®å®¹é */
-	PRI			maxdpri;		/* ãã¼ã¿åªå
-åº¦ã®æå¤§å¤ */
-	PDQMB		*p_pdqmb;		/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çé åã®å
-é ­çªå° */
+	ATR			pdqatr;			/* 優先度データキュー属性 */
+	uint_t		pdqcnt;			/* 優先度データキューの容量 */
+	PRI			maxdpri;		/* データ優先度の最大値 */
+	PDQMB		*p_pdqmb;		/* 優先度データキュー管理領域の先頭番地 */
 } PDQINIB;
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯
+ *  優先度データキュー管理ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åï¼WOBJCBï¼
- *  ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼æåã®2ã¤ã®
- *  ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct pridataq_control_block {
-	QUEUE		swait_queue;	/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼éä¿¡å¾
-ã¡ã­ã¥ã¼ */
-	const PDQINIB *p_pdqinib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	QUEUE		rwait_queue;	/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼åä¿¡å¾
-ã¡ã­ã¥ã¼ */
-	uint_t		count;			/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ä¸­ã®ãã¼ã¿ã®æ° */
-	PDQMB		*p_head;		/* æåã®ãã¼ã¿ */
-	uint_t		unused;			/* æªä½¿ç¨ãã¼ã¿ç®¡çãã­ãã¯ã®å
-é ­ */
-	PDQMB		*p_freelist;	/* æªå²å½ã¦ãã¼ã¿ç®¡çãã­ãã¯ã®ãªã¹ã */
+	QUEUE		swait_queue;	/* 優先度データキュー送信待ちキュー */
+	const PDQINIB *p_pdqinib;	/* 初期化ブロックへのポインタ */
+	QUEUE		rwait_queue;	/* 優先度データキュー受信待ちキュー */
+	uint_t		count;			/* 優先度データキュー中のデータの数 */
+	PDQMB		*p_head;		/* 最初のデータ */
+	uint_t		unused;			/* 未使用データ管理ブロックの先頭 */
+	PDQMB		*p_freelist;	/* 未割当てデータ管理ブロックのリスト */
 } PDQCB;
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼å¾
-ã¡æ
-å ±ãã­ãã¯ã®å®ç¾©
+ *  優先度データキュー待ち情報ブロックの定義
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡æ
-å ±ãã­ãã¯ã®å
-±éé¨å
- *  ï¼WINFO_WOBJï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®2ã¤ã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  */
 typedef struct pridataq_send_waiting_information {
-	WINFO		winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	PDQCB		*p_pdqcb;		/* å¾
-ã£ã¦ããåªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã®ç®¡çãã­ãã¯*/
-	intptr_t	data;			/* éä¿¡ãã¼ã¿ */
-	PRI			datapri;		/* ãã¼ã¿åªå
-åº¦ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	PDQCB		*p_pdqcb;		/* 待っている優先度データキューの管理ブロック*/
+	intptr_t	data;			/* 送信データ */
+	PRI			datapri;		/* データ優先度 */
 } WINFO_SPDQ;
 
 typedef struct pridataq_receive_waiting_information {
-	WINFO		winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	PDQCB		*p_pdqcb;		/* å¾
-ã£ã¦ããåªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã®ç®¡çãã­ãã¯*/
-	intptr_t	data;			/* åä¿¡ãã¼ã¿ */
-	PRI			datapri;		/* ãã¼ã¿åªå
-åº¦ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	PDQCB		*p_pdqcb;		/* 待っている優先度データキューの管理ブロック*/
+	intptr_t	data;			/* 受信データ */
+	PRI			datapri;		/* データ優先度 */
 } WINFO_RPDQ;
 
 /*
- *  ä½¿ç¨ãã¦ããªãåªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していない優先度データキュー管理ブロックのリスト
  */
 extern QUEUE	free_pdqcb;
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  優先度データキューIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_pdqid;
@@ -181,6 +127,5 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  優先度データキュー初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const PDQINIB	pdqinib_table[];
@@ -188,44 +133,36 @@
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  優先度データキュー管理ブロックのエリア（kernel_cfg.c）
  */
 extern PDQCB	pdqcb_table[];
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çãã­ãã¯ããåªå
-åº¦ãã¼ã¿ã­ã¥ã¼IDãåãåºãã
- *  ãã®ãã¯ã­
+ *  優先度データキュー管理ブロックから優先度データキューIDを取り出すた
+ *  めのマクロ
  */
 #define	PDQID(p_pdqcb)	((ID)(((p_pdqcb) - pdqcb_table) + TMIN_PDQID))
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼æ©è½ã®åæå
+ *  優先度データキュー機能の初期化
  */
 extern void	initialize_pridataq(void);
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çé åã¸ã®ãã¼ã¿ã®æ ¼ç´
+ *  優先度データキュー管理領域へのデータの格納
  */
 extern void	enqueue_pridata(PDQCB *p_pdqcb, intptr_t data, PRI datapri);
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çé åããã®ãã¼ã¿ã®ååºã
+ *  優先度データキュー管理領域からのデータの取出し
  */
 extern void	dequeue_pridata(PDQCB *p_pdqcb, intptr_t *p_data, PRI *p_datapri);
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã¸ã®ãã¼ã¿éä¿¡
+ *  優先度データキューへのデータ送信
  */
 extern bool_t	send_pridata(PDQCB *p_pdqcb, intptr_t data, PRI datapri);
 
 /*
- *  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ããã®ãã¼ã¿åä¿¡
+ *  優先度データキューからのデータ受信
  */
 extern bool_t	receive_pridata(PDQCB *p_pdqcb, intptr_t *p_data,
Index: asp3_gr_sakura/trunk/kernel/pridataq.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/pridataq.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/pridataq.trb	(revision 318)
@@ -9,54 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: pridataq.trb 668 2016-03-03 13:57:53Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		åªå
-åº¦ãã¼ã¿ã­ã¥ã¼æ©è½ã®çæã¹ã¯ãªãã
+#		優先度データキュー機能の生成スクリプト
 #
 
@@ -67,26 +51,25 @@
 
   def prepare(key, params)
-    # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨­å®
+    # パラメータが省略された時のデフォルト値の設定
     params[:pdqmb] ||= "NULL"
 
-    # pdqatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1804ï¼½
-    #ï¼TA_TPRIä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+    # pdqatrが無効の場合（E_RSATR）［NGKI1804］
+    #（TA_TPRI以外のビットがセットされている場合）
     if (params[:pdqatr] & ~($TA_TPRI)) != 0
       error_illegal_id("E_RSATR", params, :pdqatr, :pdqid)
     end
 
-    # (TMIN_DPRI <= maxdpri && maxdpri <= TMAX_DPRI)ã§ãªãå ´åï¼E_PARï¼
-    # ï¼»NGKI1819ï¼½
+    # (TMIN_DPRI <= maxdpri && maxdpri <= TMAX_DPRI)でない場合（E_PAR）
+    # ［NGKI1819］
     if !($TMIN_DPRI <= params[:maxdpri] && params[:maxdpri] <= $TMAX_DPRI)
       error_illegal_id("E_PAR", params, :maxdpri, :pdqid)
     end
 
-    # pdqmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0142ï¼½
+    # pdqmbがNULLでない場合（E_NOSPT）［ASPS0142］
     if params[:pdqmb] != "NULL"
       error_illegal_id("E_NOSPT", params, :pdqmb, :pdqid)
     end
 
-    # åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ç®¡çé å
+    # 優先度データキュー管理領域
     if params[:pdqcnt] > 0
       pdqmbName = "_kernel_pdqmb_#{params[:pdqid]}"
@@ -105,7 +88,5 @@
 
 #
-#  åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã«é¢ããæ
-å ±ã®çæ
+#  優先度データキューに関する情報の生成
 #
 $kernelCfgC.comment_header("Priority Dataqueue Functions")
Index: asp3_gr_sakura/trunk/kernel/semaphore.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/semaphore.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/semaphore.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã»ããã©æ©è½
+ *		セマフォ機能
  */
 
@@ -67,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_SEM_ENTER
@@ -134,5 +119,5 @@
 
 /*
- *  ã»ããã©ã®æ°
+ *  セマフォの数
  */
 #define tnum_sem	((uint_t)(tmax_semid - TMIN_SEMID + 1))
@@ -140,5 +125,5 @@
 
 /*
- *  ã»ããã©IDããã»ããã©ç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ *  セマフォIDからセマフォ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_SEM(semid)	((uint_t)((semid) - TMIN_SEMID))
@@ -148,10 +133,10 @@
 
 /*
- *  ä½¿ç¨ãã¦ããªãã»ããã©ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないセマフォ管理ブロックのリスト
  */
 QUEUE	free_semcb;
 
 /* 
- *  ã»ããã©æ©è½ã®åæå
+ *  セマフォ機能の初期化
  */
 void
@@ -181,5 +166,5 @@
 
 /*
- *  ã»ããã©ã®çæ
+ *  セマフォの生成
  */
 #ifdef TOPPERS_acre_sem
@@ -230,5 +215,5 @@
 
 /*
- *  ã»ããã©ã®åé¤
+ *  セマフォの削除
  */
 #ifdef TOPPERS_del_sem
@@ -273,5 +258,5 @@
 
 /*
- *  ã»ããã©è³æºã®è¿å´
+ *  セマフォ資源の返却
  */
 #ifdef TOPPERS_sig_sem
@@ -323,5 +308,5 @@
 
 /*
- *  ã»ããã©è³æºã®ç²å¾
+ *  セマフォ資源の獲得
  */
 #ifdef TOPPERS_wai_sem
@@ -366,5 +351,5 @@
 
 /*
- *  ã»ããã©è³æºã®ç²å¾ï¼ãã¼ãªã³ã°ï¼
+ *  セマフォ資源の獲得（ポーリング）
  */
 #ifdef TOPPERS_pol_sem
@@ -402,5 +387,5 @@
 
 /*
- *  ã»ããã©è³æºã®ç²å¾ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  セマフォ資源の獲得（タイムアウトあり）
  */
 #ifdef TOPPERS_twai_sem
@@ -451,5 +436,5 @@
 
 /*
- *  ã»ããã©ã®ååæå
+ *  セマフォの再初期化
  */
 #ifdef TOPPERS_ini_sem
@@ -488,7 +473,5 @@
 
 /*
- *  ã»ããã©ã®ç¶æ
-åç
-§
+ *  セマフォの状態参照
  */
 #ifdef TOPPERS_ref_sem
Index: asp3_gr_sakura/trunk/kernel/semaphore.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/semaphore.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/semaphore.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã»ããã©æ©è½
+ *		セマフォ機能
  */
 
@@ -68,62 +53,48 @@
 
 /*
- *  ã»ããã©åæåãã­ãã¯
+ *  セマフォ初期化ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å
-±éé¨å
- *  ï¼WOBJINIBï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  æåã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct semaphore_initialization_block {
-	ATR			sematr;			/* ã»ããã©å±æ§ */
-	uint_t		isemcnt;		/* ã»ããã©ã®è³æºæ°ã®åæå¤ */
-	uint_t		maxsem;			/* ã»ããã©ã®æå¤§è³æºæ° */
+	ATR			sematr;			/* セマフォ属性 */
+	uint_t		isemcnt;		/* セマフォの資源数の初期値 */
+	uint_t		maxsem;			/* セマフォの最大資源数 */
 } SEMINIB;
 
 /*
- *  ã»ããã©ç®¡çãã­ãã¯
+ *  セマフォ管理ブロック
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åï¼WOBJCBï¼
- *  ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼æåã®2ã¤ã®
- *  ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct semaphore_control_block {
-	QUEUE		wait_queue;		/* ã»ããã©å¾
-ã¡ã­ã¥ã¼ */
-	const SEMINIB *p_seminib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	uint_t		semcnt;			/* ã»ããã©ç¾å¨ã«ã¦ã³ãå¤ */
+	QUEUE		wait_queue;		/* セマフォ待ちキュー */
+	const SEMINIB *p_seminib;	/* 初期化ブロックへのポインタ */
+	uint_t		semcnt;			/* セマフォ現在カウント値 */
 } SEMCB;
 
 /*
- *  ã»ããã©å¾
-ã¡æ
-å ±ãã­ãã¯ã®å®ç¾©
+ *  セマフォ待ち情報ブロックの定義
  *
- *  ãã®æ§é ä½ã¯ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡æ
-å ±ãã­ãã¯ã®å
-±éé¨å
- *  ï¼WINFO_WOBJï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ï¼
- *  ãã¹ã¦ã®ãã£ã¼ã«ããå
-±éã«ãªã£ã¦ããï¼
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  すべてのフィールドが共通になっている．
  */
 typedef struct semaphore_waiting_information {
-	WINFO	winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	SEMCB	*p_semcb;		/* å¾
-ã£ã¦ããã»ããã©ã®ç®¡çãã­ãã¯ */
+	WINFO	winfo;			/* 標準の待ち情報ブロック */
+	SEMCB	*p_semcb;		/* 待っているセマフォの管理ブロック */
 } WINFO_SEM;
 
 /*
- *  ä½¿ç¨ãã¦ããªãã»ããã©ç®¡çãã­ãã¯ã®ãªã¹ã
+ *  使用していないセマフォ管理ブロックのリスト
  */
 extern QUEUE	free_semcb;
 
 /*
- *  ã»ããã©IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  セマフォIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_semid;
@@ -131,5 +102,5 @@
 
 /*
- *  ã»ããã©åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  セマフォ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const SEMINIB	seminib_table[];
@@ -137,15 +108,15 @@
 
 /*
- *  ã»ããã©ç®¡çãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  セマフォ管理ブロックのエリア（kernel_cfg.c）
  */
 extern SEMCB	semcb_table[];
 
 /*
- *  ã»ããã©ç®¡çãã­ãã¯ããã»ããã©IDãåãåºãããã®ãã¯ã­
+ *  セマフォ管理ブロックからセマフォIDを取り出すためのマクロ
  */
 #define	SEMID(p_semcb)	((ID)(((p_semcb) - semcb_table) + TMIN_SEMID))
 
 /*
- *  ã»ããã©æ©è½ã®åæå
+ *  セマフォ機能の初期化
  */
 extern void	initialize_semaphore(void);
Index: asp3_gr_sakura/trunk/kernel/semaphore.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/semaphore.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/semaphore.trb	(revision 318)
@@ -9,53 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: semaphore.trb 588 2016-02-05 12:54:58Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		ã»ããã©æ©è½ã®çæã¹ã¯ãªãã
+#		セマフォ機能の生成スクリプト
 #
 
@@ -66,16 +51,16 @@
 
   def prepare(key, params)
-    # sematrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1456ï¼½
-    #ï¼TA_TPRIä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+    # sematrが無効の場合（E_RSATR）［NGKI1456］
+    #（TA_TPRI以外のビットがセットされている場合）
     if (params[:sematr] & ~($TA_TPRI)) != 0
       error_illegal_id("E_RSATR", params, :sematr, :semid)
     end
 
-    # (1 <= maxsem && maxsem <= TMAX_MAXSEM)ã§ãªãå ´åï¼E_PARï¼ï¼»NGKI1468ï¼½
+    # (1 <= maxsem && maxsem <= TMAX_MAXSEM)でない場合（E_PAR）［NGKI1468］
     if !(1 <= params[:maxsem] && params[:maxsem] <= $TMAX_MAXSEM)
       error_illegal_id("E_PAR", params, :maxsem, :semid)
     end
 
-    # (0 <= isemcnt && isemcnt <= maxsem)ã§ãªãå ´åï¼E_PARï¼ï¼»NGKI1466ï¼½
+    # (0 <= isemcnt && isemcnt <= maxsem)でない場合（E_PAR）［NGKI1466］
     if !(0 <= params[:isemcnt] && params[:isemcnt] <= params[:maxsem])
       error_wrong_id("E_PAR", params, :isemcnt, :semid, "too large")
@@ -89,6 +74,5 @@
 
 #
-#  ã»ããã©ã«é¢ããæ
-å ±ã®çæ
+#  セマフォに関する情報の生成
 #
 $kernelCfgC.comment_header("Semaphore Functions")
Index: asp3_gr_sakura/trunk/kernel/startup.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/startup.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/startup.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã«ã¼ãã«ã®åæåã¨çµäºå¦ç
+ *		カーネルの初期化と終了処理
  */
 
@@ -65,5 +50,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_KER_ENTER
@@ -86,15 +71,13 @@
 
 /*
- *  ã«ã¼ãã«åä½ç¶æ
-ãã©ã°
+ *  カーネル動作状態フラグ
  *
- *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ï¼falseï¼ï¼0ï¼ã«åæåããããã¨ãæå¾
-ãã¦
- *  ããï¼
+ *  スタートアップルーチンで，false（＝0）に初期化されることを期待して
+ *  いる．
  */
 bool_t	kerflg = false;
 
 /*
- *  ã«ã¼ãã«ã®èµ·å
+ *  カーネルの起動
  */
 void
@@ -102,5 +85,5 @@
 {
 	/*
-	 *  TECSã®åæå
+	 *  TECSの初期化
 	 */
 #ifndef TOPPERS_OMIT_TECS
@@ -109,33 +92,31 @@
 
 	/*
-	 *  ã¿ã¼ã²ããä¾å­ã®åæå
+	 *  ターゲット依存の初期化
 	 */
 	target_initialize();
 
 	/*
-	 *  åã¢ã¸ã¥ã¼ã«ã®åæå
+	 *  各モジュールの初期化
 	 *
-	 *  ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«ã¯ä»ã®ã¢ã¸ã¥ã¼ã«ããå
-ã«åæå
-	 *  ããå¿
-è¦ãããï¼
+	 *  タイムイベント管理モジュールは他のモジュールより先に初期化
+	 *  する必要がある．
 	 */
 	initialize_kmm();
-	initialize_tmevt();								/*ï¼»ASPD1061ï¼½*/
+	initialize_tmevt();								/*［ASPD1061］*/
 	initialize_object();
 
 	/*
-	 *  åæåã«ã¼ãã³ã®å®è¡
+	 *  初期化ルーチンの実行
 	 */ 
 	call_inirtn();
 
 	/*
-	 *  é«åè§£è½ã¿ã¤ãã®è¨­å®
-	 */
-	current_hrtcnt = target_hrt_get_current();		/*ï¼»ASPD1063ï¼½*/
-	set_hrt_event();								/*ï¼»ASPD1064ï¼½*/
-
-	/*
-	 *  ã«ã¼ãã«åä½ã®éå§
+	 *  高分解能タイマの設定
+	 */
+	current_hrtcnt = target_hrt_get_current();		/*［ASPD1063］*/
+	set_hrt_event();								/*［ASPD1064］*/
+
+	/*
+	 *  カーネル動作の開始
 	 */
 	kerflg = true;
@@ -148,5 +129,5 @@
 
 /*
- *  ã«ã¼ãã«ã®çµäº
+ *  カーネルの終了
  */
 #ifdef TOPPERS_ext_ker
@@ -160,11 +141,10 @@
 
 	/*
-	 *  å²è¾¼ã¿ã­ãã¯ç¶æ
-ã«ç§»è¡
+	 *  割込みロック状態に移行
 	 */
 	SIL_LOC_INT();
 
 	/*
-	 *  ã«ã¼ãã«åä½ã®çµäº
+	 *  カーネル動作の終了
 	 */
 	LOG_KER_LEAVE();
@@ -172,12 +152,12 @@
 
 	/*
-	 *  ã«ã¼ãã«ã®çµäºå¦çã®å¼åºã
+	 *  カーネルの終了処理の呼出し
 	 *
-	 *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãã«åãæãã¦ï¼exit_kernelãå¼ã³åºãï¼
+	 *  非タスクコンテキストに切り換えて，exit_kernelを呼び出す．
 	 */
 	call_exit_kernel();
 
 	/*
-	 *  ã³ã³ãã¤ã©ã®è­¦åå¯¾ç­ï¼ããã¸æ¥ããã¨ã¯ãªãã¯ãï¼
+	 *  コンパイラの警告対策（ここへ来ることはないはず）
 	 */
 	SIL_UNL_INT();
@@ -187,5 +167,5 @@
 
 /*
- *  ã«ã¼ãã«ã®çµäºå¦ç
+ *  カーネルの終了処理
  */
 void
@@ -193,10 +173,10 @@
 {
 	/*
-	 *  çµäºå¦çã«ã¼ãã³ã®å®è¡
+	 *  終了処理ルーチンの実行
 	 */
 	call_terrtn();
 
 	/*
-	 *  ã¿ã¼ã²ããä¾å­ã®çµäºå¦ç
+	 *  ターゲット依存の終了処理
 	 */
 	target_exit();
@@ -207,9 +187,8 @@
 
 /*
- *  ã«ã¼ãã«ã®å²ãä»ããã¡ã¢ãªé åã®ç®¡ç
+ *  カーネルの割り付けるメモリ領域の管理
  *
- *  ã¡ã¢ãªé åãå
-é ­ããé ã«å²ãå½ã¦ï¼è§£æ¾ãããã¡ã¢ãªé åãåå©ç¨ããª
- *  ãã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ï¼
+ *  メモリ領域を先頭から順に割り当て，解放されたメモリ領域を再利用しな
+ *  いメモリ管理モジュール．
  */
 #ifdef TOPPERS_kermem
Index: asp3_gr_sakura/trunk/kernel/sys_manage.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/sys_manage.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/sys_manage.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,6 +42,5 @@
 
 /*
- *		ã·ã¹ãã ç¶æ
-ç®¡çæ©è½
+ *		システム状態管理機能
  */
 
@@ -67,5 +51,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ROT_RDQ_ENTER
@@ -174,6 +158,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®åªå
-é ä½ã®åè»¢ï¼»NGKI3548ï¼½
+ *  タスクの優先順位の回転［NGKI3548］
  */
 #ifdef TOPPERS_rot_rdq
@@ -186,10 +169,10 @@
 
 	LOG_ROT_RDQ_ENTER(tskpri);
-	CHECK_UNL();								/*ï¼»NGKI2684ï¼½*/
+	CHECK_UNL();								/*［NGKI2684］*/
 	if (tskpri == TPRI_SELF && !sense_context()) {
-		pri = p_runtsk->bpriority;				/*ï¼»NGKI2689ï¼½*/
+		pri = p_runtsk->bpriority;				/*［NGKI2689］*/
 	}
 	else {
-		CHECK_PAR(VALID_TPRI(tskpri));			/*ï¼»NGKI2685ï¼½*/
+		CHECK_PAR(VALID_TPRI(tskpri));			/*［NGKI2685］*/
 		pri = INT_PRIORITY(tskpri);
 	}
@@ -216,7 +199,5 @@
 
 /*
- *  å®è¡ç¶æ
-ã®ã¿ã¹ã¯IDã®åç
-§ï¼»NGKI3550ï¼½
+ *  実行状態のタスクIDの参照［NGKI3550］
  */
 #ifdef TOPPERS_get_tid
@@ -228,5 +209,5 @@
 
 	LOG_GET_TID_ENTER(p_tskid);
-	CHECK_UNL();								/*ï¼»NGKI2707ï¼½*/
+	CHECK_UNL();								/*［NGKI2707］*/
 
 	lock_cpu();
@@ -243,6 +224,5 @@
 
 /*
- *  å®è¡ã§ããã¿ã¹ã¯ã®æ°ã®åç
-§ï¼»NGKI3623ï¼½
+ *  実行できるタスクの数の参照［NGKI3623］
  */
 #ifdef TOPPERS_get_lod
@@ -256,10 +236,10 @@
 
 	LOG_GET_LOD_ENTER(p_tskid, p_load);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3624ï¼½ï¼»NGKI3625ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3624］［NGKI3625］*/
 	if (tskpri == TPRI_SELF) {
-		pri = p_runtsk->bpriority;				/*ï¼»NGKI3631ï¼½*/
+		pri = p_runtsk->bpriority;				/*［NGKI3631］*/
 	}
 	else {
-		CHECK_PAR(VALID_TPRI(tskpri));			/*ï¼»NGKI3626ï¼½*/
+		CHECK_PAR(VALID_TPRI(tskpri));			/*［NGKI3626］*/
 		pri = INT_PRIORITY(tskpri);
 	}
@@ -284,7 +264,5 @@
 
 /*
- *  æå®ããåªå
-é ä½ã®ã¿ã¹ã¯IDã®åç
-§ï¼»NGKI3641ï¼½
+ *  指定した優先順位のタスクIDの参照［NGKI3641］
  */
 #ifdef TOPPERS_get_nth
@@ -299,10 +277,10 @@
 
 	LOG_GET_NTH_ENTER(p_tskid, nth, p_tskid);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3642ï¼½ï¼»NGKI3643ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3642］［NGKI3643］*/
 	if (tskpri == TPRI_SELF) {
-		pri = p_runtsk->bpriority;				/*ï¼»NGKI3650ï¼½*/
+		pri = p_runtsk->bpriority;				/*［NGKI3650］*/
 	}
 	else {
-		CHECK_PAR(VALID_TPRI(tskpri));			/*ï¼»NGKI3644ï¼½*/
+		CHECK_PAR(VALID_TPRI(tskpri));			/*［NGKI3644］*/
 		pri = INT_PRIORITY(tskpri);
 	}
@@ -331,6 +309,5 @@
 
 /*
- *  CPUã­ãã¯ç¶æ
-ã¸ã®é·ç§»ï¼»NGKI3538ï¼½
+ *  CPUロック状態への遷移［NGKI3538］
  */
 #ifdef TOPPERS_loc_cpu
@@ -343,6 +320,6 @@
 	LOG_LOC_CPU_ENTER();
 
-	if (!sense_lock()) {						/*ï¼»NGKI2731ï¼½*/
-		lock_cpu();								/*ï¼»NGKI2730ï¼½*/
+	if (!sense_lock()) {						/*［NGKI2731］*/
+		lock_cpu();								/*［NGKI2730］*/
 	}
 	ercd = E_OK;
@@ -355,13 +332,9 @@
 
 /*
- *  CPUã­ãã¯ç¶æ
-ã®è§£é¤ï¼»NGKI3539ï¼½
+ *  CPUロック状態の解除［NGKI3539］
  *
- *  CPUã­ãã¯ä¸­ã¯ï¼ãã£ã¹ããããå¿
-è¦ã¨ãªããµã¼ãã¹ã³ã¼ã«ãå¼ã³åºãã
- *  ã¨ã¯ã§ããªãããï¼CPUã­ãã¯ç¶æ
-ã®è§£é¤æã«ãã£ã¹ãããã£ãèµ·åãã
- *  å¿
-è¦ã¯ãªãï¼
+ *  CPUロック中は，ディスパッチが必要となるサービスコールを呼び出すこ
+ *  とはできないため，CPUロック状態の解除時にディスパッチャを起動する
+ *  必要はない．
  */
 #ifdef TOPPERS_unl_cpu
@@ -374,6 +347,6 @@
 	LOG_UNL_CPU_ENTER();
 
-	if (sense_lock()) {							/*ï¼»NGKI2738ï¼½*/
-		unlock_cpu();							/*ï¼»NGKI2737ï¼½*/
+	if (sense_lock()) {							/*［NGKI2738］*/
+		unlock_cpu();							/*［NGKI2737］*/
 	}
 	ercd = E_OK;
@@ -386,5 +359,5 @@
 
 /*
- *  ãã£ã¹ãããã®ç¦æ­¢ï¼»NGKI2740ï¼½
+ *  ディスパッチの禁止［NGKI2740］
  */
 #ifdef TOPPERS_dis_dsp
@@ -396,5 +369,5 @@
 
 	LOG_DIS_DSP_ENTER();
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI2741ï¼½ï¼»NGKI2742ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI2741］［NGKI2742］*/
 
 	lock_cpu();
@@ -412,5 +385,5 @@
 
 /*
- *  ãã£ã¹ãããã®è¨±å¯ï¼»NGKI2746ï¼½
+ *  ディスパッチの許可［NGKI2746］
  */
 #ifdef TOPPERS_ena_dsp
@@ -422,5 +395,5 @@
 
 	LOG_ENA_DSP_ENTER();
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI2747ï¼½ï¼»NGKI2748ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI2747］［NGKI2748］*/
 
 	lock_cpu();
@@ -460,6 +433,5 @@
 
 /*
- *  ã³ã³ãã­ã¹ãã®åç
-§ï¼»NGKI2752ï¼½
+ *  コンテキストの参照［NGKI2752］
  */
 #ifdef TOPPERS_sns_ctx
@@ -479,7 +451,5 @@
 
 /*
- *  CPUã­ãã¯ç¶æ
-ã®åç
-§ï¼»NGKI2754ï¼½
+ *  CPUロック状態の参照［NGKI2754］
  */
 #ifdef TOPPERS_sns_loc
@@ -499,7 +469,5 @@
 
 /*
- *  ãã£ã¹ãããç¦æ­¢ç¶æ
-ã®åç
-§ï¼»NGKI2756ï¼½
+ *  ディスパッチ禁止状態の参照［NGKI2756］
  */
 #ifdef TOPPERS_sns_dsp
@@ -519,7 +487,5 @@
 
 /*
- *  ãã£ã¹ãããä¿çç¶æ
-ã®åç
-§ï¼»NGKI2758ï¼½
+ *  ディスパッチ保留状態の参照［NGKI2758］
  */
 #ifdef TOPPERS_sns_dpn
@@ -539,7 +505,5 @@
 
 /*
- *  ã«ã¼ãã«éåä½ç¶æ
-ã®åç
-§ï¼»NGKI2760ï¼½
+ *  カーネル非動作状態の参照［NGKI2760］
  */
 #ifdef TOPPERS_sns_ker
Index: asp3_gr_sakura/trunk/kernel/task.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/task.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/task.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«
+ *		タスク管理モジュール
  */
 
@@ -68,43 +53,40 @@
 
 /*
- *  å®è¡ç¶æ
-ã®ã¿ã¹ã¯
+ *  実行状態のタスク
  */
 TCB		*p_runtsk;
 
 /*
- *  å®è¡ãã¹ãã¿ã¹ã¯
+ *  実行すべきタスク
  */
 TCB		*p_schedtsk;
 
 /*
- *  ãã£ã¹ãããè¨±å¯ç¶æ
-
+ *  ディスパッチ許可状態
  */
 bool_t	enadsp;
 
 /*
- *  ã¿ã¹ã¯ãã£ã¹ãããå¯è½ç¶æ
-
+ *  タスクディスパッチ可能状態
  */
 bool_t	dspflg;
 
 /*
- *  ã¬ãã£ã­ã¥ã¼
+ *  レディキュー
  */
 QUEUE	ready_queue[TNUM_TPRI];
 
 /*
- *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããã
+ *  レディキューサーチのためのビットマップ
  */
 uint16_t	ready_primap;
 
 /*
- *  ä½¿ç¨ãã¦ããªãTCBã®ãªã¹ã
+ *  使用していないTCBのリスト
  */
 QUEUE	free_tcb;
 
 /*
- *  ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®åæå
+ *  タスク管理モジュールの初期化
  */
 void
@@ -148,23 +130,20 @@
 
 /*
- *  ãããããããµã¼ãé¢æ°
- *
- *  bitmapå
-ã®1ã®ãããã®å
-ï¼æãä¸ä½ï¼å³ï¼ã®ãã®ããµã¼ããï¼ãã®ãã
- *  ãçªå·ãè¿ãï¼ãããçªå·ã¯ï¼æä¸ä½ãããã0ã¨ããï¼bitmapã«0ãæå®
- *  ãã¦ã¯ãªããªãï¼ãã®é¢æ°ã§ã¯ï¼bitmapã16ãããã§ãããã¨ãä»®å®ãï¼
- *  uint16_tåã¨ãã¦ããï¼
- *
- *  ããããµã¼ãå½ä»¤ãæã¤ãã­ã»ããµã§ã¯ï¼ããããµã¼ãå½ä»¤ãä½¿ãããã«
- *  æ¸ãç´ããæ¹ãå¹çãè¯ãå ´åãããï¼ãã®ãããªå ´åã«ã¯ï¼ã¿ã¼ã²ãã
- *  ä¾å­é¨ã§ããããµã¼ãå½ä»¤ãä½¿ã£ãbitmap_searchãå®ç¾©ãï¼
- *  OMIT_BITMAP_SEARCHããã¯ã­å®ç¾©ããã°ããï¼ã¾ãï¼ããããµã¼ãå½ä»¤ã®
- *  ãµã¼ãæ¹åãéãªã©ã®çç±ã§åªå
-åº¦ã¨ãããã¨ã®å¯¾å¿ãå¤æ´ãããå ´åã«
- *  ã¯ï¼PRIMAP_BITããã¯ã­å®ç¾©ããã°ããï¼
- *
- *  ã¾ãï¼ã©ã¤ãã©ãªã«ffsããããªãï¼æ¬¡ã®ããã«å®ç¾©ãã¦ã©ã¤ãã©ãªé¢æ°ã
- *  ä½¿ã£ãæ¹ãå¹çãè¯ãå¯è½æ§ãããï¼
+ *  ビットマップサーチ関数
+ *
+ *  bitmap内の1のビットの内，最も下位（右）のものをサーチし，そのビッ
+ *  ト番号を返す．ビット番号は，最下位ビットを0とする．bitmapに0を指定
+ *  してはならない．この関数では，bitmapが16ビットであることを仮定し，
+ *  uint16_t型としている．
+ *
+ *  ビットサーチ命令を持つプロセッサでは，ビットサーチ命令を使うように
+ *  書き直した方が効率が良い場合がある．このような場合には，ターゲット
+ *  依存部でビットサーチ命令を使ったbitmap_searchを定義し，
+ *  OMIT_BITMAP_SEARCHをマクロ定義すればよい．また，ビットサーチ命令の
+ *  サーチ方向が逆などの理由で優先度とビットとの対応を変更したい場合に
+ *  は，PRIMAP_BITをマクロ定義すればよい．
+ *
+ *  また，ライブラリにffsがあるなら，次のように定義してライブラリ関数を
+ *  使った方が効率が良い可能性もある．
  *		#define	bitmap_search(bitmap) (ffs(bitmap) - 1)
  */
@@ -198,6 +177,5 @@
 
 /*
- *  åªå
-åº¦ãããããããç©ºãã®ãã§ãã¯
+ *  優先度ビットマップが空かのチェック
  */
 Inline bool_t
@@ -208,6 +186,5 @@
 
 /*
- *  åªå
-åº¦ããããããã®ãµã¼ã
+ *  優先度ビットマップのサーチ
  */
 Inline uint_t
@@ -218,6 +195,5 @@
 
 /*
- *  åªå
-åº¦ããããããã®ã»ãã
+ *  優先度ビットマップのセット
  */
 Inline void
@@ -228,6 +204,5 @@
 
 /*
- *  åªå
-åº¦ããããããã®ã¯ãªã¢
+ *  優先度ビットマップのクリア
  */
 Inline void
@@ -238,6 +213,5 @@
 
 /*
- *  æé«åªå
-é ä½ã¿ã¹ã¯ã®ãµã¼ã
+ *  最高優先順位タスクのサーチ
  */
 #ifdef TOPPERS_tsksched
@@ -255,11 +229,8 @@
 
 /*
- *  å®è¡ã§ããç¶æ
-ã¸ã®é·ç§»
- *
- *  å®è¡ãã¹ãã¿ã¹ã¯ãæ´æ°ããã®ã¯ï¼å®è¡ã§ããã¿ã¹ã¯ããªãã£ãå ´åã¨ï¼
- *  p_tcbã®åªå
-åº¦ãå®è¡ãã¹ãã¿ã¹ã¯ã®åªå
-åº¦ãããé«ãå ´åã§ããï¼
+ *  実行できる状態への遷移
+ *
+ *  実行すべきタスクを更新するのは，実行できるタスクがなかった場合と，
+ *  p_tcbの優先度が実行すべきタスクの優先度よりも高い場合である．
  */
 #ifdef TOPPERS_tskrun
@@ -283,14 +254,10 @@
 
 /*
- *  å®è¡ã§ããç¶æ
-ããä»ã®ç¶æ
-ã¸ã®é·ç§»
- *
- *  å®è¡ãã¹ãã¿ã¹ã¯ãæ´æ°ããã®ã¯ï¼p_tcbãå®è¡ãã¹ãã¿ã¹ã¯ã§ãã£ãå ´å
- *  ã§ããï¼p_tcbã¨åãåªå
-åº¦ã®ã¿ã¹ã¯ãä»ã«ããå ´åã¯ï¼p_tcbã®æ¬¡ã®ã¿ã¹
- *  ã¯ãå®è¡ãã¹ãã¿ã¹ã¯ã«ãªãï¼ããã§ãªãå ´åã¯ï¼ã¬ãã£ã­ã¥ã¼ããµã¼ã
- *  ããå¿
-è¦ãããï¼
+ *  実行できる状態から他の状態への遷移
+ *
+ *  実行すべきタスクを更新するのは，p_tcbが実行すべきタスクであった場合
+ *  である．p_tcbと同じ優先度のタスクが他にある場合は，p_tcbの次のタス
+ *  クが実行すべきタスクになる．そうでない場合は，レディキューをサーチ
+ *  する必要がある．
  */
 #ifdef TOPPERS_tsknrun
@@ -321,6 +288,5 @@
 
 /*
- *  ä¼æ­¢ç¶æ
-ã¸ã®é·ç§»
+ *  休止状態への遷移
  */
 #ifdef TOPPERS_tskdmt
@@ -344,7 +310,5 @@
 
 /*
- *  ä¼æ­¢ç¶æ
-ããå®è¡ã§ããç¶æ
-ã¸ã®é·ç§»
+ *  休止状態から実行できる状態への遷移
  */
 #ifdef TOPPERS_tskact
@@ -362,24 +326,14 @@
 
 /*
- *  ã¿ã¹ã¯ã®åªå
-åº¦ã®å¤æ´
- *
- *  ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
-ã®å ´åã«ã¯ï¼ã¬ãã£ã­ã¥ã¼ã®ä¸­ã§ã®ä½ç½®ãå¤æ´ã
- *  ãï¼ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼ã®ä¸­ã§å¾
-ã¡ç¶æ
-ã«ãªã£ã¦ããå ´åã«ã¯ï¼å¾
-
- *  ã¡ã­ã¥ã¼ã®ä¸­ã§ã®ä½ç½®ãå¤æ´ããï¼
- *
- *  å®è¡ãã¹ãã¿ã¹ã¯ãæ´æ°ããã®ã¯ï¼(1) p_tcbãå®è¡ãã¹ãã¿ã¹ã¯ã§ãã£ã¦ï¼
- *  ãã®åªå
-åº¦ãä¸ããå ´åï¼(2) p_tcbãå®è¡ãã¹ãã¿ã¹ã¯ã§ã¯ãªãï¼å¤æ´å¾
- *  ã®åªå
-åº¦ãå®è¡ãã¹ãã¿ã¹ã¯ã®åªå
-åº¦ãããé«ãå ´åã§ããï¼(1)ã®å ´åã«
- *  ã¯ï¼ã¬ãã£ã­ã¥ã¼ããµã¼ãããå¿
-è¦ãããï¼
+ *  タスクの優先度の変更
+ *
+ *  タスクが実行できる状態の場合には，レディキューの中での位置を変更す
+ *  る．オブジェクトの待ちキューの中で待ち状態になっている場合には，待
+ *  ちキューの中での位置を変更する．
+ *
+ *  実行すべきタスクを更新するのは，(1) p_tcbが実行すべきタスクであって，
+ *  その優先度を下げた場合，(2) p_tcbが実行すべきタスクではなく，変更後
+ *  の優先度が実行すべきタスクの優先度よりも高い場合である．(1)の場合に
+ *  は，レディキューをサーチする必要がある．
  */
 #ifdef TOPPERS_tskpri
@@ -395,6 +349,5 @@
 	if (TSTAT_RUNNABLE(p_tcb->tstat)) {
 		/*
-		 *  ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
-ã®å ´å
+		 *  タスクが実行できる状態の場合
 		 */
 		queue_delete(&(p_tcb->task_queue));
@@ -427,8 +380,6 @@
 		if (TSTAT_WAIT_WOBJCB(p_tcb->tstat)) {
 			/*
-			 *  ã¿ã¹ã¯ãï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨
-			 *  åï¼WOBJCBï¼ã®å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªããã¦ããå ´å
+			 *  タスクが，同期・通信オブジェクトの管理ブロックの共通部
+			 *  分（WOBJCB）の待ちキューにつながれている場合
 			 */
 			wobj_change_priority(((WINFO_WOBJ *)(p_tcb->p_winfo))->p_wobjcb,
@@ -441,8 +392,8 @@
 
 /*
- *  ã¬ãã£ã­ã¥ã¼ã®åè»¢
- *
- *  å®è¡ãã¹ãã¿ã¹ã¯ãæ´æ°ããã®ã¯ï¼å®è¡ãã¹ãã¿ã¹ã¯ãã¿ã¹ã¯ã­ã¥ã¼ã®æ«
- *  å°¾ã«ç§»åããå ´åã§ããï¼
+ *  レディキューの回転
+ *
+ *  実行すべきタスクを更新するのは，実行すべきタスクがタスクキューの末
+ *  尾に移動した場合である．
  */
 #ifdef TOPPERS_tskrot
@@ -467,5 +418,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®çµäºå¦ç
+ *  タスクの終了処理
  */
 #ifdef TOPPERS_tskterm
Index: asp3_gr_sakura/trunk/kernel/task.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/task.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/task.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«
+ *		タスク管理モジュール
  */
 
@@ -68,5 +53,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_TSKSTAT
@@ -75,7 +60,5 @@
 
 /*
- *  ã¿ã¹ã¯åªå
-åº¦ã®å
-é¨è¡¨ç¾ã»å¤é¨è¡¨ç¾å¤æãã¯ã­
+ *  タスク優先度の内部表現・外部表現変換マクロ
  */
 #define INT_PRIORITY(x)		((uint_t)((x) - TMIN_TPRI))
@@ -83,96 +66,43 @@
 
 /*
- *  ã¿ã¹ã¯ç¶æ
-ã®å
-é¨è¡¨ç¾
- *
- *  TCBä¸­ã®ã¿ã¹ã¯ç¶æ
-ã®ãã£ã¼ã«ãã§ã¯ï¼ã¿ã¹ã¯ã®ç¶æ
-ã¨ï¼ã¿ã¹ã¯ãå¾
-ã¡ç¶æ
-
- *  ã®æã®å¾
-ã¡è¦å ãè¡¨ãï¼ãã ãï¼å®è¡ç¶æ
-ï¼RUNNINGï¼ã¨å®è¡å¯è½ç¶æ
-
- *  ï¼READYï¼ã¯åºå¥ããï¼ä¸¡ç¶æ
-ããããã¦å®è¡ã§ããç¶æ
-ï¼RUNNABLEï¼ã¨ã
- *  ã¦ç®¡çããï¼äºéå¾
-ã¡ç¶æ
-ã¯ï¼(TS_WAITING_??? | TS_SUSPENDED)ã§è¡¨ãï¼
- *
- *  ã¿ã¹ã¯ãå¾
-ã¡ç¶æ
-ï¼äºéå¾
-ã¡ç¶æ
-ãå«ãï¼ã®æã¯ï¼TS_WAITING_???ã§å¾
-ã¡
- *  è¦å ãè¡¨ãï¼å¾
-ã¡è¦å ï¼5ãããã§è¡¨ç¾ãããï¼ã®ä¸ä½2ãããã§ï¼åæã»
- *  éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªãã£ã¦ãããã©ãããè¡¨ãï¼åæã»
- *  éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªãããªããã®ã¯ä¸ä½2ãããã00ï¼å
- *  æã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åï¼WOBJCBï¼ã®å¾
-ã¡ã­ã¥ã¼
- *  ã«ã¤ãªãããã®ã¯10ã¾ãã¯11ï¼ããä»¥å¤ã®å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªãããã®ã¯01
- *  ã¨ããï¼
- */
-#define TS_DORMANT		0x00U			/* ä¼æ­¢ç¶æ
- */
-#define TS_RUNNABLE		0x01U			/* å®è¡ã§ããç¶æ
- */
-#define TS_SUSPENDED	0x02U			/* å¼·å¶å¾
-ã¡ç¶æ
- */
-
-#define TS_WAITING_SLP	(0x01U << 2)	/* èµ·åºå¾
-ã¡ */
-#define TS_WAITING_DLY	(0x02U << 2)	/* æéçµéå¾
-ã¡ */
-#define TS_WAITING_RDTQ	(0x08U << 2)	/* ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡å¾
-ã¡ */
-#define TS_WAITING_RPDQ	(0x09U << 2)	/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ããã®åä¿¡å¾
-ã¡ */
-#define TS_WAITING_SEM	(0x10U << 2)	/* ã»ããã©è³æºã®ç²å¾å¾
-ã¡ */
-#define TS_WAITING_FLG	(0x11U << 2)	/* ã¤ãã³ããã©ã°å¾
-ã¡ */
-#define TS_WAITING_SDTQ	(0x12U << 2)	/* ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡å¾
-ã¡ */
-#define TS_WAITING_SPDQ	(0x13U << 2)	/* åªå
-åº¦ãã¼ã¿ã­ã¥ã¼ã¸ã®éä¿¡å¾
-ã¡ */
-#define TS_WAITING_MTX	(0x14U << 2)	/* ãã¥ã¼ããã¯ã¹ã®ã­ãã¯å¾
-ã¡ */
-#define TS_WAITING_MPF	(0x15U << 2)	/* åºå®é·ã¡ã¢ãªãã­ãã¯ã®ç²å¾å¾
-ã¡ */
-
-#define TS_WAITING_MASK	(0x1fU << 2)	/* å¾
-ã¡ç¶æ
-ã®å¤å¥ç¨ãã¹ã¯ */
-
-/*
- *  ã¿ã¹ã¯ç¶æ
-å¤å¥ãã¯ã­
- *
- *  TSTAT_DORMANTã¯ã¿ã¹ã¯ãä¼æ­¢ç¶æ
-ã§ãããã©ãããï¼TSTAT_RUNNABLEã¯
- *  ã¿ã¹ã¯ãå®è¡ã§ããç¶æ
-ã§ãããã©ãããå¤å¥ããï¼TSTAT_WAITINGã¯å¾
-
- *  ã¡ç¶æ
-ã¨äºéå¾
-ã¡ç¶æ
-ã®ããããã§ãããã©ãããï¼TSTAT_SUSPENDEDã¯
- *  å¼·å¶å¾
-ã¡ç¶æ
-ã¨äºéå¾
-ã¡ç¶æ
-ã®ããããã§ãããã©ãããå¤å¥ããï¼
+ *  タスク状態の内部表現
+ *
+ *  TCB中のタスク状態のフィールドでは，タスクの状態と，タスクが待ち状態
+ *  の時の待ち要因を表す．ただし，実行状態（RUNNING）と実行可能状態
+ *  （READY）は区別せず，両状態をあわせて実行できる状態（RUNNABLE）とし
+ *  て管理する．二重待ち状態は，(TS_WAITING_??? | TS_SUSPENDED)で表す．
+ *
+ *  タスクが待ち状態（二重待ち状態を含む）の時は，TS_WAITING_???で待ち
+ *  要因を表す．待ち要因（5ビットで表現される）の上位2ビットで，同期・
+ *  通信オブジェクトの待ちキューにつながっているかどうかを表す．同期・
+ *  通信オブジェクトの待ちキューにつながらないものは上位2ビットを00，同
+ *  期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）の待ちキュー
+ *  につながるものは10または11，それ以外の待ちキューにつながるものは01
+ *  とする．
+ */
+#define TS_DORMANT		0x00U			/* 休止状態 */
+#define TS_RUNNABLE		0x01U			/* 実行できる状態 */
+#define TS_SUSPENDED	0x02U			/* 強制待ち状態 */
+
+#define TS_WAITING_SLP	(0x01U << 2)	/* 起床待ち */
+#define TS_WAITING_DLY	(0x02U << 2)	/* 時間経過待ち */
+#define TS_WAITING_RDTQ	(0x08U << 2)	/* データキューからの受信待ち */
+#define TS_WAITING_RPDQ	(0x09U << 2)	/* 優先度データキューからの受信待ち */
+#define TS_WAITING_SEM	(0x10U << 2)	/* セマフォ資源の獲得待ち */
+#define TS_WAITING_FLG	(0x11U << 2)	/* イベントフラグ待ち */
+#define TS_WAITING_SDTQ	(0x12U << 2)	/* データキューへの送信待ち */
+#define TS_WAITING_SPDQ	(0x13U << 2)	/* 優先度データキューへの送信待ち */
+#define TS_WAITING_MTX	(0x14U << 2)	/* ミューテックスのロック待ち */
+#define TS_WAITING_MPF	(0x15U << 2)	/* 固定長メモリブロックの獲得待ち */
+
+#define TS_WAITING_MASK	(0x1fU << 2)	/* 待ち状態の判別用マスク */
+
+/*
+ *  タスク状態判別マクロ
+ *
+ *  TSTAT_DORMANTはタスクが休止状態であるかどうかを，TSTAT_RUNNABLEは
+ *  タスクが実行できる状態であるかどうかを判別する．TSTAT_WAITINGは待
+ *  ち状態と二重待ち状態のいずれかであるかどうかを，TSTAT_SUSPENDEDは
+ *  強制待ち状態と二重待ち状態のいずれかであるかどうかを判別する．
  */
 #define TSTAT_DORMANT(tstat)	((tstat) == TS_DORMANT)
@@ -182,21 +112,14 @@
 
 /*
- *  ã¿ã¹ã¯å¾
-ã¡è¦å å¤å¥ãã¯ã­
- *
- *  TSTAT_WAIT_SLPã¯ã¿ã¹ã¯ãèµ·åºå¾
-ã¡ã§ãããã©ãããï¼TSTAT_WAIT_MTXã¯
- *  ã¿ã¹ã¯ããã¥ã¼ããã¯ã¹å¾
-ã¡ã§ãããã©ãããå¤å¥ããï¼
- *
- *  ã¾ãï¼TSTAT_WAIT_WOBJ ã¯ã¿ã¹ã¯ãåæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
-ã¡
- *  ã§ãããï¼è¨ãæããã¨ï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªã
- *  ãã¦ãããï¼ã©ãããï¼TSTAT_WAIT_WOBJCBã¯ã¿ã¹ã¯ãåæã»éä¿¡ãªãã¸ã§
- *  ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åï¼WOBJCBï¼ã®å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªããã¦ãã
- *  ãã©ãããå¤å¥ããï¼
+ *  タスク待ち要因判別マクロ
+ *
+ *  TSTAT_WAIT_SLPはタスクが起床待ちであるかどうかを，TSTAT_WAIT_MTXは
+ *  タスクがミューテックス待ちであるかどうかを判別する．
+ *
+ *  また，TSTAT_WAIT_WOBJ はタスクが同期・通信オブジェクトに対する待ち
+ *  であるか（言い換えると，同期・通信オブジェクトの待ちキューにつなが
+ *  れているか）どうかを，TSTAT_WAIT_WOBJCBはタスクが同期・通信オブジェ
+ *  クトの管理ブロックの共通部分（WOBJCB）の待ちキューにつながれている
+ *  かどうかを判別する．
  */
 #define TSTAT_WAIT_SLP(tstat)	(((tstat) & ~TS_SUSPENDED) == TS_WAITING_SLP)
@@ -207,326 +130,207 @@
 
 /*
- *  å¾
-ã¡æ
-å ±ãã­ãã¯ï¼WINFOï¼ã®å®ç¾©
- *
- *  ã¿ã¹ã¯ãå¾
-ã¡ç¶æ
-ã®éã¯ï¼TCBããã³ãã®p_winfoã§æãããWINFOãæ¬¡ã®
- *  ããã«è¨­å®ããªããã°ãªããªãï¼
- *
- *  (a) TCBã®ã¿ã¹ã¯ç¶æ
-ãå¾
-ã¡ç¶æ
-ï¼TS_WAITING_???ï¼ã«ããï¼
- *
- *  (b) ã¿ã¤ã ã¢ã¦ããç£è¦ããããã«ï¼ã¿ã¤ã ã¤ãã³ããã­ãã¯ãç»é²ããï¼
- *  ç»é²ããã¿ã¤ã ã¤ãã³ããã­ãã¯ã¯ï¼å¾
-ã¡ã«å
-¥ããµã¼ãã¹ã³ã¼ã«å¦çé¢æ°
- *  ã®ã­ã¼ã«ã«å¤æ°ã¨ãã¦ç¢ºä¿ãï¼ããã¸ã®ãã¤ã³ã¿ãWINFOã®p_tmevtbã«è¨
- *  æ¶ããï¼ã¿ã¤ã ã¢ã¦ãã®ç£è¦ãå¿
-è¦ãªãå ´åï¼æ°¸ä¹
-å¾
-ã¡ã®å ´åï¼ã«ã¯ï¼
- *  p_tmevtbãNULLã«ããï¼
- *
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
-ã¡ç¶æ
-ã®å ´åã«ã¯ï¼æ¨æºã®WINFOã«
- *  p_wobjcbãã£ã¼ã«ããè¿½å ããæ§é ä½ï¼WINFO_WOBJï¼wait.hã§å®ç¾©ï¼ã«ï¼
- *  å¾
-ã¡å¯¾è±¡ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã«ä¾å­ãã¦è¨æ¶ãããã¨ãå¿
-è¦ãªæ
-å ±
- *  ã®ããã®ãã£ã¼ã«ããè¿½å ããæ§é ä½ï¼WINFO_???ï¼ãå®ç¾©ãï¼WINFOã®ä»£
- *  ããã«ç¨ããï¼ã¾ãï¼ä»¥ä¸ã®(c)ï½(e)ã®è¨­å®ãè¡ãå¿
-è¦ãããï¼åæã»é
- *  ä¿¡ãªãã¸ã§ã¯ãã«é¢ä¿ããªãå¾
-ã¡ï¼èµ·åºå¾
-ã¡ï¼æéçµéå¾
-ã¡ï¼ã®å ´åã«ã¯ï¼
- *  ãããã¯å¿
-è¦ãªãï¼
- *
- *  (c) TCBãå¾
-ã¡å¯¾è±¡ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªãï¼å¾
-
- *  ã¡ã­ã¥ã¼ã«ã¤ãªãããã«ï¼task_queueãä½¿ãï¼
- *
- *  (d) å¾
-ã¡å¯¾è±¡ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã¸ã®ãã¤ã³ã¿ãï¼
- *  WINFO_WOBJã®p_wobjcbã«è¨æ¶ããï¼
- *
- *  (e) å¾
-ã¡å¯¾è±¡ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã«ä¾å­ãã¦è¨æ¶ãããã¨ãå¿
-è¦ãª
- *  æ
-å ±ãããå ´åã«ã¯ï¼WINFO_???å
-ã®ãã£ã¼ã«ãã«è¨æ¶ããï¼
- *
- *  å¾
-ã¡ç¶æ
-ãè§£é¤ããéã«ã¯ï¼å¾
-ã¡è§£é¤ããã¿ã¹ã¯ã«å¯¾ããè¿å¤ãWINFOã®
- *  wercdã«è¨­å®ããï¼wercdãå¿
-è¦ãªã®ã¯å¾
-ã¡è§£é¤ä»¥éã§ããã®ã«å¯¾ãã¦ï¼
- *  p_tmevtbã¯å¾
-ã¡è§£é¤å¾ã¯å¿
-è¦ãªãããï¼ã¡ã¢ãªç¯ç´ã®ããã«å
-±ç¨ä½ãä½¿ã£
- *  ã¦ããï¼ãã®ããï¼wercdã¸ã¨ã©ã¼ã³ã¼ããè¨­å®ããã®ã¯ï¼ã¿ã¤ã ã¤ãã³ã
- *  ãã­ãã¯ãç»é²è§£é¤ããå¾ã«ããªããã°ãªããªãï¼
+ *  待ち情報ブロック（WINFO）の定義
+ *
+ *  タスクが待ち状態の間は，TCBおよびそのp_winfoで指されるWINFOを次の
+ *  ように設定しなければならない．
+ *
+ *  (a) TCBのタスク状態を待ち状態（TS_WAITING_???）にする．
+ *
+ *  (b) タイムアウトを監視するために，タイムイベントブロックを登録する．
+ *  登録するタイムイベントブロックは，待ちに入るサービスコール処理関数
+ *  のローカル変数として確保し，それへのポインタをWINFOのp_tmevtbに記
+ *  憶する．タイムアウトの監視が必要ない場合（永久待ちの場合）には，
+ *  p_tmevtbをNULLにする．
+ *
+ *  同期・通信オブジェクトに対する待ち状態の場合には，標準のWINFOに
+ *  p_wobjcbフィールドを追加した構造体（WINFO_WOBJ，wait.hで定義）に，
+ *  待ち対象の同期・通信オブジェクトに依存して記憶することが必要な情報
+ *  のためのフィールドを追加した構造体（WINFO_???）を定義し，WINFOの代
+ *  わりに用いる．また，以下の(c)～(e)の設定を行う必要がある．同期・通
+ *  信オブジェクトに関係しない待ち（起床待ち，時間経過待ち）の場合には，
+ *  これらは必要ない．
+ *
+ *  (c) TCBを待ち対象の同期・通信オブジェクトの待ちキューにつなぐ．待
+ *  ちキューにつなぐために，task_queueを使う．
+ *
+ *  (d) 待ち対象の同期・通信オブジェクトの管理ブロックへのポインタを，
+ *  WINFO_WOBJのp_wobjcbに記憶する．
+ *
+ *  (e) 待ち対象の同期・通信オブジェクトに依存して記憶することが必要な
+ *  情報がある場合には，WINFO_???内のフィールドに記憶する．
+ *
+ *  待ち状態を解除する際には，待ち解除したタスクに対する返値をWINFOの
+ *  wercdに設定する．wercdが必要なのは待ち解除以降であるのに対して，
+ *  p_tmevtbは待ち解除後は必要ないため，メモリ節約のために共用体を使っ
+ *  ている．そのため，wercdへエラーコードを設定するのは，タイムイベント
+ *  ブロックを登録解除した後にしなければならない．
  */
 typedef union waiting_information {
-	ER		wercd;			/* å¾
-ã¡è§£é¤æã®ã¨ã©ã¼ã³ã¼ã */
-	TMEVTB	*p_tmevtb;		/* å¾
-ã¡ç¶æ
-ç¨ã®ã¿ã¤ã ã¤ãã³ããã­ãã¯ */
+	ER		wercd;			/* 待ち解除時のエラーコード */
+	TMEVTB	*p_tmevtb;		/* 待ち状態用のタイムイベントブロック */
 } WINFO;
 
 /*
- *  ãã¥ã¼ããã¯ã¹ç®¡çãã­ãã¯ã®åã®åæ¹åç
-§
+ *  ミューテックス管理ブロックの型の前方参照
  */
 typedef struct mutex_control_block MTXCB;
 
 /*
- *  ã¿ã¹ã¯åæåãã­ãã¯
- *
- *  ã¿ã¹ã¯ã«é¢ããæ
-å ±ãï¼å¤ãå¤ãããªãããã«ROMã«ç½®ããé¨åï¼ã¿ã¹ã¯
- *  åæåãã­ãã¯ï¼ã¨ï¼å¤ãå¤åããããã«RAMã«ç½®ããªããã°ãªããªãé¨
- *  åï¼ã¿ã¹ã¯ç®¡çãã­ãã¯ï¼TCBï¼ã«åé¢ãï¼TCBå
-ã«å¯¾å¿ããã¿ã¹ã¯åæå
- *  ãã­ãã¯ãæããã¤ã³ã¿ãå
-¥ããï¼ã¿ã¹ã¯åæåãã­ãã¯å
-ã«å¯¾å¿ãã
- *  TCBãæããã¤ã³ã¿ãå
-¥ããæ¹æ³ã®æ¹ãï¼RAMã®ç¯ç´ã®è¦³ç¹ããã¯æã¾ãã
- *  ãï¼å®è¡å¹çãæªããªãããã«æ¡ç¨ãã¦ããªãï¼ä»ã®ãªãã¸ã§ã¯ãã«ã¤ã
- *  ã¦ãåæ§ã«æ±ãï¼
- *
- *  ã¿ã¹ã¯åæåãã­ãã¯ã«ã¯ï¼DEF_TEXã§å®ç¾©ãããã¿ã¹ã¯ä¾å¤å¦çã«ã¼ã
- *  ã³ã«é¢ããæ
-å ±ãå«ãï¼
+ *  タスク初期化ブロック
+ *
+ *  タスクに関する情報を，値が変わらないためにROMに置ける部分（タスク
+ *  初期化ブロック）と，値が変化するためにRAMに置かなければならない部
+ *  分（タスク管理ブロック，TCB）に分離し，TCB内に対応するタスク初期化
+ *  ブロックを指すポインタを入れる．タスク初期化ブロック内に対応する
+ *  TCBを指すポインタを入れる方法の方が，RAMの節約の観点からは望ましい
+ *  が，実行効率が悪くなるために採用していない．他のオブジェクトについ
+ *  ても同様に扱う．
+ *
+ *  タスク初期化ブロックには，DEF_TEXで定義されるタスク例外処理ルーチ
+ *  ンに関する情報も含む．
  */
 typedef struct task_initialization_block {
-	ATR			tskatr;			/* ã¿ã¹ã¯å±æ§ */
-	intptr_t	exinf;			/* ã¿ã¹ã¯ã®æ¡å¼µæ
-å ± */
-	TASK		task;			/* ã¿ã¹ã¯ã®èµ·åçªå° */
-	uint_t		ipriority;		/* ã¿ã¹ã¯ã®èµ·åæåªå
-åº¦ï¼å
-é¨è¡¨ç¾ï¼ */
+	ATR			tskatr;			/* タスク属性 */
+	intptr_t	exinf;			/* タスクの拡張情報 */
+	TASK		task;			/* タスクの起動番地 */
+	uint_t		ipriority;		/* タスクの起動時優先度（内部表現） */
 
 #ifdef USE_TSKINICTXB
-	TSKINICTXB	tskinictxb;		/* ã¿ã¹ã¯åæåã³ã³ãã­ã¹ããã­ãã¯ */
+	TSKINICTXB	tskinictxb;		/* タスク初期化コンテキストブロック */
 #else /* USE_TSKINICTXB */
-	size_t		stksz;			/* ã¹ã¿ãã¯é åã®ãµã¤ãºï¼ä¸¸ããå¤ï¼ */
-	void		*stk;			/* ã¹ã¿ãã¯é åã®å
-é ­çªå° */
+	size_t		stksz;			/* スタック領域のサイズ（丸めた値） */
+	void		*stk;			/* スタック領域の先頭番地 */
 #endif /* USE_TSKINICTXB */
 } TINIB;
 
 /*
- *  ã¿ã¹ã¯ç®¡çãã­ãã¯ï¼TCBï¼
- *
- *  ASPã«ã¼ãã«ã§ã¯ï¼ã¿ã¹ã¯ã®èµ·åè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®æå¤§å¤ï¼TMAX_ACTCNTï¼
- *  ã¨èµ·åºè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®æå¤§å¤ï¼TMAX_WUPCNTï¼ã¯1ã«åºå®ããã¦ãã
- *  ããï¼ã­ã¥ã¼ã¤ã³ã°ããã¦ãããã©ããã®çå½å¤ã§è¡¨ç¾ãããã¨ãã§ããï¼
- *  ã¾ãï¼å¼·å¶å¾
-ã¡è¦æ±ãã¹ãæ°ã®æå¤§å¤ï¼TMAX_SUSCNTï¼ã1ã«åºå®ããã¦ã
- *  ãã®ã§ï¼å¼·å¶å¾
-ã¡è¦æ±ãã¹ãæ°ï¼suscntï¼ã¯å¿
-è¦ãªãï¼
- *
- *  TCBã®ããã¤ãã®ãã£ã¼ã«ãã¯ï¼ç¹å®ã®ã¿ã¹ã¯ç¶æ
-ã§ã®ã¿æå¹ãªå¤ãä¿æãï¼
- *  ããä»¥å¤ã®å ´åã¯å¤ãä¿è¨¼ãããªãï¼ãã£ã¦ï¼åç
-§ãã¦ã¯ãªããªãï¼ï¼å
- *  ãã£ã¼ã«ããæå¹ãªå¤ãä¿æããæ¡ä»¶ã¯æ¬¡ã®éãï¼
- *
- *  ã»åæåå¾ã¯å¸¸ã«æå¹ï¼
- *  		p_tinibï¼tstatï¼actque, staovr, leftotm
- *  ã»ä¼æ­¢ç¶æ
-ä»¥å¤ã§æå¹ï¼ä¼æ­¢ç¶æ
-ã§ã¯åæå¤ã«ãªã£ã¦ããï¼ï¼
- *  		bpriorityï¼priorityï¼wupqueï¼rasterï¼enaterï¼p_lastmtx
- *  ã»å¾
-ã¡ç¶æ
-ï¼äºéå¾
-ã¡ç¶æ
-ãå«ãï¼ã§æå¹ï¼
+ *  タスク管理ブロック（TCB）
+ *
+ *  ASPカーネルでは，タスクの起動要求キューイング数の最大値（TMAX_ACTCNT）
+ *  と起床要求キューイング数の最大値（TMAX_WUPCNT）は1に固定されている
+ *  ため，キューイングされているかどうかの真偽値で表現することができる．
+ *  また，強制待ち要求ネスト数の最大値（TMAX_SUSCNT）が1に固定されてい
+ *  るので，強制待ち要求ネスト数（suscnt）は必要ない．
+ *
+ *  TCBのいくつかのフィールドは，特定のタスク状態でのみ有効な値を保持し，
+ *  それ以外の場合は値が保証されない（よって，参照してはならない）．各
+ *  フィールドが有効な値を保持する条件は次の通り．
+ *
+ *  ・初期化後は常に有効：
+ *  		p_tinib，tstat，actque, staovr, leftotm
+ *  ・休止状態以外で有効（休止状態では初期値になっている）：
+ *  		bpriority，priority，wupque，raster，enater，p_lastmtx
+ *  ・待ち状態（二重待ち状態を含む）で有効：
  *  		p_winfo
- *  ã»å®è¡ã§ããç¶æ
-ã¨åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
-ã¡ç¶æ
-ã§æå¹ï¼
+ *  ・実行できる状態と同期・通信オブジェクトに対する待ち状態で有効：
  *  		task_queue
- *  ã»å®è¡å¯è½ç¶æ
-ï¼å¾
-ã¡ç¶æ
-ï¼å¼·å¶å¾
-ã¡ç¶æ
-ï¼äºéå¾
-ã¡ç¶æ
-ã§æå¹ï¼
+ *  ・実行可能状態，待ち状態，強制待ち状態，二重待ち状態で有効：
  *  		tskctxb
  */
 typedef struct task_control_block {
-	QUEUE			task_queue;		/* ã¿ã¹ã¯ã­ã¥ã¼ */
-	const TINIB		*p_tinib;		/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	QUEUE			task_queue;		/* タスクキュー */
+	const TINIB		*p_tinib;		/* 初期化ブロックへのポインタ */
 
 #ifdef UINT8_MAX
-	uint8_t			tstat;			/* ã¿ã¹ã¯ç¶æ
-ï¼å
-é¨è¡¨ç¾ï¼*/
-	uint8_t			bpriority;		/* ãã¼ã¹åªå
-åº¦ï¼å
-é¨è¡¨ç¾ï¼*/
-	uint8_t			priority;		/* ç¾å¨ã®åªå
-åº¦ï¼å
-é¨è¡¨ç¾ï¼*/
+	uint8_t			tstat;			/* タスク状態（内部表現）*/
+	uint8_t			bpriority;		/* ベース優先度（内部表現）*/
+	uint8_t			priority;		/* 現在の優先度（内部表現）*/
 #else /* UINT8_MAX */
-	BIT_FIELD_UINT	tstat : 8;		/* ã¿ã¹ã¯ç¶æ
-ï¼å
-é¨è¡¨ç¾ï¼*/
-	BIT_FIELD_UINT	bpriority : 8;	/* ãã¼ã¹åªå
-åº¦ï¼å
-é¨è¡¨ç¾ï¼*/
-	BIT_FIELD_UINT	priority : 8	/* ç¾å¨ã®åªå
-åº¦ï¼å
-é¨è¡¨ç¾ï¼*/;
+	BIT_FIELD_UINT	tstat : 8;		/* タスク状態（内部表現）*/
+	BIT_FIELD_UINT	bpriority : 8;	/* ベース優先度（内部表現）*/
+	BIT_FIELD_UINT	priority : 8	/* 現在の優先度（内部表現）*/;
 #endif /* UINT8_MAX */
-	BIT_FIELD_BOOL	actque : 1;		/* èµ·åè¦æ±ã­ã¥ã¼ã¤ã³ã° */
-	BIT_FIELD_BOOL	wupque : 1;		/* èµ·åºè¦æ±ã­ã¥ã¼ã¤ã³ã° */
-	BIT_FIELD_BOOL	raster : 1;		/* ã¿ã¹ã¯çµäºè¦æ±ç¶æ
- */
-	BIT_FIELD_BOOL	enater : 1;		/* ã¿ã¹ã¯çµäºè¨±å¯ç¶æ
- */
+	BIT_FIELD_BOOL	actque : 1;		/* 起動要求キューイング */
+	BIT_FIELD_BOOL	wupque : 1;		/* 起床要求キューイング */
+	BIT_FIELD_BOOL	raster : 1;		/* タスク終了要求状態 */
+	BIT_FIELD_BOOL	enater : 1;		/* タスク終了許可状態 */
 #ifdef TOPPERS_SUPPORT_OVRHDR
-	BIT_FIELD_BOOL	staovr : 1;		/* ãªã¼ãã©ã³ãã³ãã©åä½ç¶æ
- */
+	BIT_FIELD_BOOL	staovr : 1;		/* オーバランハンドラ動作状態 */
 #endif /* TOPPERS_SUPPORT_OVRHDR */
 
-	WINFO			*p_winfo;		/* å¾
-ã¡æ
-å ±ãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
-	MTXCB			*p_lastmtx;		/* æå¾ã«ã­ãã¯ãããã¥ã¼ããã¯ã¹ */
+	WINFO			*p_winfo;		/* 待ち情報ブロックへのポインタ */
+	MTXCB			*p_lastmtx;		/* 最後にロックしたミューテックス */
 #ifdef TOPPERS_SUPPORT_OVRHDR
-	PRCTIM			leftotm;		/* æ®ããã­ã»ããµæé */
+	PRCTIM			leftotm;		/* 残りプロセッサ時間 */
 #endif /* TOPPERS_SUPPORT_OVRHDR */
-	TSKCTXB			tskctxb;		/* ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ */
+	TSKCTXB			tskctxb;		/* タスクコンテキストブロック */
 } TCB;
 
 /*
- *  å®è¡ç¶æ
-ã®ã¿ã¹ã¯
- *
- *  å®è¡ç¶æ
-ã®ã¿ã¹ã¯ï¼ï¼ãã­ã»ããµãã³ã³ãã­ã¹ããæã£ã¦ããã¿ã¹ã¯ï¼ã®
- *  TCBãæããã¤ã³ã¿ï¼å®è¡ç¶æ
-ã®ã¿ã¹ã¯ããªãå ´åã¯NULLã«ããï¼
- *
- *  ãµã¼ãã¹ã³ã¼ã«ã®å¦çä¸­ã§ï¼èªã¿ã¹ã¯ï¼ãµã¼ãã¹ã³ã¼ã«ãå¼ã³åºããã¿ã¹
- *  ã¯ï¼ã«é¢ããæ
-å ±ãåç
-§ããå ´åã¯p_runtskãä½¿ãï¼p_runtskãæ¸ãæã
- *  ãã®ã¯ï¼ãã£ã¹ãããã£ï¼ã¨åæåå¦çï¼ã®ã¿ã§ããï¼
+ *  実行状態のタスク
+ *
+ *  実行状態のタスク（＝プロセッサがコンテキストを持っているタスク）の
+ *  TCBを指すポインタ．実行状態のタスクがない場合はNULLにする．
+ *
+ *  サービスコールの処理中で，自タスク（サービスコールを呼び出したタス
+ *  ク）に関する情報を参照する場合はp_runtskを使う．p_runtskを書き換え
+ *  るのは，ディスパッチャ（と初期化処理）のみである．
  */
 extern TCB	*p_runtsk;
 
 /*
- *  å®è¡ãã¹ãã¿ã¹ã¯
- *
- *  å®è¡ãã¹ãã¿ã¹ã¯ã®TCBãæããã¤ã³ã¿ï¼å®è¡ã§ããã¿ã¹ã¯ããªãå ´åã¯
- *  NULLã«ããï¼
- *
- *  p_runtskã¯ï¼éå¸¸ã¯p_schedtskã¨ä¸è´ãã¦ãããï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ã
- *  å®è¡ä¸­ã¯ï¼ä¸è´ãã¦ããã¨ã¯éããªãï¼å²è¾¼ã¿åªå
-åº¦ãã¹ã¯å
-¨è§£é¤ã§ãªã
- *  ç¶æ
-ã®éã¨ãã£ã¹ãããç¦æ­¢ç¶æ
-ã®éï¼ããªãã¡ï¼dspflgãfalseã§ããéï¼
- *  ã¯ï¼p_schedtskãæ´æ°ããªãï¼
+ *  実行すべきタスク
+ *
+ *  実行すべきタスクのTCBを指すポインタ．実行できるタスクがない場合は
+ *  NULLにする．
+ *
+ *  p_runtskは，通常はp_schedtskと一致しているが，非タスクコンテキスト
+ *  実行中は，一致しているとは限らない．割込み優先度マスク全解除でない
+ *  状態の間とディスパッチ禁止状態の間（すなわち，dspflgがfalseである間）
+ *  は，p_schedtskを更新しない．
  */
 extern TCB	*p_schedtsk;
 
 /*
- *  ãã£ã¹ãããè¨±å¯ç¶æ
-
- *
- *  ãã£ã¹ãããè¨±å¯ç¶æ
-ã§ãããã¨ãç¤ºããã©ã°ï¼
+ *  ディスパッチ許可状態
+ *
+ *  ディスパッチ許可状態であることを示すフラグ．
  */
 extern bool_t	enadsp;
 
 /*
- *  ã¿ã¹ã¯ãã£ã¹ãããå¯è½ç¶æ
-
- *
- *  å²è¾¼ã¿åªå
-åº¦ãã¹ã¯å
-¨è§£é¤ç¶æ
-ã§ããï¼ãã£ã¹ãããè¨±å¯ç¶æ
-ã§ããï¼ãã£
- *  ã¹ãããç¦æ­¢ç¶æ
-ã§ãªãï¼ãã¨ãç¤ºããã©ã°ï¼ãã£ã¹ãããä¿çç¶æ
-ã§ãª
- *  ããã¨ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ä¸­ã§ï¼CPUã­ãã¯ç¶æ
-ã§ãªãï¼dspflgã
- *  trueã§ãããã¨ã§å¤å¥ãããã¨ãã§ããï¼
+ *  タスクディスパッチ可能状態
+ *
+ *  割込み優先度マスク全解除状態であり，ディスパッチ許可状態である（ディ
+ *  スパッチ禁止状態でない）ことを示すフラグ．ディスパッチ保留状態でな
+ *  いことは，タスクコンテキスト実行中で，CPUロック状態でなく，dspflgが
+ *  trueであることで判別することができる．
  */
 extern bool_t	dspflg;
 
 /*
- *  ã¬ãã£ã­ã¥ã¼
- *
- *  ã¬ãã£ã­ã¥ã¼ã¯ï¼å®è¡ã§ããç¶æ
-ã®ã¿ã¹ã¯ãç®¡çããããã®ã­ã¥ã¼ã§ããï¼
- *  å®è¡ç¶æ
-ã®ã¿ã¹ã¯ãç®¡çãã¦ããããï¼ã¬ãã£ï¼å®è¡å¯è½ï¼ã­ã¥ã¼ã¨ãã
- *  åç§°ã¯æ­£ç¢ºã§ã¯ãªããï¼ã¬ãã£ã­ã¥ã¼ã¨ããåç§°ãå®çãã¦ããããï¼ã
- *  ã®åç§°ã§å¼ã¶ãã¨ã«ããï¼
- *
- *  ã¬ãã£ã­ã¥ã¼ã¯ï¼åªå
-åº¦ãã¨ã®ã¿ã¹ã¯ã­ã¥ã¼ã§æ§æããã¦ããï¼ã¿ã¹ã¯ã®
- *  TCBã¯ï¼è©²å½ããåªå
-åº¦ã®ã­ã¥ã¼ã«ç»é²ãããï¼
+ *  レディキュー
+ *
+ *  レディキューは，実行できる状態のタスクを管理するためのキューである．
+ *  実行状態のタスクも管理しているため，レディ（実行可能）キューという
+ *  名称は正確ではないが，レディキューという名称が定着しているため，こ
+ *  の名称で呼ぶことにする．
+ *
+ *  レディキューは，優先度ごとのタスクキューで構成されている．タスクの
+ *  TCBは，該当する優先度のキューに登録される．
  */
 extern QUEUE	ready_queue[TNUM_TPRI];
 
 /*
- *  ã¬ãã£ã­ã¥ã¼ãµã¼ãã®ããã®ãããããã
- *
- *  ã¬ãã£ã­ã¥ã¼ã®ãµã¼ããå¹çããè¡ãããã«ï¼åªå
-åº¦ãã¨ã®ã¿ã¹ã¯ã­ã¥ã¼
- *  ã«ã¿ã¹ã¯ãå
-¥ã£ã¦ãããã©ãããç¤ºããããããããç¨æãã¦ããï¼ãã
- *  ãããããä½¿ããã¨ã§ï¼ã¡ã¢ãªã¢ã¯ã»ã¹ã®åæ°ãæ¸ãããã¨ãã§ãããï¼
- *  ãããæä½å½ä»¤ãå
-
-å®ãã¦ããªããã­ã»ããµã§ï¼åªå
-åº¦ã®æ®µéæ°ãå°ãªã
- *  å ´åã«ã¯ï¼ããããããæä½ã®ãªã¼ãã¼ãããã®ããã«ï¼éã«å¹çãè½ã¡
- *  ãå¯è½æ§ãããï¼
- *
- *  åªå
-åº¦ã16æ®µéã§ãããã¨ãä»®å®ãã¦ããããï¼uint16_tåã¨ãã¦ããï¼
+ *  レディキューサーチのためのビットマップ
+ *
+ *  レディキューのサーチを効率よく行うために，優先度ごとのタスクキュー
+ *  にタスクが入っているかどうかを示すビットマップを用意している．ビッ
+ *  トマップを使うことで，メモリアクセスの回数を減らすことができるが，
+ *  ビット操作命令が充実していないプロセッサで，優先度の段階数が少ない
+ *  場合には，ビットマップ操作のオーバーヘッドのために，逆に効率が落ち
+ *  る可能性もある．
+ *
+ *  優先度が16段階であることを仮定しているため，uint16_t型としている．
  */
 extern uint16_t	ready_primap;
 
 /*
- *  ä½¿ç¨ãã¦ããªãTCBã®ãªã¹ã
+ *  使用していないTCBのリスト
  */
 extern QUEUE	free_tcb;
 
 /*
- *  ã¿ã¹ã¯IDã®æå¤§å¤ï¼kernel_cfg.cï¼
+ *  タスクIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_tskid;
@@ -534,5 +338,5 @@
 
 /*
- *  ã¿ã¹ã¯åæåãã­ãã¯ã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  タスク初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const TINIB	tinib_table[];
@@ -540,15 +344,15 @@
 
 /*
- *  ã¿ã¹ã¯çæé åºãã¼ãã«ï¼kernel_cfg.cï¼
+ *  タスク生成順序テーブル（kernel_cfg.c）
  */
 extern const ID	torder_table[];
 
 /*
- *  TCBã®ã¨ãªã¢ï¼kernel_cfg.cï¼
+ *  TCBのエリア（kernel_cfg.c）
  */
 extern TCB	tcb_table[];
 
 /*
- *  ã¿ã¹ã¯ã®æ°
+ *  タスクの数
  */
 #define tnum_tsk	((uint_t)(tmax_tskid - TMIN_TSKID + 1))
@@ -556,5 +360,5 @@
 
 /*
- *  ã¿ã¹ã¯IDããTCBãåãåºãããã®ãã¯ã­
+ *  タスクIDからTCBを取り出すためのマクロ
  */
 #define INDEX_TSK(tskid)	((uint_t)((tskid) - TMIN_TSKID))
@@ -562,103 +366,79 @@
 
 /*
- *  TCBããã¿ã¹ã¯IDãåãåºãããã®ãã¯ã­
+ *  TCBからタスクIDを取り出すためのマクロ
  */
 #define	TSKID(p_tcb)	((ID)(((p_tcb) - tcb_table) + TMIN_TSKID))
 
 /*
- *  ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®åæå
+ *  タスク管理モジュールの初期化
  */
 extern void	initialize_task(void);
 
 /*
- *  æé«åªå
-é ä½ã¿ã¹ã¯ã®ãµã¼ã
- *
- *  ã¬ãã£ã­ã¥ã¼ä¸­ã®æé«åªå
-é ä½ã®ã¿ã¹ã¯ããµã¼ããï¼ãã®TCBã¸ã®ãã¤ã³ã¿
- *  ãè¿ãï¼ã¬ãã£ã­ã¥ã¼ãç©ºã®å ´åã«ã¯ï¼ãã®é¢æ°ãå¼ã³åºãã¦ã¯ãªããªãï¼
+ *  最高優先順位タスクのサーチ
+ *
+ *  レディキュー中の最高優先順位のタスクをサーチし，そのTCBへのポインタ
+ *  を返す．レディキューが空の場合には，この関数を呼び出してはならない．
  */
 extern TCB	*search_schedtsk(void);
 
 /*
- *  å®è¡ã§ããç¶æ
-ã¸ã®é·ç§»
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãã¬ãã£ã­ã¥ã¼ã«æ¿å
-¥ããï¼ã¬ãã£ã­ã¥ã¼ã«æ¿å
-¥
- *  ããã¿ã¹ã¯ã®åªå
-åº¦ãï¼å®è¡ãã¹ãã¿ã¹ã¯ã®åªå
-åº¦ãããé«ãå ´åã¯ï¼å®
- *  è¡ãã¹ãã¿ã¹ã¯ãæ´æ°ããï¼
+ *  実行できる状態への遷移
+ *
+ *  p_tcbで指定されるタスクをレディキューに挿入する．レディキューに挿入
+ *  したタスクの優先度が，実行すべきタスクの優先度よりも高い場合は，実
+ *  行すべきタスクを更新する．
  */
 extern void	make_runnable(TCB *p_tcb);
 
 /*
- *  å®è¡ã§ããç¶æ
-ããä»ã®ç¶æ
-ã¸ã®é·ç§»
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãã¬ãã£ã­ã¥ã¼ããåé¤ããï¼p_tcbã§æå®ãã
- *  ã¿ã¹ã¯ãå®è¡ãã¹ãã¿ã¹ã¯ã§ãã£ãå ´åã«ã¯ï¼å®è¡ãã¹ãã¿ã¹ã¯ãæ´æ°ã
- *  ãï¼
+ *  実行できる状態から他の状態への遷移
+ *
+ *  p_tcbで指定されるタスクをレディキューから削除する．p_tcbで指定した
+ *  タスクが実行すべきタスクであった場合には，実行すべきタスクを更新す
+ *  る．
  */
 extern void	make_non_runnable(TCB *p_tcb);
 
 /*
- *  ä¼æ­¢ç¶æ
-ã¸ã®é·ç§»
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã®ç¶æ
-ãä¼æ­¢ç¶æ
-ã¨ããï¼ã¾ãï¼ã¿ã¹ã¯ã®èµ·å
- *  æã«åæåãã¹ãå¤æ°ã®åæåã¨ï¼ã¿ã¹ã¯èµ·åã®ããã®ã³ã³ãã­ã¹ããè¨­
- *  å®ããï¼
+ *  休止状態への遷移
+ *
+ *  p_tcbで指定されるタスクの状態を休止状態とする．また，タスクの起動
+ *  時に初期化すべき変数の初期化と，タスク起動のためのコンテキストを設
+ *  定する．
  */
 extern void	make_dormant(TCB *p_tcb);
 
 /*
- *  ä¼æ­¢ç¶æ
-ããå®è¡ã§ããç¶æ
-ã¸ã®é·ç§»
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã®ç¶æ
-ãä¼æ­¢ç¶æ
-ããå®è¡ã§ããç¶æ
-ã¨ããï¼
+ *  休止状態から実行できる状態への遷移
+ *
+ *  p_tcbで指定されるタスクの状態を休止状態から実行できる状態とする．
  */
 extern void	make_active(TCB *p_tcb);
 
 /*
- *  ã¿ã¹ã¯ã®åªå
-åº¦ã®å¤æ´
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã®åªå
-åº¦ãnewpriï¼å
-é¨è¡¨ç¾ï¼ã«å¤æ´ããï¼ã¾ãï¼
- *  å¿
-è¦ãªå ´åã«ã¯ï¼å®è¡ãã¹ãã¿ã¹ã¯ãæ´æ°ããï¼
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã®åªå
-é ä½ã¯ï¼åªå
-åº¦ãåãã¿ã¹ã¯ã®ä¸­ã§ï¼
- *  mtxmodeãfalseã®æã¯æä½ï¼mtxmodeãtrueã®æã¯æé«ã¨ããï¼
+ *  タスクの優先度の変更
+ *
+ *  p_tcbで指定されるタスクの優先度をnewpri（内部表現）に変更する．また，
+ *  必要な場合には，実行すべきタスクを更新する．
+ *
+ *  p_tcbで指定されるタスクの優先順位は，優先度が同じタスクの中で，
+ *  mtxmodeがfalseの時は最低，mtxmodeがtrueの時は最高とする．
  */
 extern void	change_priority(TCB *p_tcb, uint_t newpri, bool_t mtxmode);
 
 /*
- *  ã¬ãã£ã­ã¥ã¼ã®åè»¢
- *
- *  ã¬ãã£ã­ã¥ã¼ä¸­ã®ï¼p_queueã§æå®ãããã¿ã¹ã¯ã­ã¥ã¼ãåè»¢ãããï¼ã¾ãï¼
- *  å¿
-è¦ãªå ´åã«ã¯ï¼å®è¡ãã¹ãã¿ã¹ã¯ãæ´æ°ããï¼
+ *  レディキューの回転
+ *
+ *  レディキュー中の，p_queueで指定されるタスクキューを回転させる．また，
+ *  必要な場合には，実行すべきタスクを更新する．
  */
 extern void	rotate_ready_queue(QUEUE *p_queue);
 
 /*
- *  ã¿ã¹ã¯ã®çµäºå¦ç
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãçµäºãããå¦çãè¡ãï¼ã¿ã¹ã¯ã®èµ·åè¦æ±ã­ã¥ã¼
- *  ã¤ã³ã°æ°ã0ã§ãªãå ´åã«ã¯ï¼ååº¦èµ·åããããã®å¦çãè¡ãï¼
+ *  タスクの終了処理
+ *
+ *  p_tcbで指定されるタスクを終了させる処理を行う．タスクの起動要求キュー
+ *  イング数が0でない場合には，再度起動するための処理を行う．
  */
 extern void	task_terminate(TCB *p_tcb);
Index: asp3_gr_sakura/trunk/kernel/task.trb
===================================================================
--- asp3_gr_sakura/trunk/kernel/task.trb	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/task.trb	(revision 318)
@@ -9,53 +9,38 @@
 #               Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
-#   $Id: task.trb 668 2016-03-03 13:57:53Z ertl-hiro $
+#   $Id$
 # 
 
 #
-#		ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®çæã¹ã¯ãªãã
+#		タスク管理モジュールの生成スクリプト
 #
 
@@ -66,32 +51,32 @@
 
   def prepare(key, params)
-    # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨­å®
+    # パラメータが省略された時のデフォルト値の設定
     params[:stk] ||= "NULL"
 
-    # tskatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1028ï¼½
-    #ï¼TA_ACTï¼TA_NOACTQUEï¼TARGET_TSKATRä»¥å¤ã®ããããã»ããããã¦ããå ´åï¼
+    # tskatrが無効の場合（E_RSATR）［NGKI1028］
+    #（TA_ACT，TA_NOACTQUE，TARGET_TSKATR以外のビットがセットされている場合）
     if (params[:tskatr] & ~($TA_ACT|$TA_NOACTQUE|$TARGET_TSKATR)) != 0
       error_illegal_id("E_RSATR", params, :tskatr, :tskid)
     end
 
-    # (TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)ã§ãªãå ´åï¼»NGKI1034ï¼½
+    # (TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)でない場合［NGKI1034］
     if !($TMIN_TPRI <= params[:itskpri] && params[:itskpri] <= $TMAX_TPRI)
       error_illegal_id("E_PAR", params, :itskpri, :tskid)
     end
 
-    # stkszãã¿ã¼ã²ããå®ç¾©ã®æå°å¤ï¼TARGET_MIN_STKSZï¼æªå®ç¾©ã®å ´åã¯1ï¼
-    # ãããå°ããå ´åï¼»NGKI1042ï¼½
+    # stkszがターゲット定義の最小値（TARGET_MIN_STKSZ，未定義の場合は1）
+    # よりも小さい場合［NGKI1042］
     if params[:stksz] < $TARGET_MIN_STKSZ
       error_wrong_id("E_PAR", params, :stksz, :tskid, "too small")
     end
 
-    # ã¹ã¿ãã¯é åã®è¨­å®ï¼»NGKI1041ï¼½
+    # スタック領域の設定［NGKI1041］
     if params[:stk] == "NULL"
-      # ã¹ã¿ãã¯é åã®çæï¼»NGKI1049ï¼½
+      # スタック領域の生成［NGKI1049］
       stkName = "_kernel_stack_#{params[:tskid]}"
       params[:tinib_stksz] = AllocStack(stkName, params[:stksz])
       params[:tinib_stk] = stkName
     else
-      # stkszãã¹ã¿ãã¯é åã®ãµã¤ãºã¨ãã¦æ­£ãããªãå ´åï¼»NGKI1056ï¼½
+      # stkszがスタック領域のサイズとして正しくない場合［NGKI1056］
       if (params[:stksz] & ($CHECK_STKSZ_ALIGN - 1)) != 0
         error_wrong_id("E_PAR", params, :stksz, :tskid, "not aligned")
@@ -116,6 +101,5 @@
 
 #
-#  ã¿ã¹ã¯ç®¡çã«é¢ããæ
-å ±ã®çæ
+#  タスク管理に関する情報の生成
 #
 $kernelCfgC.comment_header("Task Management Functions")
@@ -125,5 +109,5 @@
 TaskObject.new.generate()
 
-# ã¿ã¹ã¯çæé åºãã¼ãã«ã®çæ
+# タスク生成順序テーブルの生成
 $kernelCfgC.add("const ID _kernel_torder_table[TNUM_STSKID] = { ")
 $kernelCfgC.append("\t")
Index: asp3_gr_sakura/trunk/kernel/task_manage.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/task_manage.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/task_manage.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¿ã¹ã¯ç®¡çæ©è½
+ *		タスク管理機能
  */
 
@@ -67,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_TSK_ENTER
@@ -134,15 +119,13 @@
 
 /*
- *  ã¿ã¹ã¯ã®çæ
+ *  タスクの生成
  *
- *  pk_ctsk->exinfã¯ï¼ã¨ã©ã¼ãã§ãã¯ãããï¼ä¸åº¦ããåç
-§ããªãããï¼ã­ã¼
- *  ã«ã«å¤æ°ã«ã³ãã¼ããå¿
-è¦ããªãï¼éä¸­ã§æ¸ãæãã£ã¦ãæ¯éããªãï¼ï¼
+ *  pk_ctsk->exinfは，エラーチェックをせず，一度しか参照しないため，ロー
+ *  カル変数にコピーする必要がない（途中で書き換わっても支障がない）．
  */
 #ifdef TOPPERS_acre_tsk
 
 #ifndef TARGET_MIN_STKSZ
-#define TARGET_MIN_STKSZ	1U		/* æªå®ç¾©ã®å ´åã¯0ã§ãªããã¨ããã§ãã¯ */
+#define TARGET_MIN_STKSZ	1U		/* 未定義の場合は0でないことをチェック */
 #endif /* TARGET_MIN_STKSZ */
 
@@ -226,5 +209,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®åé¤ï¼»NGKI1100ï¼½
+ *  タスクの削除［NGKI1100］
  */
 #ifdef TOPPERS_del_tsk
@@ -238,14 +221,14 @@
 
 	LOG_DEL_TSK_ENTER(tskid);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI1101ï¼½ï¼»NGKI1102ï¼½*/
-	CHECK_ID(VALID_TSKID(tskid));				/*ï¼»NGKI1103ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI1101］［NGKI1102］*/
+	CHECK_ID(VALID_TSKID(tskid));				/*［NGKI1103］*/
 	p_tcb = get_tcb(tskid);
 
 	lock_cpu();
 	if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI1104ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI1104］*/
 	}
 	else if (tskid <= tmax_stskid || !TSTAT_DORMANT(p_tcb->tstat)) {
-		ercd = E_OBJ;							/*ï¼»NGKI1106ï¼½ï¼»NGKI1107ï¼½*/
+		ercd = E_OBJ;							/*［NGKI1106］［NGKI1107］*/
 	}
 	else {
@@ -254,9 +237,9 @@
 		term_tskinictxb(&(p_tinib->tskinictxb));
 #else /* USE_TSKINICTXB */
-		if ((p_tinib->tskatr & TA_MEMALLOC) != 0U) {	/*ï¼»NGKI1109ï¼½*/
+		if ((p_tinib->tskatr & TA_MEMALLOC) != 0U) {	/*［NGKI1109］*/
 			kernel_free(p_tinib->stk);
 		}
 #endif /* USE_TSKINICTXB */
-		p_tinib->tskatr = TA_NOEXS;				/*ï¼»NGKI1108ï¼½*/
+		p_tinib->tskatr = TA_NOEXS;				/*［NGKI1108］*/
 		queue_insert_prev(&free_tcb, &(p_tcb->task_queue));
 		ercd = E_OK;
@@ -272,5 +255,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®èµ·åï¼»NGKI3529ï¼½
+ *  タスクの起動［NGKI3529］
  */
 #ifdef TOPPERS_act_tsk
@@ -283,10 +266,10 @@
 
 	LOG_ACT_TSK_ENTER(tskid);
-	CHECK_UNL();								/*ï¼»NGKI1114ï¼½*/
+	CHECK_UNL();								/*［NGKI1114］*/
 	if (tskid == TSK_SELF && !sense_context()) {
-		p_tcb = p_runtsk;						/*ï¼»NGKI1121ï¼½*/
-	}
-	else {
-		CHECK_ID(VALID_TSKID(tskid));			/*ï¼»NGKI1115ï¼½*/
+		p_tcb = p_runtsk;						/*［NGKI1121］*/
+	}
+	else {
+		CHECK_ID(VALID_TSKID(tskid));			/*［NGKI1115］*/
 		p_tcb = get_tcb(tskid);
 	}
@@ -294,8 +277,8 @@
 	lock_cpu();
 	if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI1116ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI1116］*/
 	}
 	else if (TSTAT_DORMANT(p_tcb->tstat)) {
-		make_active(p_tcb);						/*ï¼»NGKI1118ï¼½*/
+		make_active(p_tcb);						/*［NGKI1118］*/
 		if (p_runtsk != p_schedtsk) {
 			if (!sense_context()) {
@@ -309,8 +292,8 @@
 	}
 	else if ((p_tcb->p_tinib->tskatr & TA_NOACTQUE) != 0U || p_tcb->actque) {
-		ercd = E_QOVR;			   				/*ï¼»NGKI3528ï¼½*/
-	}
-	else {
-		p_tcb->actque = true;					/*ï¼»NGKI3527ï¼½*/
+		ercd = E_QOVR;			   				/*［NGKI3528］*/
+	}
+	else {
+		p_tcb->actque = true;					/*［NGKI3527］*/
 		ercd = E_OK;
 	}
@@ -325,5 +308,5 @@
 
 /*
- *  ã¿ã¹ã¯èµ·åè¦æ±ã®ã­ã£ã³ã»ã«ï¼»NGKI1138ï¼½
+ *  タスク起動要求のキャンセル［NGKI1138］
  */
 #ifdef TOPPERS_can_act
@@ -336,10 +319,10 @@
 
 	LOG_CAN_ACT_ENTER(tskid);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI1139ï¼½ï¼»NGKI1140ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI1139］［NGKI1140］*/
 	if (tskid == TSK_SELF) {
-		p_tcb = p_runtsk;						/*ï¼»NGKI1146ï¼½*/
-	}
-	else {
-		CHECK_ID(VALID_TSKID(tskid));			/*ï¼»NGKI1141ï¼½*/
+		p_tcb = p_runtsk;						/*［NGKI1146］*/
+	}
+	else {
+		CHECK_ID(VALID_TSKID(tskid));			/*［NGKI1141］*/
 		p_tcb = get_tcb(tskid);
 	}
@@ -347,9 +330,9 @@
 	lock_cpu();
 	if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI1142ï¼½*/
-	}
-	else {
-		ercd = p_tcb->actque ? 1 : 0;			/*ï¼»NGKI1144ï¼½*/
-		p_tcb->actque = false;					/*ï¼»NGKI1144ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI1142］*/
+	}
+	else {
+		ercd = p_tcb->actque ? 1 : 0;			/*［NGKI1144］*/
+		p_tcb->actque = false;					/*［NGKI1144］*/
 	}
 	unlock_cpu();
@@ -363,7 +346,5 @@
 
 /*
- *  ã¿ã¹ã¯ç¶æ
-ã®åç
-§ï¼»NGKI3613ï¼½
+ *  タスク状態の参照［NGKI3613］
  */
 #ifdef TOPPERS_get_tst
@@ -377,10 +358,10 @@
 
 	LOG_GET_TST_ENTER(tskid, p_tskstat);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3614ï¼½ï¼»NGKI3615ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3614］［NGKI3615］*/
 	if (tskid == TSK_SELF) {
-		p_tcb = p_runtsk;						/*ï¼»NGKI3621ï¼½*/
-	}
-	else {
-		CHECK_ID(VALID_TSKID(tskid));			/*ï¼»NGKI3616ï¼½*/
+		p_tcb = p_runtsk;						/*［NGKI3621］*/
+	}
+	else {
+		CHECK_ID(VALID_TSKID(tskid));			/*［NGKI3616］*/
 		p_tcb = get_tcb(tskid);
 	}
@@ -389,8 +370,8 @@
 	tstat = p_tcb->tstat;
 	if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI3617ï¼½*/
-	}
-	else {
-		if (TSTAT_DORMANT(tstat)) {				/*ï¼»NGKI3620ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI3617］*/
+	}
+	else {
+		if (TSTAT_DORMANT(tstat)) {				/*［NGKI3620］*/
 			*p_tskstat = TTS_DMT;
 		}
@@ -424,6 +405,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®ãã¼ã¹åªå
-åº¦ã®å¤æ´ï¼»NGKI1183ï¼½
+ *  タスクのベース優先度の変更［NGKI1183］
  */
 #ifdef TOPPERS_chg_pri
@@ -437,17 +417,17 @@
 
 	LOG_CHG_PRI_ENTER(tskid, tskpri);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI1184ï¼½ï¼»NGKI1185ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI1184］［NGKI1185］*/
 	if (tskid == TSK_SELF) {
-		p_tcb = p_runtsk;						/*ï¼»NGKI1198ï¼½*/
-	}
-	else {
-		CHECK_ID(VALID_TSKID(tskid));			/*ï¼»NGKI1187ï¼½*/
+		p_tcb = p_runtsk;						/*［NGKI1198］*/
+	}
+	else {
+		CHECK_ID(VALID_TSKID(tskid));			/*［NGKI1187］*/
 		p_tcb = get_tcb(tskid);
 	}
 	if (tskpri == TPRI_INI) {
-		newbpri = p_tcb->p_tinib->ipriority;	/*ï¼»NGKI1199ï¼½*/
-	}
-	else {
-		CHECK_PAR(VALID_TPRI(tskpri));			/*ï¼»NGKI1188ï¼½*/
+		newbpri = p_tcb->p_tinib->ipriority;	/*［NGKI1199］*/
+	}
+	else {
+		CHECK_PAR(VALID_TPRI(tskpri));			/*［NGKI1188］*/
 		newbpri = INT_PRIORITY(tskpri);
 	}
@@ -455,20 +435,20 @@
 	lock_cpu();
 	if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI1189ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI1189］*/
 	}
 	else if (TSTAT_DORMANT(p_tcb->tstat)) {
-		ercd = E_OBJ;							/*ï¼»NGKI1191ï¼½*/
+		ercd = E_OBJ;							/*［NGKI1191］*/
 	}
 	else if ((p_tcb->p_lastmtx != NULL || TSTAT_WAIT_MTX(p_tcb->tstat))
 						&& !((*mtxhook_check_ceilpri)(p_tcb, newbpri))) {
-		ercd = E_ILUSE;							/*ï¼»NGKI1201ï¼½*/
-	}
-	else {
-		p_tcb->bpriority = newbpri;				/*ï¼»NGKI1192ï¼½*/
+		ercd = E_ILUSE;							/*［NGKI1201］*/
+	}
+	else {
+		p_tcb->bpriority = newbpri;				/*［NGKI1192］*/
 		if (p_tcb->p_lastmtx == NULL || !((*mtxhook_scan_ceilmtx)(p_tcb))) {
-			change_priority(p_tcb, newbpri, false);		/*ï¼»NGKI1193ï¼½*/
+			change_priority(p_tcb, newbpri, false);		/*［NGKI1193］*/
 			if (p_runtsk != p_schedtsk) {
 				dispatch();
-			}									/*ï¼»NGKI1197ï¼½*/
+			}									/*［NGKI1197］*/
 		}
 		ercd = E_OK;
@@ -484,7 +464,5 @@
 
 /*
- *  ã¿ã¹ã¯åªå
-åº¦ã®åç
-§ï¼»NGKI1202ï¼½
+ *  タスク優先度の参照［NGKI1202］
  */
 #ifdef TOPPERS_get_pri
@@ -497,10 +475,10 @@
 
 	LOG_GET_PRI_ENTER(tskid, p_tskpri);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI1203ï¼½ï¼»NGKI1204ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI1203］［NGKI1204］*/
 	if (tskid == TSK_SELF) {
-		p_tcb = p_runtsk;						/*ï¼»NGKI1211ï¼½*/
-	}
-	else {
-		CHECK_ID(VALID_TSKID(tskid));			/*ï¼»NGKI1205ï¼½*/
+		p_tcb = p_runtsk;						/*［NGKI1211］*/
+	}
+	else {
+		CHECK_ID(VALID_TSKID(tskid));			/*［NGKI1205］*/
 		p_tcb = get_tcb(tskid);
 	}
@@ -508,11 +486,11 @@
 	lock_cpu();
 	if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI1206ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI1206］*/
 	}
 	else if (TSTAT_DORMANT(p_tcb->tstat)) {
-		ercd = E_OBJ;							/*ï¼»NGKI1209ï¼½*/
-	}
-	else {
-		*p_tskpri = EXT_TSKPRI(p_tcb->priority);	/*ï¼»NGKI1210ï¼½*/
+		ercd = E_OBJ;							/*［NGKI1209］*/
+	}
+	else {
+		*p_tskpri = EXT_TSKPRI(p_tcb->priority);	/*［NGKI1210］*/
 		ercd = E_OK;
 	}
@@ -527,7 +505,5 @@
 
 /*
- *  èªã¿ã¹ã¯ã®æ¡å¼µæ
-å ±ã®åç
-§ï¼»NGKI1212ï¼½
+ *  自タスクの拡張情報の参照［NGKI1212］
  */
 #ifdef TOPPERS_get_inf
@@ -539,8 +515,8 @@
 
 	LOG_GET_INF_ENTER(p_exinf);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI1213ï¼½ï¼»NGKI1214ï¼½*/
-
-	lock_cpu();
-	*p_exinf = p_runtsk->p_tinib->exinf;		/*ï¼»NGKI1216ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI1213］［NGKI1214］*/
+
+	lock_cpu();
+	*p_exinf = p_runtsk->p_tinib->exinf;		/*［NGKI1216］*/
 	ercd = E_OK;
 	unlock_cpu();
Index: asp3_gr_sakura/trunk/kernel/task_refer.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/task_refer.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/task_refer.c	(revision 318)
@@ -7,47 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -55,7 +40,5 @@
 
 /*
- *		ã¿ã¹ã¯ã®ç¶æ
-åç
-§æ©è½
+ *		タスクの状態参照機能
  */
 
@@ -73,5 +56,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_REF_TSK_ENTER
@@ -84,7 +67,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®ç¶æ
-åç
-§
+ *  タスクの状態参照
  */
 #ifdef TOPPERS_ref_tsk
@@ -115,6 +96,5 @@
 		if (TSTAT_DORMANT(tstat)) {
 			/*
-	 		 *  å¯¾è±¡ã¿ã¹ã¯ãä¼æ­¢ç¶æ
-ã®å ´å
+	 		 *  対象タスクが休止状態の場合
 			 */
 			pk_rtsk->tskstat = TTS_DMT;
@@ -122,6 +102,5 @@
 		else {
 			/*
-	 		 *  ã¿ã¹ã¯ç¶æ
-ã®ååºã
+	 		 *  タスク状態の取出し
 			 */
 			if (TSTAT_SUSPENDED(tstat)) {
@@ -144,7 +123,5 @@
 
 			/*
-	 		 *  ç¾å¨åªå
-åº¦ã¨ãã¼ã¹åªå
-åº¦ã®ååºã
+	 		 *  現在優先度とベース優先度の取出し
 			 */
 			pk_rtsk->tskpri = EXT_TSKPRI(p_tcb->priority);
@@ -153,7 +130,5 @@
 			if (TSTAT_WAITING(tstat)) {
 				/*
-		 		 *  å¾
-ã¡è¦å ã¨å¾
-ã¡å¯¾è±¡ã®ãªãã¸ã§ã¯ãã®IDã®ååºã
+		 		 *  待ち要因と待ち対象のオブジェクトのIDの取出し
 				 */
 				switch (tstat) {
@@ -207,5 +182,5 @@
 
 				/*
-		 		 *  ã¿ã¤ã ã¢ã¦ãããã¾ã§ã®æéã®ååºã
+		 		 *  タイムアウトするまでの時間の取出し
 				 */
 				if (p_tcb->p_winfo->p_tmevtb != NULL) {
@@ -219,17 +194,15 @@
 
 			/*
-	 		 *  èµ·åºè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®ååºã
+	 		 *  起床要求キューイング数の取出し
 			 */
 			pk_rtsk->wupcnt = p_tcb->wupque ? 1U : 0U;
 
 			/*
-			 *  ã¿ã¹ã¯çµäºè¦æ±ç¶æ
-ã®ååºã
+			 *  タスク終了要求状態の取出し
 			 */
 			pk_rtsk->raster = p_tcb->raster;
 
 			/*
-			 *  ã¿ã¹ã¯çµäºç¦æ­¢ç¶æ
-ã®ååºã
+			 *  タスク終了禁止状態の取出し
 			 */
 			pk_rtsk->dister = !(p_tcb->enater);
@@ -237,5 +210,5 @@
 
 		/*
-		 *  èµ·åè¦æ±ã­ã¥ã¼ã¤ã³ã°æ°ã®ååºã
+		 *  起動要求キューイング数の取出し
 		 */
 		pk_rtsk->actcnt = p_tcb->actque ? 1U : 0U;
Index: asp3_gr_sakura/trunk/kernel/task_sync.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/task_sync.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/task_sync.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¿ã¹ã¯ä»å±åææ©è½
+ *		タスク付属同期機能
  */
 
@@ -66,5 +51,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_SLP_TSK_ENTER
@@ -133,6 +118,5 @@
 
 /*
- *  èµ·åºå¾
-ã¡
+ *  起床待ち
  */
 #ifdef TOPPERS_slp_tsk
@@ -172,6 +156,5 @@
 
 /*
- *  èµ·åºå¾
-ã¡ï¼ã¿ã¤ã ã¢ã¦ãããï¼
+ *  起床待ち（タイムアウトあり）
  */
 #ifdef TOPPERS_tslp_tsk
@@ -216,5 +199,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®èµ·åº
+ *  タスクの起床
  */
 #ifdef TOPPERS_wup_tsk
@@ -272,5 +255,5 @@
 
 /*
- *  ã¿ã¹ã¯èµ·åºè¦æ±ã®ã­ã£ã³ã»ã«
+ *  タスク起床要求のキャンセル
  */
 #ifdef TOPPERS_can_wup
@@ -313,7 +296,5 @@
 
 /*
- *  å¾
-ã¡ç¶æ
-ã®å¼·å¶è§£é¤
+ *  待ち状態の強制解除
  */
 #ifdef TOPPERS_rel_wai
@@ -362,7 +343,5 @@
 
 /*
- *  å¼·å¶å¾
-ã¡ç¶æ
-ã¸ã®ç§»è¡ï¼»NGKI1298ï¼½
+ *  強制待ち状態への移行［NGKI1298］
  */
 #ifdef TOPPERS_sus_tsk
@@ -375,32 +354,29 @@
 
 	LOG_SUS_TSK_ENTER(tskid);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI1299ï¼½ï¼»NGKI1300ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI1299］［NGKI1300］*/
 	if (tskid == TSK_SELF) {
-		p_tcb = p_runtsk;						/*ï¼»NGKI1310ï¼½*/
-	}
-	else {
-		CHECK_ID(VALID_TSKID(tskid));			/*ï¼»NGKI1302ï¼½*/
+		p_tcb = p_runtsk;						/*［NGKI1310］*/
+	}
+	else {
+		CHECK_ID(VALID_TSKID(tskid));			/*［NGKI1302］*/
 		p_tcb = get_tcb(tskid);
 	}
 
 	lock_cpu();
-	if (p_tcb == p_runtsk && !dspflg) {			/*ï¼»NGKI1311ï¼½ï¼»NGKI3604ï¼½*/
+	if (p_tcb == p_runtsk && !dspflg) {			/*［NGKI1311］［NGKI3604］*/
 		ercd = E_CTX;
 	}
 	else if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI1303ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI1303］*/
 	}
 	else if (TSTAT_DORMANT(p_tcb->tstat)) {
-		ercd = E_OBJ;							/*ï¼»NGKI1305ï¼½*/
+		ercd = E_OBJ;							/*［NGKI1305］*/
 	}
 	else if (p_tcb->raster) {
-		ercd = E_RASTER;						/*ï¼»NGKI3605ï¼½*/
+		ercd = E_RASTER;						/*［NGKI3605］*/
 	}
 	else if (TSTAT_RUNNABLE(p_tcb->tstat)) {
 		/*
-		 *  å®è¡ã§ããç¶æ
-ããå¼·å¶å¾
-ã¡ç¶æ
-ã¸ã®é·ç§»ï¼»NGKI1307ï¼½
+		 *  実行できる状態から強制待ち状態への遷移［NGKI1307］
 		 */
 		p_tcb->tstat = TS_SUSPENDED;
@@ -413,13 +389,9 @@
 	}
 	else if (TSTAT_SUSPENDED(p_tcb->tstat)) {
-		ercd = E_QOVR;							/*ï¼»NGKI1306ï¼½*/
+		ercd = E_QOVR;							/*［NGKI1306］*/
 	}
 	else {
 		/*
-		 *  å¾
-ã¡ç¶æ
-ããäºéå¾
-ã¡ç¶æ
-ã¸ã®é·ç§»ï¼»NGKI1308ï¼½
+		 *  待ち状態から二重待ち状態への遷移［NGKI1308］
 		 */
 		p_tcb->tstat |= TS_SUSPENDED;
@@ -437,7 +409,5 @@
 
 /*
- *  å¼·å¶å¾
-ã¡ç¶æ
-ããã®åé
+ *  強制待ち状態からの再開
  */
 #ifdef TOPPERS_rsm_tsk
@@ -463,8 +433,5 @@
 	else if (!TSTAT_WAITING(p_tcb->tstat)) {
 		/*
-		 *  å¼·å¶å¾
-ã¡ç¶æ
-ããå®è¡ã§ããç¶æ
-ã¸ã®é·ç§»
+		 *  強制待ち状態から実行できる状態への遷移
 		 */
 		p_tcb->tstat = TS_RUNNABLE;
@@ -478,9 +445,5 @@
 	else {
 		/*
-		 *  äºéå¾
-ã¡ç¶æ
-ããå¾
-ã¡ç¶æ
-ã¸ã®é·ç§»
+		 *  二重待ち状態から待ち状態への遷移
 		 */
 		p_tcb->tstat &= ~TS_SUSPENDED;
@@ -498,6 +461,5 @@
 
 /*
- *  èªã¿ã¹ã¯ã®é
-å»¶
+ *  自タスクの遅延
  */
 #ifdef TOPPERS_dly_tsk
Index: asp3_gr_sakura/trunk/kernel/task_term.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/task_term.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/task_term.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¿ã¹ã¯çµäºæ©è½
+ *		タスク終了機能
  */
 
@@ -67,5 +52,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_EXT_TSK_ENTER
@@ -118,5 +103,5 @@
 
 /*
- *  èªã¿ã¹ã¯ã®çµäºï¼»NGKI1162ï¼½
+ *  自タスクの終了［NGKI1162］
  */
 #ifdef TOPPERS_ext_tsk
@@ -129,14 +114,11 @@
 
 	LOG_EXT_TSK_ENTER();
-	CHECK_TSKCTX();							/*ï¼»NGKI1164ï¼½*/
+	CHECK_TSKCTX();							/*［NGKI1164］*/
 
 	if (sense_lock()) {
 		/*
-		 *  CPUã­ãã¯ç¶æ
-ã§ext_tskãå¼ã°ããå ´åã¯ï¼CPUã­ãã¯ãè§£é¤ã
-		 *  ã¦ããã¿ã¹ã¯ãçµäºããï¼å®è£
-ä¸ã¯ï¼ãµã¼ãã¹ã³ã¼ã«å
-ã§ã®CPU
-		 *  ã­ãã¯ãçç¥ããã°ããã ãï¼ï¼»NGKI1168ï¼½
+		 *  CPUロック状態でext_tskが呼ばれた場合は，CPUロックを解除し
+		 *  てからタスクを終了する．実装上は，サービスコール内でのCPU
+		 *  ロックを省略すればよいだけ．［NGKI1168］
 		 */
 	}
@@ -149,8 +131,6 @@
 		if (!enadsp) {
 			/*
-			 *  ãã£ã¹ãããç¦æ­¢ç¶æ
-ã§ext_tskãå¼ã°ããå ´åã¯ï¼ãã£ã¹ãã
-			 *  ãè¨±å¯ç¶æ
-ã«ãã¦ããã¿ã¹ã¯ãçµäºããï¼ï¼»NGKI1168ï¼½
+			 *  ディスパッチ禁止状態でext_tskが呼ばれた場合は，ディスパッ
+			 *  チ許可状態にしてからタスクを終了する．［NGKI1168］
 			 */
 			enadsp = true;
@@ -158,9 +138,7 @@
 		if (intpri != TIPM_ENAALL) {
 			/*
-			 *  å²è¾¼ã¿åªå
-åº¦ãã¹ã¯ï¼IPMï¼ãTIPM_ENAALLä»¥å¤ã®ç¶æ
-ã§
-			 *  ext_tskãå¼ã°ããå ´åã¯ï¼IPMãTIPM_ENAALLã«ãã¦ããã¿ã¹
-			 *  ã¯ãçµäºããï¼ï¼»NGKI1168ï¼½
+			 *  割込み優先度マスク（IPM）がTIPM_ENAALL以外の状態で
+			 *  ext_tskが呼ばれた場合は，IPMをTIPM_ENAALLにしてからタス
+			 *  クを終了する．［NGKI1168］
 			 */
 			t_set_ipm(TIPM_ENAALL);
@@ -176,7 +154,7 @@
 	}
 #endif /* TOPPERS_SUPPORT_OVRHDR */
-	task_terminate(p_runtsk);				/* ï¼»NGKI3449ï¼½*/
-	exit_and_dispatch();					/* ï¼»NGKI1169ï¼½*/
-	ercd = E_SYS;							/* ï¼»NGKI1163ï¼½*/
+	task_terminate(p_runtsk);				/* ［NGKI3449］*/
+	exit_and_dispatch();					/* ［NGKI1169］*/
+	ercd = E_SYS;							/* ［NGKI1163］*/
 
   error_exit:
@@ -188,5 +166,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®çµäºè¦æ±ï¼»NGKI3469ï¼½
+ *  タスクの終了要求［NGKI3469］
  */
 #ifdef TOPPERS_ras_ter
@@ -199,18 +177,18 @@
 
 	LOG_RAS_TER_ENTER(tskid);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3470ï¼½ï¼»NGKI3471ï¼½*/
-	CHECK_ID(VALID_TSKID(tskid));				/*ï¼»NGKI3472ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3470］［NGKI3471］*/
+	CHECK_ID(VALID_TSKID(tskid));				/*［NGKI3472］*/
 	p_tcb = get_tcb(tskid);
-	CHECK_ILUSE(p_tcb != p_runtsk);				/*ï¼»NGKI3475ï¼½*/
+	CHECK_ILUSE(p_tcb != p_runtsk);				/*［NGKI3475］*/
 
 	lock_cpu();
 	if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI3473ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI3473］*/
 	}
 	else if (TSTAT_DORMANT(p_tcb->tstat)) {
-		ercd = E_OBJ;							/*ï¼»NGKI3476ï¼½*/
+		ercd = E_OBJ;							/*［NGKI3476］*/
 	}
 	else if (p_tcb->enater) {
-		task_terminate(p_tcb);					/*ï¼»NGKI3477ï¼½*/
+		task_terminate(p_tcb);					/*［NGKI3477］*/
 		if (p_runtsk != p_schedtsk) {
 			dispatch();
@@ -219,12 +197,12 @@
 	}
 	else {
-		p_tcb->raster = true;					/*ï¼»NGKI3478ï¼½*/
+		p_tcb->raster = true;					/*［NGKI3478］*/
 		if (!TSTAT_RUNNABLE(p_tcb->tstat)) {
 			if (TSTAT_WAITING(p_tcb->tstat)) {
-				wait_dequeue_wobj(p_tcb);		/*ï¼»NGKI3479ï¼½*/
+				wait_dequeue_wobj(p_tcb);		/*［NGKI3479］*/
 				wait_dequeue_tmevtb(p_tcb);
-				p_tcb->p_winfo->wercd = E_RASTER;	/*ï¼»NGKI3480ï¼½*/
+				p_tcb->p_winfo->wercd = E_RASTER;	/*［NGKI3480］*/
 			}
-			p_tcb->tstat = TS_RUNNABLE;			/*ï¼»NGKI3606ï¼½*/
+			p_tcb->tstat = TS_RUNNABLE;			/*［NGKI3606］*/
 			LOG_TSKSTAT(p_tcb);
 			make_runnable(p_tcb);
@@ -245,5 +223,5 @@
 
 /*
- *  ã¿ã¹ã¯çµäºã®ç¦æ­¢ï¼»NGKI3482ï¼½
+ *  タスク終了の禁止［NGKI3482］
  */
 #ifdef TOPPERS_dis_ter
@@ -255,8 +233,8 @@
 
 	LOG_DIS_TER_ENTER();
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3483ï¼½ï¼»NGKI3484ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3483］［NGKI3484］*/
 
 	lock_cpu();
-	p_runtsk->enater = false;					/*ï¼»NGKI3486ï¼½*/
+	p_runtsk->enater = false;					/*［NGKI3486］*/
 	ercd = E_OK;
 	unlock_cpu();
@@ -270,5 +248,5 @@
 
 /*
- *  ã¿ã¹ã¯çµäºã®è¨±å¯ï¼»NGKI3487ï¼½
+ *  タスク終了の許可［NGKI3487］
  */
 #ifdef TOPPERS_ena_ter
@@ -280,5 +258,5 @@
 
 	LOG_ENA_TER_ENTER();
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3488ï¼½ï¼»NGKI3489ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3488］［NGKI3489］*/
 
 	lock_cpu();
@@ -295,5 +273,5 @@
 	}
 	else {
-		p_runtsk->enater = true;				/*ï¼»NGKI3491ï¼½*/
+		p_runtsk->enater = true;				/*［NGKI3491］*/
 		ercd = E_OK;
 	}
@@ -308,7 +286,5 @@
 
 /*
- *  ã¿ã¹ã¯çµäºç¦æ­¢ç¶æ
-ã®åç
-§ï¼»NGKI3494ï¼½
+ *  タスク終了禁止状態の参照［NGKI3494］
  */
 #ifdef TOPPERS_sns_ter
@@ -321,9 +297,9 @@
 	LOG_SNS_TER_ENTER();
 	/*
-	 *  enaterãå¤æ´ã§ããã®ã¯èªã¿ã¹ã¯ã®ã¿ã§ããããï¼æä»å¶å¾¡ããã«èª­
-	 *  ãã§ãåé¡ãªãï¼
+	 *  enaterを変更できるのは自タスクのみであるため，排他制御せずに読
+	 *  んでも問題ない．
 	 */
 	state = (p_runtsk != NULL && p_runtsk->enater) ? false : true;
-												/*ï¼»NGKI3495ï¼½ï¼»NGKI3496ï¼½*/
+												/*［NGKI3495］［NGKI3496］*/
 	LOG_SNS_TER_LEAVE(state);
 	return(state);
@@ -333,5 +309,5 @@
 
 /*
- *  ã¿ã¹ã¯ã®å¼·å¶çµäºï¼»NGKI1170ï¼½
+ *  タスクの強制終了［NGKI1170］
  */
 #ifdef TOPPERS_ter_tsk
@@ -344,18 +320,18 @@
 
 	LOG_TER_TSK_ENTER(tskid);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI1171ï¼½ï¼»NGKI1172ï¼½*/
-	CHECK_ID(VALID_TSKID(tskid));				/*ï¼»NGKI1173ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI1171］［NGKI1172］*/
+	CHECK_ID(VALID_TSKID(tskid));				/*［NGKI1173］*/
 	p_tcb = get_tcb(tskid);
-	CHECK_ILUSE(p_tcb != p_runtsk);				/*ï¼»NGKI1176ï¼½*/
+	CHECK_ILUSE(p_tcb != p_runtsk);				/*［NGKI1176］*/
 
 	lock_cpu();
 	if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
-		ercd = E_NOEXS;							/*ï¼»NGKI1174ï¼½*/
+		ercd = E_NOEXS;							/*［NGKI1174］*/
 	}
 	else if (TSTAT_DORMANT(p_tcb->tstat)) {
-		ercd = E_OBJ;							/*ï¼»NGKI1177ï¼½*/
+		ercd = E_OBJ;							/*［NGKI1177］*/
 	}
 	else {
-		task_terminate(p_tcb);					/*ï¼»NGKI3450ï¼½*/
+		task_terminate(p_tcb);					/*［NGKI3450］*/
 		if (p_runtsk != p_schedtsk) {
 			dispatch();
Index: asp3_gr_sakura/trunk/kernel/taskhook.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/taskhook.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/taskhook.c	(revision 318)
@@ -7,47 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -55,5 +40,5 @@
 
 /*
- *  ã¿ã¹ã¯ç®¡çã«é¢é£ããããã¯ã«ã¼ãã³
+ *  タスク管理に関連するフックルーチン
  */
 
@@ -63,5 +48,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹æ©è½ã®ããã®ããã¯ã«ã¼ãã³
+ *  ミューテックス機能のためのフックルーチン
  */
 #ifdef TOPPERS_mtxhook
Index: asp3_gr_sakura/trunk/kernel/taskhook.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/taskhook.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/taskhook.h	(revision 318)
@@ -7,47 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -55,5 +40,5 @@
 
 /*
- *  ã¿ã¹ã¯ç®¡çã«é¢é£ããããã¯ã«ã¼ãã³
+ *  タスク管理に関連するフックルーチン
  */
 
@@ -65,5 +50,5 @@
 
 /*
- *  ãã¥ã¼ããã¯ã¹æ©è½ã®ããã®ããã¯ã«ã¼ãã³
+ *  ミューテックス機能のためのフックルーチン
  */
 extern bool_t	(*mtxhook_check_ceilpri)(TCB *p_tcb, uint_t bpriority);
Index: asp3_gr_sakura/trunk/kernel/time_event.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/time_event.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/time_event.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«
+ *		タイムイベント管理モジュール
  */
 
@@ -64,5 +49,5 @@
 
 /*
- *  TSTEP_HRTCNTã®ç¯å²ãã§ãã¯
+ *  TSTEP_HRTCNTの範囲チェック
  */
 #if TSTEP_HRTCNT > 4000U
@@ -71,5 +56,5 @@
 
 /*
- *  HRTCNT_BOUNDã®ç¯å²ãã§ãã¯
+ *  HRTCNT_BOUNDの範囲チェック
  */
 #if HRTCNT_BOUND >= 4294000000U
@@ -84,30 +69,27 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãæä½ãã¯ã­
+ *  タイムイベントヒープ操作マクロ
  */
 #define PARENT(p_tmevtn)	(tmevt_heap + (((p_tmevtn) - tmevt_heap) >> 1))
-													/* è¦ªãã¼ããæ±ãã */
+													/* 親ノードを求める */
 #define LCHILD(p_tmevtn)	(tmevt_heap + (((p_tmevtn) - tmevt_heap) << 1))
-													/* å·¦ã®å­ãã¼ããæ±ãã */
-/*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãä¸­ã®å
-é ­ã®ãã¼ã
+													/* 左の子ノードを求める */
+/*
+ *  タイムイベントヒープ中の先頭のノード
  */
 #define p_top_tmevtn	(&(tmevt_heap[1]))
 #define top_evttim		(tmevt_heap[1].p_tmevtb->evttim)
-										/* å
-é ­ã®ã¿ã¤ã ã¤ãã³ãã®çºçæå» */
-/*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãä¸­ã®æå¾ã®ãã¼ã
+										/* 先頭のタイムイベントの発生時刻 */
+/*
+ *  タイムイベントヒープ中の最後のノード
  */
 #define p_last_tmevtn	(tmevt_heap[0].p_last)
 
 /*
- *  ã¤ãã³ãæå»ã®åå¾é¢ä¿ã®å¤å®ï¼»ASPD1009ï¼½
+ *  イベント時刻の前後関係の判定［ASPD1009］
  *
- *  ã¤ãã³ãæå»ã¯ï¼boundary_evttimããã®ç¸å¯¾å¤ã§æ¯è¼ããï¼ããªãã¡ï¼
- *  boundary_evttimãæãæ©ãæå»ï¼boundary_evttim-1ãæãé
-ãæå»ã¨ã¿
- *  ãªãã¦æ¯è¼ããï¼
+ *  イベント時刻は，boundary_evttimからの相対値で比較する．すなわち，
+ *  boundary_evttimを最も早い時刻，boundary_evttim-1が最も遅い時刻とみ
+ *  なして比較する．
  */
 #define EVTTIM_ADVANCE(t)	((t) - boundary_evttim)
@@ -118,45 +100,45 @@
 
 /*
- *  å¢çã¤ãã³ãæå»ï¼»ASPD1008ï¼½
+ *  境界イベント時刻［ASPD1008］
  */
 EVTTIM	boundary_evttim;
 
 /*
- *  æå¾ã«ç¾å¨æå»ãç®åºããæç¹ã§ã®ã¤ãã³ãæå»ï¼»ASPD1012ï¼½
+ *  最後に現在時刻を算出した時点でのイベント時刻［ASPD1012］
  */
 EVTTIM	current_evttim;
 
 /*
- *  æå¾ã«ç¾å¨æå»ãç®åºããæç¹ã§ã®é«åè§£è½ã¿ã¤ãã®ã«ã¦ã³ãå¤ï¼»ASPD1012ï¼½
+ *  最後に現在時刻を算出した時点での高分解能タイマのカウント値［ASPD1012］
  */
 HRTCNT	current_hrtcnt;
 
 /*
- *  æãé²ãã§ããæã®ã¤ãã³ãæå»ï¼»ASPD1041ï¼½
+ *  最も進んでいた時のイベント時刻［ASPD1041］
  */
 EVTTIM	monotonic_evttim;
 
 /*
- *  ã·ã¹ãã æå»ã®ãªãã»ããï¼»ASPD1043ï¼½
+ *  システム時刻のオフセット［ASPD1043］
  */
 SYSTIM	systim_offset;
 
 /*
- *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®å¦çä¸­ã§ãããã¨ãç¤ºããã©ã°ï¼»ASPD1032ï¼½
+ *  高分解能タイマ割込みの処理中であることを示すフラグ［ASPD1032］
  */
 bool_t	in_signal_time;
 
 /*
- *  ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«ã®åæåï¼»ASPD1061ï¼½
+ *  タイムイベント管理モジュールの初期化［ASPD1061］
  */
 void
 initialize_tmevt(void)
 {
-	current_evttim = 0U;							/*ï¼»ASPD1047ï¼½*/
+	current_evttim = 0U;							/*［ASPD1047］*/
 	boundary_evttim = current_evttim - BOUNDARY_MARGIN;
-													/*ï¼»ASPD1048ï¼½*/
-	monotonic_evttim = 0U;							/*ï¼»ASPD1046ï¼½*/
-	systim_offset = 0U;								/*ï¼»ASPD1044ï¼½*/
-	in_signal_time = false;							/*ï¼»ASPD1033ï¼½*/
+													/*［ASPD1048］*/
+	monotonic_evttim = 0U;							/*［ASPD1046］*/
+	systim_offset = 0U;								/*［ASPD1044］*/
+	in_signal_time = false;							/*［ASPD1033］*/
 	p_last_tmevtn = tmevt_heap;
 }
@@ -165,12 +147,9 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ãã®æ¿å
-¥ä½ç½®ãä¸åãã«æ¢ç´¢
+ *  タイムイベントの挿入位置を上向きに探索
  *
- *  æå»evttimã«çºçããã¿ã¤ã ã¤ãã³ããæ¿å
-¥ãããã¼ããç©ºããããã«ï¼
- *  ãã¼ãã®ä¸ã«åãã£ã¦ç©ºãã¼ããç§»åãããï¼ç§»ååã®ç©ºãã¼ãã®ä½ç½®ã
- *  p_tmevtnã«æ¸¡ãã¨ï¼ç§»åå¾ã®ç©ºãã¼ãã®ä½ç½®ï¼ããªãã¡æ¿å
-¥ä½ç½®ï¼ãè¿ãï¼
+ *  時刻evttimに発生するタイムイベントを挿入するノードを空けるために，
+ *  ヒープの上に向かって空ノードを移動させる．移動前の空ノードの位置を
+ *  p_tmevtnに渡すと，移動後の空ノードの位置（すなわち挿入位置）を返す．
  */
 #ifdef TOPPERS_tmeup
@@ -183,7 +162,6 @@
 	while (p_tmevtn > p_top_tmevtn) {
 		/*
-		 *  è¦ªãã¼ãã®ã¤ãã³ãçºçæå»ã®æ¹ãæ©ãï¼ã¾ãã¯åãï¼ãªãã°ï¼
-		 *  p_tmevtnãæ¿å
-¥ä½ç½®ãªã®ã§ã«ã¼ããæããï¼
+		 *  親ノードのイベント発生時刻の方が早い（または同じ）ならば，
+		 *  p_tmevtnが挿入位置なのでループを抜ける．
 		 */
 		p_parent = PARENT(p_tmevtn);
@@ -193,5 +171,5 @@
 
 		/*
-		 *  è¦ªãã¼ããp_tmevtnã®ä½ç½®ã«ç§»åãããï¼
+		 *  親ノードをp_tmevtnの位置に移動させる．
 		 */
 		*p_tmevtn = *p_parent;
@@ -199,5 +177,5 @@
 
 		/*
-		 *  p_tmevtnãè¦ªãã¼ãã®ä½ç½®ã«æ´æ°ï¼
+		 *  p_tmevtnを親ノードの位置に更新．
 		 */
 		p_tmevtn = p_parent;
@@ -209,12 +187,9 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ãã®æ¿å
-¥ä½ç½®ãä¸åãã«æ¢ç´¢
+ *  タイムイベントの挿入位置を下向きに探索
  *
- *  æå»evttimã«çºçããã¿ã¤ã ã¤ãã³ããæ¿å
-¥ãããã¼ããç©ºããããã«ï¼
- *  ãã¼ãã®ä¸ã«åãã£ã¦ç©ºãã¼ããç§»åãããï¼ç§»ååã®ç©ºãã¼ãã®ä½ç½®ã
- *  p_tmevtnã«æ¸¡ãã¨ï¼ç§»åå¾ã®ç©ºãã¼ãã®ä½ç½®ï¼ããªãã¡æ¿å
-¥ä½ç½®ï¼ãè¿ãï¼
+ *  時刻evttimに発生するタイムイベントを挿入するノードを空けるために，
+ *  ヒープの下に向かって空ノードを移動させる．移動前の空ノードの位置を
+ *  p_tmevtnに渡すと，移動後の空ノードの位置（すなわち挿入位置）を返す．
  */
 #ifdef TOPPERS_tmedown
@@ -227,7 +202,7 @@
 	while ((p_child = LCHILD(p_tmevtn)) <= p_last_tmevtn) {
 		/*
-		 *  å·¦å³ã®å­ãã¼ãã®ã¤ãã³ãçºçæå»ãæ¯è¼ãï¼æ©ãæ¹ã®å­ãã¼ã
-		 *  ã®ä½ç½®ãp_childã«è¨­å®ããï¼ä»¥ä¸ã®å­ãã¼ãã¯ï¼ããã§é¸ã°ãã
-		 *  æ¹ã®å­ãã¼ãã®ãã¨ï¼
+		 *  左右の子ノードのイベント発生時刻を比較し，早い方の子ノード
+		 *  の位置をp_childに設定する．以下の子ノードは，ここで選ばれた
+		 *  方の子ノードのこと．
 		 */
 		if (p_child + 1 <= p_last_tmevtn
@@ -238,8 +213,6 @@
 
 		/*
-		 *  å­ãã¼ãã®ã¤ãã³ãçºçæå»ã®æ¹ãé
-ãï¼ã¾ãã¯åãï¼ãªãã°ï¼
-		 *  p_tmevtnãæ¿å
-¥ä½ç½®ãªã®ã§ã«ã¼ããæããï¼
+		 *  子ノードのイベント発生時刻の方が遅い（または同じ）ならば，
+		 *  p_tmevtnが挿入位置なのでループを抜ける．
 		 */
 		if (EVTTIM_LE(evttim, p_child->p_tmevtb->evttim)) {
@@ -248,5 +221,5 @@
 
 		/*
-		 *  å­ãã¼ããp_tmevtnã®ä½ç½®ã«ç§»åãããï¼
+		 *  子ノードをp_tmevtnの位置に移動させる．
 		 */
 		*p_tmevtn = *p_child;
@@ -254,5 +227,5 @@
 
 		/*
-		 *  p_tmevtnãå­ãã¼ãã®ä½ç½®ã«æ´æ°ï¼
+		 *  p_tmevtnを子ノードの位置に更新．
 		 */
 		p_tmevtn = p_child;
@@ -264,8 +237,8 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãã¸ã®è¿½å 
+ *  タイムイベントヒープへの追加
  *
- *  p_tmevtbã§æå®ããã¿ã¤ã ã¤ãã³ããã­ãã¯ãï¼ã¿ã¤ã ã¤ãã³ããã¼ãã«
- *  è¿½å ããï¼
+ *  p_tmevtbで指定したタイムイベントブロックを，タイムイベントヒープに
+ *  追加する．
  */
 Inline void
@@ -275,12 +248,10 @@
 
 	/*
-	 *  p_last_tmevtnãã¤ã³ã¯ãªã¡ã³ããï¼ããããä¸ã«æ¿å
-¥ä½ç½®ãæ¢ãï¼
+	 *  p_last_tmevtnをインクリメントし，そこから上に挿入位置を探す．
 	 */
 	p_tmevtn = tmevt_up(++p_last_tmevtn, p_tmevtb->evttim);
 
 	/*
-	 *  ã¿ã¤ã ã¤ãã³ããp_tmevtnã®ä½ç½®ã«æ¿å
-¥ããï¼
+	 *  タイムイベントをp_tmevtnの位置に挿入する．
 	 */ 
 	p_tmevtn->p_tmevtb = p_tmevtb;
@@ -289,5 +260,5 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãããã®åé¤
+ *  タイムイベントヒープからの削除
  */
 Inline void
@@ -299,5 +270,5 @@
 
 	/*
-	 *  åé¤ã«ããã¿ã¤ã ã¤ãã³ããã¼ããç©ºã«ãªãå ´åã¯ä½ãããªãï¼
+	 *  削除によりタイムイベントヒープが空になる場合は何もしない．
 	 */
 	if (--p_last_tmevtn < p_top_tmevtn) {
@@ -306,17 +277,13 @@
 
 	/*
-	 *  åé¤ãããã¼ãã®ä½ç½®ã«æå¾ã®ãã¼ãï¼p_last_tmevtn + 1 ã®ä½ç½®ã®
-	 *  ãã¼ãï¼ãæ¿å
-¥ãï¼ãããé©åãªä½ç½®ã¸ç§»åãããï¼å®éã«ã¯ï¼æå¾
-	 *  ã®ãã¼ããå®éã«æ¿å
-¥ããã®ã§ã¯ãªãï¼åé¤ãããã¼ãã®ä½ç½®ãç©ºãã¼
-	 *  ãã«ãªãã®ã§ï¼æå¾ã®ãã¼ããæ¿å
-¥ãã¹ãä½ç½®ã¸åãã¦ç©ºãã¼ããç§»
-	 *  åãããï¼
+	 *  削除したノードの位置に最後のノード（p_last_tmevtn + 1 の位置の
+	 *  ノード）を挿入し，それを適切な位置へ移動させる．実際には，最後
+	 *  のノードを実際に挿入するのではなく，削除したノードの位置が空ノー
+	 *  ドになるので，最後のノードを挿入すべき位置へ向けて空ノードを移
+	 *  動させる．
 	 *
-	 *  æå¾ã®ãã¼ãã®ã¤ãã³ãçºçæå»ãï¼åé¤ãããã¼ãã®è¦ªãã¼ãã®ã¤
-	 *  ãã³ãçºçæå»ããåã®å ´åã«ã¯ï¼ä¸ã«åãã£ã¦æ¿å
-¥ä½ç½®ãæ¢ãï¼ã
-	 *  ãã§ãªãå ´åã«ã¯ï¼ä¸ã«åãã£ã¦æ¢ãï¼
+	 *  最後のノードのイベント発生時刻が，削除したノードの親ノードのイ
+	 *  ベント発生時刻より前の場合には，上に向かって挿入位置を探す．そ
+	 *  うでない場合には，下に向かって探す．
 	 */
 	event_evttim = (p_last_tmevtn + 1)->p_tmevtb->evttim;
@@ -325,5 +292,5 @@
 						(p_parent = PARENT(p_tmevtn))->p_tmevtb->evttim)) {
 		/*
-		 *  è¦ªãã¼ããp_tmevtnã®ä½ç½®ã«ç§»åãããï¼
+		 *  親ノードをp_tmevtnの位置に移動させる．
 		 */
 		*p_tmevtn = *p_parent;
@@ -331,6 +298,5 @@
 
 		/*
-		 *  åé¤ãããã¼ãã®è¦ªãã¼ãããä¸ã«åãã£ã¦æ¿å
-¥ä½ç½®ãæ¢ãï¼
+		 *  削除したノードの親ノードから上に向かって挿入位置を探す．
 		 */
 		p_tmevtn = tmevt_up(p_parent, event_evttim);
@@ -338,6 +304,5 @@
 	else {
 		/*
-		 *  åé¤ãããã¼ãããä¸ã«åãã£ã¦æ¿å
-¥ä½ç½®ãæ¢ãï¼
+		 *  削除したノードから下に向かって挿入位置を探す．
 		 */
 		p_tmevtn = tmevt_down(p_tmevtn, event_evttim);
@@ -345,6 +310,5 @@
 
 	/*
-	 *  æå¾ã®ãã¼ããp_tmevtnã®ä½ç½®ã«æ¿å
-¥ããï¼
+	 *  最後のノードをp_tmevtnの位置に挿入する．
 	 */ 
 	*p_tmevtn = *(p_last_tmevtn + 1);
@@ -353,6 +317,5 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãã®å
-é ­ã®ãã¼ãã®åé¤
+ *  タイムイベントヒープの先頭のノードの削除
  */
 Inline TMEVTB *
@@ -364,16 +327,13 @@
 
 	/*
-	 *  åé¤ã«ããã¿ã¤ã ã¤ãã³ããã¼ããç©ºã«ãªãå ´åã¯ä½ãããªãï¼
+	 *  削除によりタイムイベントヒープが空になる場合は何もしない．
 	 */
 	if (--p_last_tmevtn >= p_top_tmevtn) {
 		/*
-		 *  ã«ã¼ããã¼ãã«æå¾ã®ãã¼ãï¼p_last_tmevtn + 1 ã®ä½ç½®ã®ãã¼
-		 *  ãï¼ãæ¿å
-¥ãï¼ãããé©åãªä½ç½®ã¸ç§»åãããï¼å®éã«ã¯ï¼æå¾
-		 *  ã®ãã¼ããå®éã«æ¿å
-¥ããã®ã§ã¯ãªãï¼ã«ã¼ããã¼ããç©ºãã¼ã
-		 *  ã«ãªãã®ã§ï¼æå¾ã®ãã¼ããæ¿å
-¥ãã¹ãä½ç½®ã¸åãã¦ç©ºãã¼ãã
-		 *  ç§»åãããï¼
+		 *  ルートノードに最後のノード（p_last_tmevtn + 1 の位置のノー
+		 *  ド）を挿入し，それを適切な位置へ移動させる．実際には，最後
+		 *  のノードを実際に挿入するのではなく，ルートノードが空ノード
+		 *  になるので，最後のノードを挿入すべき位置へ向けて空ノードを
+		 *  移動させる．
 		 */
 		event_evttim = (p_last_tmevtn + 1)->p_tmevtb->evttim;
@@ -381,6 +341,5 @@
 
 		/*
-		 *  æå¾ã®ãã¼ããp_tmevtnã®ä½ç½®ã«æ¿å
-¥ããï¼
+		 *  最後のノードをp_tmevtnの位置に挿入する．
 		 */ 
 		*p_tmevtn = *(p_last_tmevtn + 1);
@@ -391,5 +350,5 @@
 
 /*
- *  ç¾å¨ã®ã¤ãã³ãæå»ã®æ´æ°
+ *  現在のイベント時刻の更新
  */
 #ifdef TOPPERS_tmecur
@@ -401,6 +360,6 @@
 	EVTTIM	previous_evttim;
 
-	new_hrtcnt = target_hrt_get_current();			/*ï¼»ASPD1013ï¼½*/
-	hrtcnt_advance = new_hrtcnt - current_hrtcnt;	/*ï¼»ASPD1014ï¼½*/
+	new_hrtcnt = target_hrt_get_current();			/*［ASPD1013］*/
+	hrtcnt_advance = new_hrtcnt - current_hrtcnt;	/*［ASPD1014］*/
 #ifdef TCYC_HRTCNT
 	if (new_hrtcnt < current_hrtcnt) {
@@ -410,15 +369,15 @@
 
 	previous_evttim = current_evttim;
-	current_evttim += (EVTTIM) hrtcnt_advance;		/*ï¼»ASPD1015ï¼½*/
-	current_hrtcnt = new_hrtcnt;					/*ï¼»ASPD1016ï¼½*/
-	boundary_evttim = current_evttim - BOUNDARY_MARGIN;	/*ï¼»ASPD1011ï¼½*/
+	current_evttim += (EVTTIM) hrtcnt_advance;		/*［ASPD1015］*/
+	current_hrtcnt = new_hrtcnt;					/*［ASPD1016］*/
+	boundary_evttim = current_evttim - BOUNDARY_MARGIN;	/*［ASPD1011］*/
 
 	if (monotonic_evttim - previous_evttim < (EVTTIM) hrtcnt_advance) {
 #ifdef UINT64_MAX
 		if (current_evttim < monotonic_evttim) {
-			systim_offset += 1LLU << 32;			/*ï¼»ASPD1045ï¼½*/
+			systim_offset += 1LLU << 32;			/*［ASPD1045］*/
 		}
 #endif /* UINT64_MAX */
-		monotonic_evttim = current_evttim;			/*ï¼»ASPD1042ï¼½*/
+		monotonic_evttim = current_evttim;			/*［ASPD1042］*/
 	}
 }
@@ -427,8 +386,7 @@
 
 /*
- *  ç¾å¨ã®ã¤ãã³ãæå»ãé
-ãæ¹ã«ä¸¸ããã¤ãã³ãæå»ã®ç®åºï¼»ASPD1027ï¼½
+ *  現在のイベント時刻を遅い方に丸めたイベント時刻の算出［ASPD1027］
  *
- *  ç¾å¨ã®ã¤ãã³ãæå»ãæ´æ°ããå¾ã«å¼ã¶ãã¨ãæ³å®ãã¦ããï¼
+ *  現在のイベント時刻を更新した後に呼ぶことを想定している．
  */
 Inline EVTTIM
@@ -439,5 +397,5 @@
 
 /*
- *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®çºçã¿ã¤ãã³ã°ã®è¨­å®
+ *  高分解能タイマ割込みの発生タイミングの設定
  */
 #ifdef TOPPERS_tmeset
@@ -449,16 +407,16 @@
 
 	if (p_last_tmevtn < p_top_tmevtn) {
-		target_hrt_set_event(HRTCNT_BOUND);			/*ï¼»ASPD1007ï¼½*/
+		target_hrt_set_event(HRTCNT_BOUND);			/*［ASPD1007］*/
 	}
 	else if (EVTTIM_LE(top_evttim, current_evttim)) {
-		target_hrt_raise_event();					/*ï¼»ASPD1017ï¼½*/
+		target_hrt_raise_event();					/*［ASPD1017］*/
 	}
 	else {
 		hrtcnt = (HRTCNT)(top_evttim - current_evttim);
 		if (hrtcnt > HRTCNT_BOUND) {
-			target_hrt_set_event(HRTCNT_BOUND);		/*ï¼»ASPD1006ï¼½*/
+			target_hrt_set_event(HRTCNT_BOUND);		/*［ASPD1006］*/
 		}
 		else {
-			target_hrt_set_event(hrtcnt);			/*ï¼»ASPD1002ï¼½*/
+			target_hrt_set_event(hrtcnt);			/*［ASPD1002］*/
 		}
 	}
@@ -468,6 +426,5 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ãã¼ãã¸ã®æ¿å
-¥
+ *  タイムイベントブロックのヒープへの挿入
  */
 #ifdef TOPPERS_tmereg
@@ -482,5 +439,5 @@
 
 /*
- *  ç¸å¯¾æéæå®ã«ããã¿ã¤ã ã¤ãã³ãã®ç»é²
+ *  相対時間指定によるタイムイベントの登録
  *  
  */
@@ -491,5 +448,5 @@
 {
 	/*
-	 *  ç¾å¨ã®ã¤ãã³ãæå»ã¨ã¿ã¤ã ã¤ãã³ãã®çºçæå»ãæ±ããï¼»ASPD1026ï¼½ï¼
+	 *  現在のイベント時刻とタイムイベントの発生時刻を求める［ASPD1026］．
 	 */
 	update_current_evttim();
@@ -497,12 +454,11 @@
 
 	/*
-	 *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ããã¼ãã«æ¿å
-¥ããï¼»ASPD1030ï¼½ï¼
+	 *  タイムイベントブロックをヒープに挿入する［ASPD1030］．
 	 */
 	tmevtb_insert(p_tmevtb);
 
 	/*
-	 *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®çºçã¿ã¤ãã³ã°ãè¨­å®ããï¼»ASPD1031ï¼½
-	 *  ï¼»ASPD1034ï¼½ï¼
+	 *  高分解能タイマ割込みの発生タイミングを設定する［ASPD1031］
+	 *  ［ASPD1034］．
 	 */
 	if (!in_signal_time && p_tmevtb->p_tmevtn == p_top_tmevtn) {
@@ -514,5 +470,5 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ãã®ç»é²è§£é¤
+ *  タイムイベントの登録解除
  */
 #ifdef TOPPERS_tmedeq
@@ -524,5 +480,5 @@
 
 	/*
-	 *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ããã¼ãããåé¤ããï¼»ASPD1039ï¼½ï¼
+	 *  タイムイベントブロックをヒープから削除する［ASPD1039］．
 	 */
 	p_tmevtn = p_tmevtb->p_tmevtn;
@@ -530,5 +486,5 @@
 
 	/*
-	 *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®çºçã¿ã¤ãã³ã°ãè¨­å®ããï¼»ASPD1040ï¼½ï¼
+	 *  高分解能タイマ割込みの発生タイミングを設定する［ASPD1040］．
 	 */
 	if (!in_signal_time && p_tmevtn == p_top_tmevtn) {
@@ -541,5 +497,5 @@
 
 /*
- *  ã·ã¹ãã æå»ã®èª¿æ´æã®ã¨ã©ã¼ãã§ãã¯
+ *  システム時刻の調整時のエラーチェック
  */
 #ifdef TOPPERS_tmechk
@@ -549,8 +505,8 @@
 {
 	if (adjtim > 0) {
-		return(p_last_tmevtn >= p_top_tmevtn	/*ï¼»NGKI3588ï¼½*/
+		return(p_last_tmevtn >= p_top_tmevtn	/*［NGKI3588］*/
 					&& EVTTIM_LE(top_evttim, current_evttim - TMAX_ADJTIM));
 	}
-	else if (adjtim < 0) {						/*ï¼»NGKI3589ï¼½*/
+	else if (adjtim < 0) {						/*［NGKI3589］*/
 		return(monotonic_evttim - current_evttim >= -TMIN_ADJTIM);
 	}
@@ -561,5 +517,5 @@
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããçºçããã¾ã§ã®æéã®è¨ç®
+ *  タイムイベントが発生するまでの時間の計算
  */
 #ifdef TOPPERS_tmeltim
@@ -571,6 +527,5 @@
 
 	/*
-	 *  ç¾å¨ã®ã¤ãã³ãæå»ãé
-ãæ¹ã«ä¸¸ããæå»ãæ±ããï¼»ASPD1050ï¼½ï¼
+	 *  現在のイベント時刻を遅い方に丸めた時刻を求める［ASPD1050］．
 	 */
 	update_current_evttim();
@@ -578,10 +533,10 @@
 
 	/*
-	 *  ã¿ã¤ã ã¤ãã³ãçºçã¾ã§ã®ç¸å¯¾æéãæ±ããï¼»ASPD1049ï¼½ï¼
+	 *  タイムイベント発生までの相対時間を求める［ASPD1049］．
 	 */
 	evttim = p_tmevtb->evttim;
 	if (EVTTIM_LE(evttim, current_evttim_ub)) {
 		/*
-		 *  ã¿ã¤ã ã¤ãã³ãã®çºçæå»ãéãã¦ããå ´åã«ã¯0ãè¿ãï¼»NGKI0552ï¼½ï¼
+		 *  タイムイベントの発生時刻を過ぎている場合には0を返す［NGKI0552］．
 		 */
 		return(0U);
@@ -595,5 +550,5 @@
 
 /*
- *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®å¦ç
+ *  高分解能タイマ割込みの処理
  */
 #ifdef TOPPERS_sigtim
@@ -609,21 +564,21 @@
 
 	lock_cpu();
-	in_signal_time = true;							/*ï¼»ASPD1033ï¼½*/
+	in_signal_time = true;							/*［ASPD1033］*/
 
 	do {
 		/*
-		 *  ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºããªããã°ã«ã¼ããæããï¼»ASPD1020ï¼½ï¼
+		 *  コールバック関数を呼び出さなければループを抜ける［ASPD1020］．
 		 */
 		callflag = false;
 
 		/*
-		 *  ç¾å¨ã®ã¤ãã³ãæå»ãæ±ããï¼»ASPD1022ï¼½ï¼
+		 *  現在のイベント時刻を求める［ASPD1022］．
 		 */
 		update_current_evttim();
 
 		/*
-		 *  çºçæå»ãcurrent_evttimä»¥åã®ã¿ã¤ã ã¤ãã³ããããã°ï¼ã¿ã¤
-		 *  ã ã¤ãã³ããã¼ãããåé¤ãï¼ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºã
-		 *  ï¼»ASPD1018ï¼½ï¼»ASPD1019ï¼½ï¼
+		 *  発生時刻がcurrent_evttim以前のタイムイベントがあれば，タイ
+		 *  ムイベントヒープから削除し，コールバック関数を呼び出す
+		 *  ［ASPD1018］［ASPD1019］．
 		 */
 		while (p_last_tmevtn >= p_top_tmevtn
@@ -633,12 +588,12 @@
 			callflag = true;
 		}
-	} while (callflag);								/*ï¼»ASPD1020ï¼½*/
-
-	/*
-	 *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®çºçã¿ã¤ãã³ã°ãè¨­å®ããï¼»ASPD1025ï¼½ï¼
+	} while (callflag);								/*［ASPD1020］*/
+
+	/*
+	 *  高分解能タイマ割込みの発生タイミングを設定する［ASPD1025］．
 	 */
 	set_hrt_event();
 
-	in_signal_time = false;							/*ï¼»ASPD1033ï¼½*/
+	in_signal_time = false;							/*［ASPD1033］*/
 	unlock_cpu();
 }
Index: asp3_gr_sakura/trunk/kernel/time_event.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/time_event.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/time_event.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«
+ *		タイムイベント管理モジュール
  */
 
@@ -67,94 +52,90 @@
 
 /*
- *  ã¤ãã³ãæå»ã®ãã¼ã¿åã®å®ç¾©ï¼»ASPD1001ï¼½
- *
- *  ã¿ã¤ã ã¤ãã³ããã¼ãã«ç»é²ããã¿ã¤ã ã¤ãã³ãã®çºçæå»ãè¡¨ç¾ããã
- *  ãã®ãã¼ã¿åï¼ãªã¼ããããä½æ¸ã®ããã«ï¼32ãããã§æ±ãï¼
+ *  イベント時刻のデータ型の定義［ASPD1001］
+ *
+ *  タイムイベントヒープに登録するタイムイベントの発生時刻を表現するた
+ *  めのデータ型．オーバヘッド低減のために，32ビットで扱う．
  */
 typedef uint32_t	EVTTIM;
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãä¸­ã®ãã¼ãã®ãã¼ã¿åã®åæ¹åç
-§
+ *  タイムイベントヒープ中のノードのデータ型の前方参照
  */
 typedef union time_event_node TMEVTN;
 
 /* 
- *  ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ãã¼ã¿åã®å®ç¾©
- */
-typedef void	(*CBACK)(void *);	/* ã³ã¼ã«ããã¯é¢æ°ã®å */
+ *  タイムイベントブロックのデータ型の定義
+ */
+typedef void	(*CBACK)(void *);	/* コールバック関数の型 */
 
 typedef struct time_event_block {
-	EVTTIM	evttim;			/* ã¿ã¤ã ã¤ãã³ãã®çºçæå» */
-	TMEVTN	*p_tmevtn;		/* ã¿ã¤ã ã¤ãã³ããã¼ãä¸­ã§ã®ä½ç½® */
-	CBACK	callback;		/* ã³ã¼ã«ããã¯é¢æ° */
-	void	*arg;			/* ã³ã¼ã«ããã¯é¢æ°ã¸æ¸¡ãå¼æ° */
+	EVTTIM	evttim;			/* タイムイベントの発生時刻 */
+	TMEVTN	*p_tmevtn;		/* タイムイベントヒープ中での位置 */
+	CBACK	callback;		/* コールバック関数 */
+	void	*arg;			/* コールバック関数へ渡す引数 */
 } TMEVTB;
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãä¸­ã®ãã¼ãã®ãã¼ã¿åã®å®ç¾©
- *
- *  ã¿ã¤ã ã¤ãã³ããã¼ãã®å
-é ­ã®ãã¼ãï¼tmevt_heap[0]ï¼ã«ï¼æå¾ã®ä½¿ç¨é 
- *  åãæããã¤ã³ã¿ï¼p_lastï¼ãæ ¼ç´ãï¼ããä»¥éãã¿ã¤ã ã¤ãã³ããã¼ã
- *  ã¨ãã¦ä½¿ç¨ããï¼(tmevt_heap[0].p_last - tmevt_heap) ãï¼ã¿ã¤ã ã¤ã
- *  ã³ããã¼ãã«ç»é²ããã¦ããã¿ã¤ã ã¤ãã³ãã®æ°ã¨ãªãï¼
+ *  タイムイベントヒープ中のノードのデータ型の定義
+ *
+ *  タイムイベントヒープの先頭のノード（tmevt_heap[0]）に，最後の使用領
+ *  域を指すポインタ（p_last）を格納し，それ以降をタイムイベントヒープ
+ *  として使用する．(tmevt_heap[0].p_last - tmevt_heap) が，タイムイベ
+ *  ントヒープに登録されているタイムイベントの数となる．
  */
 union time_event_node {
-	TMEVTB	*p_tmevtb;		/* å¯¾å¿ããã¿ã¤ã ã¤ãã³ããã­ãã¯ */
-	TMEVTN	*p_last;		/* ã¿ã¤ã ã¤ãã³ããã¼ãã®æå¾ã®ä½¿ç¨é å */
+	TMEVTB	*p_tmevtb;		/* 対応するタイムイベントブロック */
+	TMEVTN	*p_last;		/* タイムイベントヒープの最後の使用領域 */
 };
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããã¼ãï¼kernel_cfg.cï¼
+ *  タイムイベントヒープ（kernel_cfg.c）
  */
 extern TMEVTN	tmevt_heap[];
 
 /*
- *  å¢çã¤ãã³ãæå»ï¼»ASPD1008ï¼½
+ *  境界イベント時刻［ASPD1008］
  */
 extern EVTTIM	boundary_evttim;
 
 /*
- *  ç¾å¨ã®ã¤ãã³ãæå»ã¨å¢çã¤ãã³ãæå»ã®å·®ï¼»ASPD1010ï¼½
+ *  現在のイベント時刻と境界イベント時刻の差［ASPD1010］
  */
 #define BOUNDARY_MARGIN		(200000000U)
 
 /*
- *  æå¾ã«ç¾å¨æå»ãç®åºããæç¹ã§ã®ã¤ãã³ãæå»ï¼»ASPD1012ï¼½
+ *  最後に現在時刻を算出した時点でのイベント時刻［ASPD1012］
  */
 extern EVTTIM	current_evttim;
 
 /*
- *  æå¾ã«ç¾å¨æå»ãç®åºããæç¹ã§ã®é«åè§£è½ã¿ã¤ãã®ã«ã¦ã³ãå¤ï¼»ASPD1012ï¼½
+ *  最後に現在時刻を算出した時点での高分解能タイマのカウント値［ASPD1012］
  */
 extern HRTCNT	current_hrtcnt;
 
 /*
- *  æãé²ãã§ããæã®ã¤ãã³ãæå»ï¼»ASPD1041ï¼½
+ *  最も進んでいた時のイベント時刻［ASPD1041］
  */
 extern EVTTIM	monotonic_evttim;
 
 /*
- *  ã·ã¹ãã æå»ã®ãªãã»ããï¼»ASPD1043ï¼½
- *
- *  get_timã§åç
-§ããã·ã¹ãã æå»ã¨monotonic_evttimã®å·®ãä¿æããï¼
+ *  システム時刻のオフセット［ASPD1043］
+ *
+ *  get_timで参照するシステム時刻とmonotonic_evttimの差を保持する．
  */
 extern SYSTIM	systim_offset;
 
 /*
- *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®å¦çä¸­ã§ãããã¨ãç¤ºããã©ã°ï¼»ASPD1032ï¼½
+ *  高分解能タイマ割込みの処理中であることを示すフラグ［ASPD1032］
  */
 extern bool_t	in_signal_time;
 
 /*
- *  ã¿ã¤ã ã¤ãã³ãç®¡çã¢ã¸ã¥ã¼ã«ã®åæå
+ *  タイムイベント管理モジュールの初期化
  */
 extern void	initialize_tmevt(void);
 
 /*
- *  ã¿ã¤ã ã¤ãã³ãã®æ¿å
-¥ä½ç½®ã®æ¢ç´¢
+ *  タイムイベントの挿入位置の探索
  */
 extern TMEVTN	*tmevt_up(TMEVTN *p_tmevtn, EVTTIM evttim);
@@ -162,57 +143,57 @@
 
 /*
- *  ç¾å¨ã®ã¤ãã³ãæå»ã®æ´æ°
- *
- *  current_evttimã¨current_hrtcntãï¼ç¾å¨ã®å¤ã«æ´æ°ããï¼
+ *  現在のイベント時刻の更新
+ *
+ *  current_evttimとcurrent_hrtcntを，現在の値に更新する．
  */
 extern void		update_current_evttim(void);
 
 /*
- *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®çºçã¿ã¤ãã³ã°ã®è¨­å®
- *
- *  ç¾å¨ã®ã¤ãã³ãæå»ãåå¾ããå¾ã«å¼ã³åºããã¨ãæ³å®ãã¦ããï¼
+ *  高分解能タイマ割込みの発生タイミングの設定
+ *
+ *  現在のイベント時刻を取得した後に呼び出すことを想定している．
  */
 extern void		set_hrt_event(void);
 
 /*
- *  ã¿ã¤ã ã¤ãã³ãã®ç»é²
- *
- *  p_tmevtbã§æå®ããã¿ã¤ã ã¤ãã³ããã­ãã¯ãç»é²ããï¼ã¿ã¤ã ã¤ãã³ã
- *  ã®çºçæå»ï¼ã³ã¼ã«ããã¯é¢æ°ï¼ã³ã¼ã«ããã¯é¢æ°ã¸æ¸¡ãå¼æ°ã¯ï¼
- *  p_tmevtbãæãã¿ã¤ã ã¤ãã³ããã­ãã¯ä¸­ã«è¨­å®ãã¦ããï¼
+ *  タイムイベントの登録
+ *
+ *  p_tmevtbで指定したタイムイベントブロックを登録する．タイムイベント
+ *  の発生時刻，コールバック関数，コールバック関数へ渡す引数は，
+ *  p_tmevtbが指すタイムイベントブロック中に設定しておく．
  */
 extern void		tmevtb_register(TMEVTB *p_tmevtb);
 
 /*
- *  ç¸å¯¾æéæå®ã«ããã¿ã¤ã ã¤ãã³ãã®ç»é²
- *
- *  timeã§æå®ããç¸å¯¾æéãçµéããå¾ã«ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºããã
- *  ããã«ï¼p_tmevtbã§æå®ããã¿ã¤ã ã¤ãã³ããã­ãã¯ãç»é²ããï¼ã³ã¼ã«
- *  ããã¯é¢æ°ï¼ã³ã¼ã«ããã¯é¢æ°ã¸æ¸¡ãå¼æ°ã¯ï¼p_tmevtbãæãã¿ã¤ã ã¤ã
- *  ã³ããã­ãã¯ä¸­ã«è¨­å®ãã¦ããï¼
+ *  相対時間指定によるタイムイベントの登録
+ *
+ *  timeで指定した相対時間が経過した後にコールバック関数が呼び出される
+ *  ように，p_tmevtbで指定したタイムイベントブロックを登録する．コール
+ *  バック関数，コールバック関数へ渡す引数は，p_tmevtbが指すタイムイベ
+ *  ントブロック中に設定しておく．
  */
 extern void		tmevtb_enqueue(TMEVTB *p_tmevtb, RELTIM time);
 
 /*
- *  ã¿ã¤ã ã¤ãã³ãã®ç»é²è§£é¤
+ *  タイムイベントの登録解除
  */
 extern void		tmevtb_dequeue(TMEVTB *p_tmevtb);
 
 /*
- *  ã·ã¹ãã æå»ã®èª¿æ´æã®ã¨ã©ã¼ãã§ãã¯
- *
- *  adjtimã§æå®ãããæéã®åï¼ã·ã¹ãã æå»ãèª¿æ´ãã¦ãããå¤å®ããï¼
- *  èª¿æ´ãã¦ã¯ãªããªãå ´åã«trueï¼ããã§ãªãå ´åã«falseãè¿ãï¼ç¾å¨ã®ã¤
- *  ãã³ãæå»ãåå¾ããå¾ã«å¼ã³åºããã¨ãæ³å®ãã¦ããï¼
+ *  システム時刻の調整時のエラーチェック
+ *
+ *  adjtimで指定された時間の分，システム時刻を調整してよいか判定する．
+ *  調整してはならない場合にtrue，そうでない場合にfalseを返す．現在のイ
+ *  ベント時刻を取得した後に呼び出すことを想定している．
  */
 extern bool_t	check_adjtim(int_t adjtim);
 
 /*
- *  ã¿ã¤ã ã¤ãã³ããçºçããã¾ã§ã®æéã®è¨ç®
+ *  タイムイベントが発生するまでの時間の計算
  */
 extern RELTIM	tmevt_lefttim(TMEVTB *p_tmevtb);
 
 /*
- *  é«åè§£è½ã¿ã¤ãå²è¾¼ã¿ã®å¦ç
+ *  高分解能タイマ割込みの処理
  */
 extern void	signal_time(void);
Index: asp3_gr_sakura/trunk/kernel/time_manage.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/time_manage.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/time_manage.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *		ã·ã¹ãã æå»ç®¡çæ©è½
+ *		システム時刻管理機能
  */
 
@@ -70,5 +55,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ãã¯ã­ã®ããã©ã«ãå®ç¾©
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_SET_TIM_ENTER
@@ -105,5 +90,5 @@
 
 /*
- *  ã·ã¹ãã æå»ã®è¨­å®ï¼»NGKI3563ï¼½
+ *  システム時刻の設定［NGKI3563］
  */
 #ifdef TOPPERS_set_tim
@@ -115,9 +100,9 @@
 
 	LOG_SET_TIM_ENTER(systim);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI3564ï¼½ï¼»NGKI3565ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI3564］［NGKI3565］*/
 
 	lock_cpu();
-	update_current_evttim();					/*ï¼»ASPD1059ï¼½*/
-	systim_offset = systim - monotonic_evttim;	/*ï¼»ASPD1060ï¼½*/
+	update_current_evttim();					/*［ASPD1059］*/
+	systim_offset = systim - monotonic_evttim;	/*［ASPD1060］*/
 	ercd = E_OK;
 	unlock_cpu();
@@ -131,6 +116,5 @@
 
 /*
- *  ã·ã¹ãã æå»ã®åç
-§ï¼»NGKI2349ï¼½
+ *  システム時刻の参照［NGKI2349］
  */
 #ifdef TOPPERS_get_tim
@@ -142,9 +126,9 @@
 
 	LOG_GET_TIM_ENTER(p_systim);
-	CHECK_TSKCTX_UNL();							/*ï¼»NGKI2350ï¼½ï¼»NGKI2351ï¼½*/
+	CHECK_TSKCTX_UNL();							/*［NGKI2350］［NGKI2351］*/
 
 	lock_cpu();
-	update_current_evttim();					/*ï¼»ASPD1057ï¼½*/
-	*p_systim = systim_offset + monotonic_evttim;	/*ï¼»ASPD1058ï¼½*/
+	update_current_evttim();					/*［ASPD1057］*/
+	*p_systim = systim_offset + monotonic_evttim;	/*［ASPD1058］*/
 	ercd = E_OK;
 	unlock_cpu();
@@ -158,5 +142,5 @@
 
 /*
- *  ã·ã¹ãã æå»ã®èª¿æ´ï¼»NGKI3581ï¼½
+ *  システム時刻の調整［NGKI3581］
  */
 #ifdef TOPPERS_adj_tim
@@ -169,16 +153,16 @@
 
 	LOG_ADJ_TIM_ENTER(adjtim);
-	CHECK_UNL();								/*ï¼»NGKI3583ï¼½*/
+	CHECK_UNL();								/*［NGKI3583］*/
 	CHECK_PAR(TMIN_ADJTIM <= adjtim && adjtim <= TMAX_ADJTIM);
-												/*ï¼»NGKI3584ï¼½*/
+												/*［NGKI3584］*/
 	lock_cpu();
-	update_current_evttim();					/*ï¼»ASPD1051ï¼½*/
-	if (check_adjtim(adjtim)) {					/*ï¼»ASPD1052ï¼½*/
+	update_current_evttim();					/*［ASPD1051］*/
+	if (check_adjtim(adjtim)) {					/*［ASPD1052］*/
 		ercd = E_OBJ;
 	}
 	else {
 		previous_evttim = current_evttim;
-		current_evttim += adjtim;				/*ï¼»ASPD1053ï¼½*/
-		boundary_evttim = current_evttim - BOUNDARY_MARGIN;	/*ï¼»ASPD1055ï¼½*/
+		current_evttim += adjtim;				/*［ASPD1053］*/
+		boundary_evttim = current_evttim - BOUNDARY_MARGIN;	/*［ASPD1055］*/
 
 		if (adjtim > 0
@@ -189,8 +173,8 @@
 			}
 #endif /* UINT64_MAX */
-			monotonic_evttim = current_evttim;	/*ï¼»ASPD1054ï¼½*/
+			monotonic_evttim = current_evttim;	/*［ASPD1054］*/
 		}
 
-		set_hrt_event();						/*ï¼»ASPD1056ï¼½*/
+		set_hrt_event();						/*［ASPD1056］*/
 		ercd = E_OK;
 	}
@@ -205,12 +189,8 @@
 
 /*
- *  é«åè§£è½ã¿ã¤ãã®åç
-§ï¼»NGKI3569ï¼½
+ *  高分解能タイマの参照［NGKI3569］
  *
- *  ä»»æã®ç¶æ
-ããå¼ã³åºããããã«ããããã«ï¼SILã®å
-¨å²è¾¼ã¿ã­ãã¯ç¶æ
-ã®
- *  å¶å¾¡æ©è½ãç¨ãã¦ï¼æä»å¶å¾¡ãå®ç¾ãã¦ããï¼»NGKI3572ï¼½ï¼
+ *  任意の状態から呼び出せるようにするために，SILの全割込みロック状態の
+ *  制御機能を用いて，排他制御を実現している［NGKI3572］．
  */
 #ifdef TOPPERS_fch_hrt
@@ -225,5 +205,5 @@
 
 	SIL_LOC_INT();
-	hrtcnt = target_hrt_get_current();			/*ï¼»NGKI3571ï¼½*/
+	hrtcnt = target_hrt_get_current();			/*［NGKI3571］*/
 	SIL_UNL_INT();
 
@@ -235,5 +215,5 @@
 
 /*
- *  éç¥æ¹æ³ã®ã¨ã©ã¼ãã§ãã¯
+ *  通知方法のエラーチェック
  */
 #ifdef TOPPERS_chknfy
@@ -319,5 +299,5 @@
 
 /*
- *  éç¥ãã³ãã©
+ *  通知ハンドラ
  */
 #ifdef TOPPERS_nfyhdr
Index: asp3_gr_sakura/trunk/kernel/wait.c
===================================================================
--- asp3_gr_sakura/trunk/kernel/wait.c	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/wait.c	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,7 +42,5 @@
 
 /*
- *		å¾
-ã¡ç¶æ
-ç®¡çã¢ã¸ã¥ã¼ã«
+ *		待ち状態管理モジュール
  */
 
@@ -66,7 +49,5 @@
 
 /*
- *  å¾
-ã¡ç¶æ
-ã¸ã®é·ç§»ï¼ã¿ã¤ã ã¢ã¦ãæå®ï¼
+ *  待ち状態への遷移（タイムアウト指定）
  */
 #ifdef TOPPERS_waimake
@@ -92,6 +73,5 @@
 
 /*
- *  å¾
-ã¡è§£é¤
+ *  待ち解除
  */
 #ifdef TOPPERS_waicmp
@@ -108,6 +88,5 @@
 
 /*
- *  ã¿ã¤ã ã¢ã¦ãã«ä¼´ãå¾
-ã¡è§£é¤
+ *  タイムアウトに伴う待ち解除
  */
 #ifdef TOPPERS_waitmo
@@ -124,6 +103,5 @@
 
 	/*
-	 *  ããã§åªå
-åº¦ã®é«ãå²è¾¼ã¿ãåãä»ããï¼
+	 *  ここで優先度の高い割込みを受け付ける．
 	 */
 	unlock_cpu();
@@ -145,6 +123,5 @@
 
 	/*
-	 *  ããã§åªå
-åº¦ã®é«ãå²è¾¼ã¿ãåãä»ããï¼
+	 *  ここで優先度の高い割込みを受け付ける．
 	 */
 	unlock_cpu();
@@ -156,14 +133,8 @@
 
 /*
- *  å®è¡ä¸­ã®ã¿ã¹ã¯ã®åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼ã¸ã®æ¿å
-¥
+ *  実行中のタスクの同期・通信オブジェクトの待ちキューへの挿入
  *
- *  å®è¡ä¸­ã®ã¿ã¹ã¯ãï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼ã¸æ¿å
-¥ããï¼ãª
- *  ãã¸ã§ã¯ãã®å±æ§ã«å¿ãã¦ï¼FIFOé ã¾ãã¯ã¿ã¹ã¯åªå
-åº¦é ã§æ¿å
-¥ããï¼
+ *  実行中のタスクを，同期・通信オブジェクトの待ちキューへ挿入する．オ
+ *  ブジェクトの属性に応じて，FIFO順またはタスク優先度順で挿入する．
  */
 Inline void
@@ -179,7 +150,5 @@
 
 /*
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
-ã¡ç¶æ
-ã¸ã®é·ç§»
+ *  同期・通信オブジェクトに対する待ち状態への遷移
  */
 #ifdef TOPPERS_wobjwai
@@ -210,6 +179,5 @@
 
 /*
- *  å¾
-ã¡ã­ã¥ã¼ã®åæå
+ *  待ちキューの初期化
  */
 #ifdef TOPPERS_iniwque
Index: asp3_gr_sakura/trunk/kernel/wait.h
===================================================================
--- asp3_gr_sakura/trunk/kernel/wait.h	(revision 317)
+++ asp3_gr_sakura/trunk/kernel/wait.h	(revision 318)
@@ -9,47 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- * 
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  上記著作権者は，以下の(1)～(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -57,7 +42,5 @@
 
 /*
- *		å¾
-ã¡ç¶æ
-ç®¡çã¢ã¸ã¥ã¼ã«
+ *		待ち状態管理モジュール
  */
 
@@ -71,15 +54,8 @@
 
 /*
- *  ã¿ã¹ã¯ã®åªå
-åº¦é ã®å¾
-ã¡ã­ã¥ã¼ã¸ã®æ¿å
-¥
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãï¼ã¿ã¹ã¯åªå
-åº¦é ã®ã­ã¥ã¼p_queueã«æ¿å
-¥ããï¼
- *  ã­ã¥ã¼ã®ä¸­ã«åãåªå
-åº¦ã®ã¿ã¹ã¯ãããå ´åã«ã¯ï¼ãã®æå¾ã«æ¿å
-¥ããï¼
+ *  タスクの優先度順の待ちキューへの挿入
+ *
+ *  p_tcbで指定されるタスクを，タスク優先度順のキューp_queueに挿入する．
+ *  キューの中に同じ優先度のタスクがある場合には，その最後に挿入する．
  */
 Inline void
@@ -99,14 +75,9 @@
 
 /*
- *  å¾
-ã¡ç¶æ
-ã¸ã®é·ç§»
- *
- *  å®è¡ä¸­ã®ã¿ã¹ã¯ãå¾
-ã¡ç¶æ
-ã«é·ç§»ãããï¼å
-·ä½çã«ã¯ï¼å®è¡ä¸­ã®ã¿ã¹ã¯ã
- *  ã¬ãã£ã­ã¥ã¼ããåé¤ãï¼TCBã®p_winfoãã£ã¼ã«ãï¼WINFOã®p_tmevtbãã£ã¼
- *  ã«ããè¨­å®ããï¼
+ *  待ち状態への遷移
+ *
+ *  実行中のタスクを待ち状態に遷移させる．具体的には，実行中のタスクを
+ *  レディキューから削除し，TCBのp_winfoフィールド，WINFOのp_tmevtbフィー
+ *  ルドを設定する．
  */
 Inline void
@@ -119,30 +90,19 @@
 
 /*
- *  å¾
-ã¡ç¶æ
-ã¸ã®é·ç§»ï¼ã¿ã¤ã ã¢ã¦ãæå®ï¼
- *
- *  å®è¡ä¸­ã®ã¿ã¹ã¯ãï¼ã¿ã¤ã ã¢ã¦ãæå®ä»ãã§å¾
-ã¡ç¶æ
-ã«é·ç§»ãããï¼å
-·ä½
- *  çã«ã¯ï¼å®è¡ä¸­ã®ã¿ã¹ã¯ãã¬ãã£ã­ã¥ã¼ããåé¤ãï¼TCBã®p_winfoãã£ã¼
- *  ã«ãï¼WINFOã®p_tmevtbãã£ã¼ã«ããè¨­å®ããï¼ã¾ãï¼ã¿ã¤ã ã¤ãã³ãã
- *  ã­ãã¯ãç»é²ããï¼
+ *  待ち状態への遷移（タイムアウト指定）
+ *
+ *  実行中のタスクを，タイムアウト指定付きで待ち状態に遷移させる．具体
+ *  的には，実行中のタスクをレディキューから削除し，TCBのp_winfoフィー
+ *  ルド，WINFOのp_tmevtbフィールドを設定する．また，タイムイベントブ
+ *  ロックを登録する．
  */
 extern void	make_wait_tmout(WINFO *p_winfo, TMEVTB *p_tmevtb, TMO tmout);
 
 /*
- *  å¾
-ã¡è§£é¤ã®ããã®ã¿ã¹ã¯ç¶æ
-ã®æ´æ°
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãï¼å¾
-ã¡è§£é¤ããããã¿ã¹ã¯ç¶æ
-ãæ´æ°ããï¼
- *  å¾
-ã¡è§£é¤ããã¿ã¹ã¯ãå®è¡ã§ããç¶æ
-ã«ãªãå ´åã¯ï¼ã¬ãã£ã­ã¥ã¼ã«ã¤ãª
- *  ãï¼
+ *  待ち解除のためのタスク状態の更新
+ *
+ *  p_tcbで指定されるタスクを，待ち解除するようタスク状態を更新する．
+ *  待ち解除するタスクが実行できる状態になる場合は，レディキューにつな
+ *  ぐ．
  */
 Inline void
@@ -153,8 +113,5 @@
 	if (!TSTAT_SUSPENDED(p_tcb->tstat)) {
 		/*
-		 *  å¾
-ã¡ç¶æ
-ããå®è¡ã§ããç¶æ
-ã¸ã®é·ç§»
+		 *  待ち状態から実行できる状態への遷移
 		 */
 		p_tcb->tstat = TS_RUNNABLE;
@@ -164,9 +121,5 @@
 	else {
 		/*
-		 *  äºéå¾
-ã¡ç¶æ
-ããå¼·å¶å¾
-ã¡ç¶æ
-ã¸ã®é·ç§»
+		 *  二重待ち状態から強制待ち状態への遷移
 		 */
 		p_tcb->tstat = TS_SUSPENDED;
@@ -176,11 +129,8 @@
 
 /*
- *  ãªãã¸ã§ã¯ãå¾
-ã¡ã­ã¥ã¼ããã®åé¤
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼ã«ã¤
- *  ãªããã¦ããã°ï¼å¾
-ã¡ã­ã¥ã¼ããåé¤ããï¼
+ *  オブジェクト待ちキューからの削除
+ *
+ *  p_tcbで指定されるタスクが，同期・通信オブジェクトの待ちキューにつ
+ *  ながれていれば，待ちキューから削除する．
  */
 Inline void
@@ -193,10 +143,8 @@
 
 /*
- *  æéå¾
-ã¡ã®ããã®ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ç»é²è§£é¤
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã«å¯¾ãã¦ï¼æéå¾
-ã¡ã®ããã®ã¿ã¤ã ã¤ãã³ãã
- *  ã­ãã¯ãç»é²ããã¦ããã°ï¼ãããç»é²è§£é¤ããï¼
+ *  時間待ちのためのタイムイベントブロックの登録解除
+ *
+ *  p_tcbで指定されるタスクに対して，時間待ちのためのタイムイベントブ
+ *  ロックが登録されていれば，それを登録解除する．
  */
 Inline void
@@ -209,38 +157,25 @@
 
 /*
- *  å¾
-ã¡è§£é¤
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ã®å¾
-ã¡ç¶æ
-ãè§£é¤ããï¼å
-·ä½çã«ã¯ï¼ã¿ã¤ã ã¤
- *  ãã³ããã­ãã¯ãç»é²ããã¦ããã°ï¼ãããç»é²è§£é¤ããï¼ã¾ãï¼ã¿ã¹ã¯
- *  ç¶æ
-ãæ´æ°ãï¼å¾
-ã¡è§£é¤ããã¿ã¹ã¯ããã®è¿å¤ãE_OKã¨ããï¼å¾
-ã¡ã­ã¥ã¼
- *  ããã®åé¤ã¯è¡ããªãï¼
+ *  待ち解除
+ *
+ *  p_tcbで指定されるタスクの待ち状態を解除する．具体的には，タイムイ
+ *  ベントブロックが登録されていれば，それを登録解除する．また，タスク
+ *  状態を更新し，待ち解除したタスクからの返値をE_OKとする．待ちキュー
+ *  からの削除は行わない．
  */
 extern void	wait_complete(TCB *p_tcb);
 
 /*
- *  ã¿ã¤ã ã¢ã¦ãã«ä¼´ãå¾
-ã¡è§£é¤
- *
- *  p_tcbã§æå®ãããã¿ã¹ã¯ãï¼å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªããã¦ããã°å¾
-ã¡ã­ã¥ã¼
- *  ããåé¤ãï¼ã¿ã¹ã¯ç¶æ
-ãæ´æ°ããï¼ã¾ãï¼å¾
-ã¡è§£é¤ããã¿ã¹ã¯ããã®è¿
- *  å¤ãï¼wait_tmoutã§ã¯E_TMOUTï¼wait_tmout_okã§ã¯E_OKã¨ããï¼
- *
- *  wait_tmout_okã¯ï¼dly_tskã§ä½¿ãããã®ãã®ã§ï¼å¾
-ã¡ã­ã¥ã¼ããåé¤ãã
- *  å¦çãè¡ããªãï¼
- *
- *  ãããã®é¢æ°ãï¼ã¿ã¤ã ã¤ãã³ãã®ã³ã¼ã«ããã¯é¢æ°ã¨ãã¦ç¨ããããã®
- *  ãã®ã§ï¼å²è¾¼ã¿ãã³ãã©ããå¼ã³åºããããã¨ãæ³å®ãã¦ããï¼
+ *  タイムアウトに伴う待ち解除
+ *
+ *  p_tcbで指定されるタスクが，待ちキューにつながれていれば待ちキュー
+ *  から削除し，タスク状態を更新する．また，待ち解除したタスクからの返
+ *  値を，wait_tmoutではE_TMOUT，wait_tmout_okではE_OKとする．
+ *
+ *  wait_tmout_okは，dly_tskで使うためのもので，待ちキューから削除する
+ *  処理を行わない．
+ *
+ *  いずれの関数も，タイムイベントのコールバック関数として用いるための
+ *  もので，割込みハンドラから呼び出されることを想定している．
  */
 extern void	wait_tmout(TCB *p_tcb);
@@ -248,13 +183,8 @@
 
 /*
- *  å¾
-ã¡ã­ã¥ã¼ã®å
-é ­ã®ã¿ã¹ã¯ID
- *
- *  p_wait_queueã§æå®ããå¾
-ã¡ã­ã¥ã¼ã®å
-é ­ã®ã¿ã¹ã¯IDãè¿ãï¼å¾
-ã¡ã­ã¥ã¼
- *  ãç©ºã®å ´åã«ã¯ï¼TSK_NONEãè¿ãï¼
+ *  待ちキューの先頭のタスクID
+ *
+ *  p_wait_queueで指定した待ちキューの先頭のタスクIDを返す．待ちキュー
+ *  が空の場合には，TSK_NONEを返す．
  */
 Inline ID
@@ -270,76 +200,49 @@
 
 /*
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨åæä½ã«ã¼ãã³
- *
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã¨ç®¡çãã­ãã¯ã®å
-é ­é¨åã¯å
-±
- *  éã«ãªã£ã¦ããï¼ä»¥ä¸ã¯ï¼ãã®å
-±éé¨åãæ±ãããã®åããã³ã«ã¼ãã³ç¾¤
- *  ã§ããï¼
- *
- *  è¤æ°ã®å¾
-ã¡ã­ã¥ã¼ãæã¤åæã»éä¿¡ãªãã¸ã§ã¯ãã®å ´åï¼å
-é ­ä»¥å¤ã®å¾
-ã¡
- *  ã­ã¥ã¼ãæä½ããå ´åã«ã¯ï¼ãããã®ã«ã¼ãã³ã¯ä½¿ããªãï¼ã¾ãï¼ãªãã¸ã§
- *  ã¯ãå±æ§ã®TA_TPRIããããåç
-§ããã®ã§ï¼ãã®ããããä»ã®ç®çã«ä½¿ã£ã¦
- *  ããå ´åãï¼ãããã®ã«ã¼ãã³ã¯ä½¿ããªãï¼
- */
-
-/*
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®åæåãã­ãã¯ã®å
-±éé¨å
+ *  同期・通信オブジェクトの管理ブロックの共通部分操作ルーチン
+ *
+ *  同期・通信オブジェクトの初期化ブロックと管理ブロックの先頭部分は共
+ *  通になっている．以下は，その共通部分を扱うための型およびルーチン群
+ *  である．
+ *
+ *  複数の待ちキューを持つ同期・通信オブジェクトの場合，先頭以外の待ち
+ *  キューを操作する場合には，これらのルーチンは使えない．また，オブジェ
+ *  クト属性のTA_TPRIビットを参照するので，このビットを他の目的に使って
+ *  いる場合も，これらのルーチンは使えない．
+ */
+
+/*
+ *  同期・通信オブジェクトの初期化ブロックの共通部分
  */
 typedef struct wait_object_initialization_block {
-	ATR			wobjatr;		/* ãªãã¸ã§ã¯ãå±æ§ */
+	ATR			wobjatr;		/* オブジェクト属性 */
 } WOBJINIB;
 
 /*
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ã®å
-±éé¨å
+ *  同期・通信オブジェクトの管理ブロックの共通部分
  */
 typedef struct wait_object_control_block {
-	QUEUE		wait_queue;		/* å¾
-ã¡ã­ã¥ã¼ */
-	const WOBJINIB *p_wobjinib;	/* åæåãã­ãã¯ã¸ã®ãã¤ã³ã¿ */
+	QUEUE		wait_queue;		/* 待ちキュー */
+	const WOBJINIB *p_wobjinib;	/* 初期化ブロックへのポインタ */
 } WOBJCB;
 
 /*
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡æ
-å ±ãã­ãã¯ã®å
-±éé¨å
- *
- *  ãã®æ§é ä½ã¯ï¼å¾
-ã¡æ
-å ±ãã­ãã¯ï¼WINFOï¼ãæ¡å¼µï¼ãªãã¸ã§ã¯ãæåè¨
- *  èªã®ç¶æ¿ã«ç¸å½ï¼ãããã®ã§ãããï¼WINFOãå
-±ç¨ä½ã§å®ç¾©ããã¦ããã
- *  ãã«ï¼1ã¤ã®ãã£ã¼ã«ãã¨ãã¦å«ãã¦ããï¼
+ *  同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *
+ *  この構造体は，待ち情報ブロック（WINFO）を拡張（オブジェクト指向言
+ *  語の継承に相当）したものであるが，WINFOが共用体で定義されているた
+ *  めに，1つのフィールドとして含めている．
  */
 typedef struct wait_object_waiting_information {
-	WINFO	winfo;			/* æ¨æºã®å¾
-ã¡æ
-å ±ãã­ãã¯ */
-	WOBJCB	*p_wobjcb;		/* å¾
-ã¡ãªãã¸ã§ã¯ãã®ç®¡çãã­ãã¯ */
+	WINFO	winfo;			/* 標準の待ち情報ブロック */
+	WOBJCB	*p_wobjcb;		/* 待ちオブジェクトの管理ブロック */
 } WINFO_WOBJ;
 
 /*
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
-ã¡ç¶æ
-ã¸ã®é·ç§»
+ *  同期・通信オブジェクトに対する待ち状態への遷移
  *  
- *  å®è¡ä¸­ã®ã¿ã¹ã¯ãå¾
-ã¡ç¶æ
-ã«é·ç§»ããï¼åæã»éä¿¡ãªãã¸ã§ã¯ãã®å¾
-ã¡ã­ã¥ã¼
- *  ã«ã¤ãªãï¼ã¾ãï¼å¾
-ã¡æ
-å ±ãã­ãã¯ï¼WINFOï¼ã®p_wobjcbãè¨­å®ããï¼
- *  wobj_make_wait_tmoutã¯ï¼ã¿ã¤ã ã¤ãã³ããã­ãã¯ã®ç»é²ãè¡ãï¼
+ *  実行中のタスクを待ち状態に遷移させ，同期・通信オブジェクトの待ちキュー
+ *  につなぐ．また，待ち情報ブロック（WINFO）のp_wobjcbを設定する．
+ *  wobj_make_wait_tmoutは，タイムイベントブロックの登録も行う．
  */
 extern void	wobj_make_wait(WOBJCB *p_wobjcb, WINFO_WOBJ *p_winfo);
@@ -348,13 +251,8 @@
 
 /*
- *  ã¿ã¹ã¯åªå
-åº¦å¤æ´æã®å¦ç
- *
- *  åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾
-ã¡ç¶æ
-ã«ããã¿ã¹ã¯ã®åªå
-åº¦ãå¤æ´ã
- *  ããå ´åã«ï¼å¾
-ã¡ã­ã¥ã¼ã®ä¸­ã§ã®ã¿ã¹ã¯ã®ä½ç½®ãä¿®æ­£ããï¼
+ *  タスク優先度変更時の処理
+ *
+ *  同期・通信オブジェクトに対する待ち状態にあるタスクの優先度が変更さ
+ *  れた場合に，待ちキューの中でのタスクの位置を修正する．
  */
 Inline void
@@ -368,12 +266,8 @@
 
 /*
- *  å¾
-ã¡ã­ã¥ã¼ã®åæå
- *
- *  å¾
-ã¡ã­ã¥ã¼ã«ã¤ãªããã¦ããã¿ã¹ã¯ããã¹ã¦å¾
-ã¡è§£é¤ããï¼å¾
-ã¡è§£é¤ãã
- *  ã¿ã¹ã¯ããã®è¿å¤ã¯ï¼E_DLTã¨ããï¼
+ *  待ちキューの初期化
+ *
+ *  待ちキューにつながれているタスクをすべて待ち解除する．待ち解除した
+ *  タスクからの返値は，E_DLTとする．
  */
 extern void	init_wait_queue(QUEUE *p_wait_queue);
