¤³¤Î¾Ï¤ÎÌܼ¡¤Ë¤â¤É¤ë
Á°ÊÇ:Âè1¾Ï ¼þÊճˤˤâ¤É¤ë
¼¡ÊÇ:1.2 ¥á¥Ã¥»¡¼¥¸´ÉÍý¤Ë¤¹¤¹¤à


1.1 ¥×¥í¥»¥¹ / ¥¿¥¹¥¯´ÉÍý

¥×¥í¥»¥¹ / ¥¿¥¹¥¯´ÉÍýµ¡Ç½¤Ç¤Ï¡¢ ¥·¥ó¥°¥ë¥æ¡¼¥¶ / ¥Þ¥ë¥Á¥×¥í¥»¥¹¤Î¥·¥¹¥Æ¥à¤ò¼Â¸½¤¹¤ë¤¿¤á¤ËɬÍפʳƼï¤Îµ¡Ç½¤òÄ󶡤·¤Æ¤¤¤ë¡£

1.1.1 ¥×¥í¥»¥¹ / ¥¿¥¹¥¯

¥×¥í¥»¥¹¤È¤Ï¥×¥í¥°¥é¥à¤ò OS ¤¬´ÉÍý¤¹¤ëñ°Ì¤Ç¤¢¤ê¡¢ 1 ¤Ä¤Î¥Þ¥·¥ó¾å¤ËÊ£¿ô¤Î¥×¥í¥»¥¹¤¬Â¸ºß¤¹¤ë¡£

¥¿¥¹¥¯¤È¤Ï¥×¥í¥°¥é¥à¤Î¼Â¹Ôñ°Ì¤Ç¤¢¤ê¡¢ 1 ¤Ä¤Î¥×¥í¥»¥¹¤Ë¤Ï 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥¿¥¹¥¯¤¬Â¸ºß¤·¡¢ Í¥ÀèÅٽ礪¤è¤Ó»þʬ³ä¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ë¤è¤êƱ»þ¤Ë¼Â¹Ô¤µ¤ì¤ë¡£

1 ¤Ä¤Î¥×¥í¥»¥¹¤Ï´ðËÜŪ¤Ë²¼¿Þ¤Ë¼¨¤¹¤è¤¦¤ÊÆÈΩ¤·¤¿¥¢¥É¥ì¥¹¶õ´Ö¤ò»ý¤Ä¡£

¥×¥í¥»¥¹¤Î´ðËÜ¥á¥â¥ê¥â¥Ç¥ë
¿Þ 1 : ¥×¥í¥»¥¹¤Î´ðËÜ¥á¥â¥ê¥â¥Ç¥ë
¥×¥í¥»¥¹¤Ï¡¢ÂоݤȤʤë¼Â¹Ô¥×¥í¥°¥é¥à¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤ÆÀ¸À®¤µ¤ì¡¢ À¸À®»þ¤Ë³ä¤êÉÕ¤±¤é¤ì¤ë¥×¥í¥»¥¹ ID ¤Ë¤è¤ê¼±Ê̤µ¤ì¤ë¡£ ¥×¥í¥»¥¹ ID ¤Ï¡¢Àµ¤ÎÀ°¿ôÃͤǤ¢¤ê¡¢ ¤½¤Î³ä¤êÉÕ¤±ÊýË¡¤Ï¼ã¤¤Èֹ椫¤é½çÈ֤˳ä¤êÉÕ¤±¤é¤ì¤ë¡£

¥×¥í¥»¥¹¤¬À¸À®¤µ¤ì¤ë¤È¡¢ ¥á¥¤¥ó¥¿¥¹¥¯¤¬¼Â¹Ô¤ò³«»Ï¤¹¤ë¡£ ¥á¥¤¥ó¥¿¥¹¥¯¤Ë¤è¤Ã¤Æ¥µ¥Ö¥¿¥¹¥¯¤òµ¯Æ°¤¹¤ë¤³¤È¤Ç¡¢ 1 ¤Ä¤Î¥×¥í¥»¥¹Æâ¤ËÊ£¿ô¤Î¥¿¥¹¥¯¤¬Â¸ºß¤¹¤ë¾õÂ֤ˤʤ롣 ¤Ä¤Þ¤ê¡¢¥×¥í¥»¥¹¤Ë¤Ï 1 ¤Ä¤Î¥á¥¤¥ó¥¿¥¹¥¯¤È 0 ¸Ä°Ê¾å¤Î¥µ¥Ö¥¿¥¹¥¯¤¬Æ±»þ¤Ë¸ºß¤¹¤ë¡£

¥á¥¤¥ó¥¿¥¹¥¯¤È¥µ¥Ö¥¿¥¹¥¯¤òÁí¾Î¤·¤Æ¥¿¥¹¥¯¤È¸Æ¤Ö¡£ ¥¿¥¹¥¯¤Ï¥¿¥¹¥¯ID¤Ë¤è¤ê¼±Ê̤µ¤ì¤ë¡£ ¥¿¥¹¥¯ID¤ÏÀµ¤ÎÀ°¿ô¤È¤Ê¤ë¡£

¥·¥¹¥Æ¥à¤ÎΩ¾å¤²»þ¤Ë¡¢¤Þ¤º½é´ü¥×¥í¥»¥¹¤¬À¸À®¤µ¤ì¡¢ ½é´ü¥×¥í¥»¥¹¤¬½ç¼¡É¬Í×¤Ê¥×¥í¥»¥¹¤òÀ¸À®¤·¤Æ¤¤¤¯¤³¤È¤Ë¤Ê¤ë¡£ ¼«Ê¬¤¬À¸À®¤·¤¿¥×¥í¥»¥¹¤ò»Ò¥×¥í¥»¥¹¤È¸Æ¤Ó¡¢ ¼«Ê¬¤òÀ¸À®¤·¤Æ¤¯¤ì¤¿¥×¥í¥»¥¹¤ò¿Æ¥×¥í¥»¥¹¤È¸Æ¤Ö ( ½é´ü¥×¥í¥»¥¹¤Î¿Æ¥×¥í¥»¥¹¤Ï¸ºß¤·¤Ê¤¤ )¡£ ½¾¤Ã¤Æ¡¢¥·¥¹¥Æ¥àÁ´ÂΤȤ·¤Æ¤Ï¡¢ ½é´ü¥×¥í¥»¥¹¤ò¥ë¡¼¥È¤È¤¹¤ëÌÚ¹½Â¤¤Î¥×¥í¥»¥¹¹½Â¤¤ò¤È¤ë¡£

¤¢¤ë¥×¥í¥»¥¹¤¬½ªÎ»¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ ¤½¤Î»Ò¥×¥í¥»¥¹¤Î¿Æ¥×¥í¥»¥¹¤Ï½ªÎ»¤·¤¿¥×¥í¥»¥¹¤Î¿Æ¥×¥í¥»¥¹¤ËÆþ¤ì´¹¤ê¡¢ Á´ÂΤȤ·¤ÆÌÚ¹½Â¤¤ÏÊݤ¿¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤¬¡¢ Î㳰Ū¤Ë½é´ü¥×¥í¥»¥¹¤¬½ªÎ»¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ ¤½¤Î»Ò¥×¥í¥»¥¹¤Î¿Æ¥×¥í¥»¥¹¤Ï¸ºß¤·¤Ê¤¤¾õÂ֤Ȥʤ롣

1.1.2 ¥×¥í¥»¥¹ / ¥¿¥¹¥¯¤Î¾õÂÖ

¥×¥í¥»¥¹¤Î¾õÂ֤Ȥ·¤Æ°Ê²¼¤Î 4 ¤Ä¤Î´ðËܾõÂÖ¤¬ÄêµÁ¤µ¤ì¤ë¡£
¥×¥í¥»¥¹¤Î¾õÂ֤ϡ¢¥á¥¤¥ó¥¿¥¹¥¯¤Î¾õÂ֤Ǥ¢¤ë¡£

̤À¸À®¾õÂÖ (Non-Existent) -- ¥×¥í¥»¥¹¤ÏÀ¸À®¤µ¤ì¤Æ¤¤¤Ê¤¤¾õÂÖ
¼Â¹Ô²Äǽ¾õÂÖ (Ready) -- ¼Â¹Ô²Äǽ¤Ç¥Ç¥£¥¹¥Ñ¥Ã¥ÁÂÔ¤Á¾õÂÖ
¼Â¹Ô¾õÂÖ (Run) -- ¼Â¹ÔÃæ¾õÂÖ
ÂÔ¤Á¾õÂÖ (Wait) -- ¥á¥Ã¥»¡¼¥¸¡¢»þ´Ö¡¢Æþ½ÐÎÏÅù¤ÎÂÔ¤Á¾õÂÖ

¥×¥í¥»¥¹¤Î³Æ¾õÂ֤ϳƼï¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ä¡¢ ¥¹¥±¥¸¥å¡¼¥ê¥ó¥° ( ¥Ç¥£¥¹¥Ñ¥Ã¥Á¡¢¥×¥ê¥¨¥ó¥×¥È ) ¤Ë¤è¤ê°Ê²¼¤Î¤è¤¦¤ËÁ«°Ü¤¹¤ë¡£

¥×¥í¥»¥¹/¥¿¥¹¥¯¤Î´ðËܾõÂÖÁ«°Ü
¿Þ 2 : ¥×¥í¥»¥¹/¥¿¥¹¥¯¤Î´ðËܾõÂÖÁ«°Ü
¥×¥í¥»¥¹¤Î¾õÂ֤ϡ¢°Ê²¼¤Ë¼¨¤¹¥Ç¡¼¥¿¤È¤·¤Æ¼è¤ê½Ð¤¹¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£

typedef struct {
    UW  state;      /* ¥×¥í¥»¥¹¾õÂÖ */
    W   priority;   /* ¸½ºß¤Î¥×¥í¥»¥¹Í¥ÀèÅÙ( 0 ¡Á 255 ) */
    W   parpid;     /* ¿Æ¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID  */
} P_STATE;

¥×¥í¥»¥¹¤Î¾õÂÖ ( state ) ¤Ï°Ê²¼¤ÎÆâÍÆ¤Ç¤¢¤ê¡¢ ¤½¤ì¤¾¤ì "1" ¤Ç¤½¤Î¾õÂ֤ˤ¢¤ë¤³¤È¤ò¼¨¤¹¡£

¥×¥í¥»¥¹¤Î¾õÂ֥¥É
¿Þ 3 : ¥×¥í¥»¥¹¤Î¾õÂ֥¥É
¥µ¥Ö¥¿¥¹¥¯¤âƱÅù¤Î¾õÂÖ¤ò»ý¤Á¡¢Æ±ÍͤξõÂÖÁ«°Ü¤¬¹Ô¤ï¤ì¤ë¡£

¥×¥í¥»¥¹¤Î½ªÎ»¤Ë¤è¤ê¡¢¤¹¤Ù¤Æ¤Î¥¿¥¹¥¯¤¬½ªÎ»¤¹¤ë¡£ ¤Þ¤¿¡¢¥á¥¤¥ó¥¿¥¹¥¯¤Î½ªÎ»¤Ë¤è¤ê¡¢¤¹¤Ù¤Æ¤Î¥µ¥Ö¥¿¥¹¥¯¤¬¶¯À©½ªÎ»¤µ¤ì¡¢ ¥×¥í¥»¥¹¤Î½ªÎ»¤È¤Ê¤ë¡£¥µ¥Ö¥¿¥¹¥¯¤Î½ªÎ»¤Ï¡¢¥×¥í¥»¥¹¤Î½ªÎ»¤Ë¤Ï¤Ê¤é¤Ê¤¤¡£

1.1.3 ¥×¥í¥»¥¹ / ¥¿¥¹¥¯¤ÎÍ¥ÀèÅ٤ȥ¹¥±¥¸¥å¡¼¥ê¥ó¥°

¥×¥í¥»¥¹¤Ë¤Ï¡¢À¸À®»þ¤Ë 0 ¡Á 255 ( 0 ¤¬ºÇ¹âÍ¥ÀèÅÙ ) ¤ÎÍ¥ÀèÅÙ¤¬Í¿¤¨¤é¤ì¤ë¡£ ¤³¤ÎÍ¥ÀèÅ٤ϥᥤ¥ó¥¿¥¹¥¯¤ÎÍ¥ÀèÅ٤Ȥʤ롣 ¥×¥í¥»¥¹Í¥ÀèÅ٤ȸÀ¤Ã¤¿¾ì¹ç¡¢¤½¤ì¤Ï¥á¥¤¥ó¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ¤ÈÅù²Á¤Ç¤¢¤ë¡£ ³Æ¥×¥í¥»¥¹¤Ï¤½¤ÎÍ¥ÀèÅ٤ˤè¤ê¡¢²¼µ­¤Î3¤Ä¤Î¥°¥ë¡¼¥×¤ËʬÎव¤ì¤ë¡£

¤Þ¤¿¡¢¥µ¥Ö¥¿¥¹¥¯¤Ë¤â¥¿¥¹¥¯À¸À®»þ¤ËÍ¥ÀèÅÙ¤¬Í¿¤¨¤é¤ì¤ë¡£

³Æ¥¿¥¹¥¯¤Ï¡¢¤½¤ÎÍ¥ÀèÅ٤˽¾¤Ã¤Æ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤¬¹Ô¤Ê¤ï¤ì¤ë¡£

A. ÀäÂÐÍ¥ÀèÅÙ¥°¥ë¡¼¥× (Í¥ÀèÅÙ: 0¡Á127)

¸·Ì©¤ËÍ¥ÀèÅÙ½ç¤Ë¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì(0¤¬ºÇ¹âÍ¥ÀèÅÙ)¡¢ Ʊ°ìÍ¥ÀèÅ٤ξì¹ç¤Ï¡¢ ¥é¥¦¥ó¥É¥í¥Ó¥óÊý¼°¤ÇÊ¿Åù¤Ë¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤µ¤ì¤ë¡£

B. ¥é¥¦¥ó¥É¥í¥Ó¥ó¥°¥ë¡¼¥×1 (Í¥ÀèÅÙ: 128¡Á191)

¤³¤Î¥°¥ë¡¼¥×ÆâÁ´ÂΤǥ饦¥ó¥É¥í¥Ó¥ó¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤¬¹Ô¤Ê¤ï¤ì¡¢ Í¥ÀèÅÙ¤ÏÁêÂÐŪ¤Ê¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤ÎÉÑÅÙ¤ò¼¨¤¹ (128¤¬ºÇ¹âÍ¥ÀèÅÙ) ¡£
½¾¤Ã¤Æ¡¢Í¥ÀèÅÙ¤¬Ä㤤¥¿¥¹¥¯¤Ç¤âɬ¤º¼Â¹Ô¤µ¤ì¤ë¤³¤È¤¬Êݾڤµ¤ì¤ë¡£

C. ¥é¥¦¥ó¥É¥í¥Ó¥ó¥°¥ë¡¼¥×2 (Í¥ÀèÅÙ: 192¡Á255)

¤³¤Î¥°¥ë¡¼¥×ÆâÁ´ÂΤǥ饦¥ó¥É¥í¥Ó¥ó¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤¬¹Ô¤Ê¤ï¤ì¡¢ Í¥ÀèÅÙ¤ÏÁêÂÐŪ¤Ê¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤ÎÉÑÅÙ¤ò¼¨¤¹ (192¤¬ºÇ¹âÍ¥ÀèÅÙ)¡£
½¾¤Ã¤Æ¡¢Í¥ÀèÅÙ¤¬Ä㤤¥¿¥¹¥¯¤Ç¤âɬ¤º¼Â¹Ô¤µ¤ì¤ë¤³¤È¤¬Êݾڤµ¤ì¤ë¡£

¼ÂºÝ¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ï¡¢Á´ÂΤȤ·¤Æ°Ê²¼¤Î¤è¤¦¤Ë¹Ô¤Ê¤ï¤ì¤ë¡£

  1. ÀäÂÐÍ¥ÀèÅÙ¥°¥ë¡¼¥×¤Ë°¤¹¤ë¼Â¹Ô²Äǽ¾õÂ֤Υ¿¥¹¥¯¤¬¤¢¤ì¤Ð¡¢ ¤½¤ÎÃæ¤ÎºÇ¹âÍ¥ÀèÅ٤Υ¿¥¹¥¯¤ò¼Â¹Ô¾õÂ֤Ȥ·¡¢ ¼Â¹Ô¤¹¤ë¡£¤Ê¤±¤ì¤Ð¡¢2. ¤Ø¿Ê¤à¡£

  2. ¥é¥¦¥ó¥É¥í¥Ó¥ó¥°¥ë¡¼¥× 1 ¤Ë°¤¹¤ë¼Â¹Ô²Äǽ¾õÂ֤Υ¿¥¹¥¯¤¬¤¢¤ì¤Ð¡¢ ¤½¤ÎÃæ¤ÎÁêÂÐÍ¥ÀèÅ٤˽¾¤Ã¤Æ¡¢ ÁªÂò¤µ¤ì¤¿¥¿¥¹¥¯¤ò¼Â¹Ô¾õÂ֤Ȥ·¡¢ ¼Â¹Ô¤¹¤ë(ºÇ¹âÍ¥ÀèÅ٤Ȥϸ¤é¤Ê¤¤)¡£ ¤Ê¤±¤ì¤Ð¡¢2. ¤Ø¿Ê¤à¡£

  3. ¥é¥¦¥ó¥É¥í¥Ó¥ó¥°¥ë¡¼¥× 2 ¤Ë°¤¹¤ë¼Â¹Ô²Äǽ¾õÂ֤Υ¿¥¹¥¯¤¬¤¢¤ì¤Ð¡¢ ¤½¤ÎÃæ¤ÎÁêÂÐÍ¥ÀèÅ٤˽¾¤Ã¤Æ¡¢ÁªÂò¤µ¤ì¤¿¥¿¥¹¥¯¤ò¼Â¹Ô¾õÂ֤Ȥ·¡¢ ¼Â¹Ô¤¹¤ë(ºÇ¹âÍ¥ÀèÅ٤Ȥϸ¤é¤Ê¤¤)¡£ ¤Ê¤±¤ì¤Ð¡¢¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤ò»Ï¤á¤«¤é¤ä¤êľ¤¹¡£

Ä̾ÀäÂÐÍ¥ÀèÅÙ¥°¥ë¡¼¥×¤Ï¡¢¥·¥¹¥Æ¥à¥×¥í¥»¥¹¤ä¥ê¥¢¥ë¥¿¥¤¥à¥×¥í¥»¥¹¤Ë»ÈÍѤµ¤ì¡¢ °ìÈ̤Υ¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥»¥¹¤Ï¥é¥¦¥ó¥É¥í¥Ó¥ó¥°¥ë¡¼¥× 1¡¢¤Þ¤¿¤Ï 2 ¤ò»ÈÍѤ¹¤ë¡£

°ìÅÙÀ¸À®¤µ¤ì¤¿¥×¥í¥»¥¹ / ¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ¤ÎÊѹ¹¤Ï¡¢ Ʊ°ì¥°¥ë¡¼¥×Æâ¤Ç¤Î¤ß²Äǽ¤Ç¤¢¤ê¡¢ ¥°¥ë¡¼¥×¤¬°Û¤Ê¤ëÍ¥ÀèÅ٤ؤÎÊѹ¹¤Ï¤Ç¤­¤Ê¤¤¡£

1.1.4 ¥×¥í¥»¥¹¤Î¼Â¹Ô´Ä¶­

¥×¥í¥»¥¹¤Ë¤Ï¡¢¤½¤Î¼Â¹Ô´Ä¶­¤È¤·¤Æ°Ê²¼¤Î¤è¤¦¤Ê¾ðÊó¤¬ÊÝ»ý¤µ¤ì¤Æ¤¤¤ë¡£

¥×¥í¥»¥¹¤òÀ¸À®¤·¤¿¾ì¹ç(cre_prc)¤Ï¡¢ À¸À®¤µ¤ì¤¿»Ò¥×¥í¥»¥¹¤Î¼Â¹Ô´Ä¶­¤Ï°Ê²¼¤Î¤è¤¦¤ËÀßÄꤵ¤ì¤ë¡£

¼«Ê¬ / ¿Æ / »Ò¤Î¥×¥í¥»¥¹ ID ¼«Ê¬ / ¿Æ¤Î¥×¥í¥»¥¹ ID
¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ À¸À®»þ¤Ë»ØÄꤷ¤¿Í¥ÀèÅÙ
¥æ¡¼¥¶¾ðÊó À¸À®»þ¤Î¿Æ¥×¥í¥»¥¹¤Î¥æ¡¼¥¶¾ðÊó
¸½ºß¤Îºî¶È¥Õ¥¡¥¤¥ë À¸À®»þ¤Î¿Æ¥×¥í¥»¥¹¤Îºî¶È¥Õ¥¡¥¤¥ë
¥ª¡¼¥×¥óÃæ¤Î¥Õ¥¡¥¤¥ë ̵¤·
¥á¥Ã¥»¡¼¥¸¥­¥å¡¼ ¶õ

1.1.5 ¥æ¡¼¥¶¾ðÊó

¥æ¡¼¥¶¾ðÊó¤Ï¡¢ ¤½¤Î¥×¥í¥»¥¹¤òÀ¸À®¤·¤Æ»ÈÍѤ·¤Æ¤¤¤ë¥æ¡¼¥¶¤Ë´Ø¤¹¤ë¾ðÊó¤Ç¤¢¤ê¡¢ °Ê²¼¤Ë¼¨¤¹ÆâÍÆ¤ò»ý¤Ä¡£

¥æ¡¼¥¶Ì¾ :

¥æ¡¼¥¶¤Î̾¾Î¤Ç¤¢¤ê¡¢12 ʸ»ú¤Î̾Á°¤Î¸å¤Ë 2 ʸ»úʬ ( 32 ¥Ó¥Ã¥È ) ¤Î±£¤·Ì¾¤òÉÕ¤±¤¿¤â¤Î¤Ç¤¢¤ë¡£ 12 ʸ»ú¤è¤ê¾¯¤Ê¤¤Ì¾Á°¤Î¾ì¹ç¤Ï 0 ¤¬¥Ñ¥Ã¥É¤µ¤ì¡¢Ì¾Á°¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢14 ʸ»ú¤¬¤¹¤Ù¤Æ 0 ¤È¤Ê¤ë¡£

½ê°¥°¥ë¡¼¥×̾ ( 1 ¡Á 4 ) :

¥æ¡¼¥¶¤¬½ê°¤¹¤ë 4 ¤Ä¤Î¥°¥ë¡¼¥×¤Î̾¾Î¤Ç¤¢¤ê¡¢ ¤½¤ì¤¾¤ì 12 ʸ»ú¤Î̾Á°¤Î¸å¤Ë 2 ʸ»úʬ ( 32 ¥Ó¥Ã¥È) ¤Î±£¤·Ì¾¤òÉÕ¤±¤¿¤â¤Î¤Ç¤¢¤ë¡£ 12 ʸ»ú¤è¤ê¾¯¤Ê¤¤Ì¾Á°¤Î¾ì¹ç¤Ï 0 ¤¬¥Ñ¥Ã¥É¤µ¤ì¡¢ ̾Á°¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢14 ʸ»ú¤¬¤¹¤Ù¤Æ 0 ¤È¤Ê¤ë¡£

¥æ¡¼¥¶¥ì¥Ù¥ë :

¥æ¡¼¥¶¤ÎÆÃ¸¢¥ì¥Ù¥ë¤Ç¤¢¤ê¡¢0 ¡Á 15 ¤ÎÈϰϤÎÃͤò¼è¤ê¡¢ 0 ¤¬ºÇ¹â¥ì¥Ù¥ë¤È¤Ê¤ë¡£

¥Í¥Ã¥È¥ï¡¼¥¯¥æ¡¼¥¶¥ì¥Ù¥ë :

¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ç¾¤Î¥Þ¥·¥ó¤ò¥¢¥¯¥»¥¹¤¹¤ë¾ì¹ç¤Î¥æ¡¼¥¶¥ì¥Ù¥ë¤Ç¡¢ 1 ¡Á 15 ¤ÎÈϰϤÎÃͤò¼è¤ê¡¢ 1 ¤¬ºÇ¹â¥ì¥Ù¥ë¤Ç¤¢¤ë¡£¤³¤Î¾ì¹ç¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯¥æ¡¼¥¶¥ì¥Ù¥ë¤Î 0 ¤ÏŬÍѤµ¤ì¤Ê¤¤¡£

¥Õ¥¡¥¤¥ë¤Î¥Ç¥Õ¥©¡¼¥ë¥È¥¢¥¯¥»¥¹¥â¡¼¥É :

¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¾ì¹ç¤Î¥Ç¥Õ¥©¡¼¥ë¥È¤Î¥¢¥¯¥»¥¹¥â¡¼¥É¡£

¥æ¡¼¥¶¾ðÊó¤Ï¡¢ °Ê²¼¤Ë¼¨¤¹¹½Â¤ÂΤÇÄêµÁ¤µ¤ì¡¢ ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë¤è¤ê¼è½Ð¤· / ÀßÄ꤬²Äǽ¤Ç¤¢¤ë¡£ ¤¿¤À¤·¡¢±£¤·Ì¾¤ò¼è¤ê½Ð¤¹¤³¤È¤Ï¤Ç¤­¤º¡¢ ±£¤·Ì¾¤ÎÉôʬ¤Ë¤Ï¾ï¤Ë 0 ¤¬ÆÀ¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£

typedef struct {
    TC  usr_name[14];   /*¥æ¡¼¥¶Ì¾(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú)*/
    TC  grp_name1[14];  /*¥°¥ë¡¼¥×̾1(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú)*/
    TC  grp_name2[14];  /*¥°¥ë¡¼¥×̾2(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú)*/
    TC  grp_name3[14];  /*¥°¥ë¡¼¥×̾3(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú)*/
    TC  grp_name4[14];  /*¥°¥ë¡¼¥×̾4(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú)*/
    W   level;          /*¥æ¡¼¥¶¥ì¥Ù¥ë(0¡Á15)*/
    W   net_level;      /*¥Í¥Ã¥È¥ï¡¼¥¯¥æ¡¼¥¶¥ì¥Ù¥ë(1¡Á15)*/
} P_USER;

½é´ü¥×¥í¥»¥¹¤Î¥æ¡¼¥¶¾ðÊó¤Ï¡¢Åö½é¤Ï¥·¥¹¥Æ¥à¤ÇÄêµÁ¤µ¤ì¤¿¸ÇÄêŪ¤ÊÆâÍÆ¤ò»ý¤Ä¤¬¡¢ ¤½¤Î¸å¡¢¥æ¡¼¥¶¡¼¤¬³ÎÄꤷ¤¿»þÅÀ¤Ç¡¢¼ÂºÝ¤Î¥æ¡¼¥¶¾ðÊó¤¬ÀßÄꤵ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£

1.1.6 ¥×¥í¥»¥¹¤ÎÀ¸À®

¥×¥í¥»¥¹¤ÎÀ¸À®¤Ï¡¢ÂоݤȤ¹¤ë¥Õ¥¡¥¤¥ë¡¢¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ¡¢ ¤ª¤è¤Ó¥×¥í¥»¥¹¤ËÅϤ¹¥á¥Ã¥»¡¼¥¸¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¹Ô¤Ê¤ï¤ì¤ë¡£

»ØÄꤷ¤¿¥Õ¥¡¥¤¥ëÆâ¤ÎºÇ½é¤Î¼Â¹Ô¥×¥í¥°¥é¥à¥ì¥³¡¼¥É¤ÎÆâÍÆ¤¬À¸À®¤¹¤ë¥×¥í¥»¥¹¤Î¥×¥í¥°¥é¥à¥³¡¼¥É¤È¤Ê¤ë¡£ ¼Â¹Ô¥×¥í¥°¥é¥à¥ì¥³¡¼¥É¤Ï¡¢ÀèÆ¬¥ì¥³¡¼¥É¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

¥×¥í¥»¥¹¤ËÅϤ¹¥á¥Ã¥»¡¼¥¸¤Ï°Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç»ØÄꤵ¤ì¤ë¡£ ¤³¤ì¤Ï¥×¥í¥»¥¹´Ö¥á¥Ã¥»¡¼¥¸¤ÈƱ°ì¤Î¹½Â¤¤ò»ý¤Ä¡£

typedef struct {
    W   msg_type;       /*¥á¥Ã¥»¡¼¥¸¥¿¥¤¥×*/
    W   msg_size;       /*¥á¥Ã¥»¡¼¥¸¥µ¥¤¥º(¥Ð¥¤¥È¿ô)*/
    UB  msg_body[n];    /*¥á¥Ã¥»¡¼¥¸ËÜÂÎ(msg_size ¥Ð¥¤¥È)*/
} MESSAGE;

À¸À®¤µ¤ì¤¿¥×¥í¥»¥¹¤Ï°Ê²¼¤Ë¼¨¤¹2¤Ä¤Î¤É¤Á¤é¤«¤Î·Á¼°¤Ë¤è¤ê¡¢ ¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤ë ( ¤¿¤À¤·¡¢·Á¼°-B ¤Ï¡¢¼ÂºÝ¤Ë¤Ï¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¼Â¸½¤µ¤ì¤ë )¡£
MAIN() ¤ª¤è¤Ó main() ¤«¤é¤Î¥ê¥¿¡¼¥ó¤Ï¥×¥í¥»¥¹¤Î½ªÎ»¤È¤Ê¤ê¡¢ ext_prc() ¤Ë¤è¤ë½ªÎ»¤ÈƱÅù¤Ç¤¢¤ë¡£ ½ªÎ»¥³¡¼¥É¤Ï¡¢Àµ¾ï½ªÎ»¥á¥Ã¥»¡¼¥¸¤ËÀßÄꤵ¤ì¡¢¿Æ¥×¥í¥»¥¹¤ËÄÌÃΤµ¤ì¤ë¡£

¢¢ ·Á¼°-A

W MAIN (MESSAGE *msg)
    /*  MESSAGE *msg;      ¥á¥Ã¥»¡¼¥¸¤Ø¤Î¥Ý¥¤¥ó¥¿*/
{
    < ¥×¥í¥°¥é¥à¤Î¼Â¹Ô¥³¡¼¥É >
    return ½ªÎ»¥³¡¼¥É;
}

¢¢ ·Á¼°-B

W main (W ac, TC **argv)
     /* W     ac;         ʸ»úÎó¹àÌÜ¿ô*/
     /* TC    **argv;     ʸ»úÎó¹àÌܤΥݥ¤¥ó¥¿ÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿*/
{
    < ¥×¥í¥°¥é¥à¤Î¼Â¹Ô¥³¡¼¥É >
    return ½ªÎ»¥³¡¼¥É;
}

main()¤Ç¤Î°ú¿ô¤Î¹½Â¤
¿Þ 4 : main()¤Ç¤Î°ú¿ô¤Î¹½Â¤

1.1.7 ¥×¥í¥»¥¹ / ¥¿¥¹¥¯¤Î¼Â¹Ô

¥×¥í¥»¥¹¤ÏÊ£¿ô¤Î¥¿¥¹¥¯¤Ç¹½À®¤µ¤ì¤ë¤¿¤á¡¢ ³Æ¥¿¥¹¥¯¤¬Æ±»þʹÔŪ¤Ëưºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¥¿¥¹¥¯¤Ï¡¢¥×¥í¥°¥é¥à¤Îή¤ì¤Ë±è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë¤¬¡¢ Î㳰Ū¤Ë°Ê²¼¤Î¥Ï¥ó¥É¥é(´Ø¿ô)¤ÏÈ󯱴ü¤Ë³ä¤ê¹þ¤ó¤Ç¼Â¹Ô¤µ¤ì¤ë¡£

¥á¥Ã¥»¡¼¥¸¥Ï¥ó¥É¥é

¥á¥Ã¥»¡¼¥¸¼õ¿®¤Ë¤è¤êÈ󯱴ü¤Ë¼Â¹Ô¤µ¤ì¤ë´Ø¿ô¡£

Îã³°½èÍý¥Ï¥ó¥É¥é

¼«¥×¥í¥»¥¹Æâ¤ÎÎ㳰ȯÀ¸¤Ë¤è¤êÈ󯱴ü¤Ë¼Â¹Ô¤µ¤ì¤ë´Ø¿ô¡£

¤³¤ì¤é¤Î´Ø¿ô¤Ï¤¤¤º¤ì¤â¥×¥í¥»¥¹¤Î°ìÉô¤È¤·¤Æ¡¢ ¤½¤Î¥×¥í¥»¥¹¤Î¥á¥â¥ê¶õ´Ö¡¢¤ª¤è¤Ó´Ä¶­¤Î²¼¤Ç¼Â¹Ô¤µ¤ì¡¢ »ÈÍѲÄǽ¤Ê¥·¥¹¥Æ¥à¥³¡¼¥ëÅù¤ÎÀ©¸Â¤ÏÆÃ¤Ë¤Ê¤¤¡£ ¼Â¹Ô½ªÎ»¸å¤Ï¡¢³ä¤ê¹þ¤Þ¤ì¤¿°ÌÃÖ¤ËÌá¤ë¤«¡¢ ¤Þ¤¿¤ÏǤ°Õ¤Î°ÌÃ֤˾ÀÜ¥¸¥ã¥ó¥×¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¥á¥Ã¥»¡¼¥¸¥Ï¥ó¥É¥é¤Î¾ÜºÙ¤Ë´Ø¤·¤Æ¤Ï¡Ö1.2.3 ¥á¥Ã¥»¡¼¥¸¥Ï¥ó¥É¥é¡×¤ò¡¢ Îã³°½èÍý¥Ï¥ó¥É¥é¤Î¾ÜºÙ¤Ë´Ø¤·¤Æ¤Ï¡Ö1.10 ¥·¥¹¥Æ¥à´ÉÍýµ¡Ç½¡×¤ò»²¾È¤Î¤³¤È¡£

¤Þ¤¿¡¢¥×¥í¥»¥¹¤Ï¤½¤Î¼Â¹Ô»þ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥×¥í¥»¥¹Åý·×¾ðÊó¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

typedef struct {
    UW  etime;      /*Î߷׷вá»þ´Ö (ÉÃñ°Ì)*/
    UW  utime;      /*¥×¥í¥»¥¹¤ÇÈñ¤ä¤·¤¿Îß·×CPU»þ´Ö*/
    UW  stime;      /*¥·¥¹¥Æ¥à¤ÇÈñ¤ä¤·¤¿Îß·×CPU»þ´Ö*/
    W   tmem;       /*¼Â¹Ô¤ËɬÍפȤ¹¤ëÁ´ÂΤΥá¥â¥ê¥µ¥¤¥º*/
    W   wmem;       /*¸½ºß³ä¤êÉÕ¤±¤é¤ì¤Æ¤¤¤ë¼Â¥á¥â¥ê¥µ¥¤¥º*/
    W   resv[11];   /*ͽÌó*/
} P_INFO;

utime ¤È stime ¤Ï¡¢¥×¥í¥»¥¹¤Ë´Þ¤Þ¤ì¤ë¡¢ ¤½¤Î»þÅÀ¤Ç¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¥¿¥¹¥¯¤Î¹ç·×»þ´Ö¤È¤Ê¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤½¤ì°ÊÁ°¤Ë½ªÎ»¤·¤¿¥¿¥¹¥¯¤¬Èñ¤ä¤·¤¿»þ´Ö¤Ï´Þ¤Þ¤ì¤Ê¤¤¡£ utime ¤È stime ¤ò¹ç·×¤·¤¿¤â¤Î¤¬¡¢ ¤½¤Î¥×¥í¥»¥¹¤¬Èñ¤ä¤·¤¿ÎßÀÑ CPU »þ´Ö¤È¤Ê¤ë¡£

1.1.8 ¥Ç¡¼¥¿ / Äê¿ô¤ÎÄêµÁ

¢¢ ¥×¥í¥»¥¹¾õÂÖ

typedef struct {
    UW  state;      /* ¥×¥í¥»¥¹¾õÂÖ */
    W   priority;   /* ¸½ºß¤Î¥×¥í¥»¥¹Í¥ÀèÅÙ( 0 ¡Á 255 ) */
    W   parpid;     /* ¿Æ¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID  */
} P_STATE;

¢¢ ¥×¥í¥»¥¹¥æ¡¼¥¶¾ðÊó

typedef struct {
    TC  usr_name[14];   /* ¥æ¡¼¥¶Ì¾(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú) */
    TC  grp_name1[14];  /* ¥°¥ë¡¼¥×̾1(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú) */
    TC  grp_name2[14];  /* ¥°¥ë¡¼¥×̾2(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú) */
    TC  grp_name3[14];  /* ¥°¥ë¡¼¥×̾3(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú) */
    TC  grp_name4[14];  /* ¥°¥ë¡¼¥×̾4(12ʸ»ú¡Ü±£¤·Ì¾2ʸ»ú) */
    W   level;          /* ¥æ¡¼¥¶¥ì¥Ù¥ë(0 ¡Á 15) */
    W   net_level;      /* ¥Í¥Ã¥È¥ï¡¼¥¯¥æ¡¼¥¶¥ì¥Ù¥ë(1¡Á15) */
} P_USER;

¢¢ ¥×¥í¥»¥¹Åý·×¾ðÊó

typedef struct {
    UW  etime;      /* Î߷׷вá»þ´Ö (ÉÃñ°Ì) */
    UW  utime;      /* ¥×¥í¥»¥¹¤ÇÈñ¤·¤¿Îß·×CPU»þ´Ö */
                    /* (OSÆâ¤Ç¤Î½èÍý»þ´Ö¤Ï½ü³°¤¹¤ë) */
                    /* (¥ß¥êÉÃñ°Ì) */
    UW  stime;      /* ¥·¥¹¥Æ¥à¤ÇÈñ¤·¤¿Îß·×CPU»þ´Ö */
                    /* (¥ß¥êÉÃñ°Ì) */
    W   tmem;       /* ¼Â¹Ô¤ËɬÍפȤ¹¤ëÁ´ÂΤΥá¥â¥ê¥µ¥¤¥º */
                    /* (¥Ð¥¤¥Èñ°Ì) */
    W   wmem;       /* ¸½ºß³ä¤êÉÕ¤±¤é¤ì¤Æ¤¤¤ë¼Â¥á¥â¥ê¥µ¥¤¥º */
                    /* (¥Ð¥¤¥Èñ°Ì) */
    W   resv[11];   /* ͽÌó */
} P_INFO;

¢¢ ¥×¥í¥»¥¹Áàºî´ØÏ¢¤ÎÄê¿ô

#define TERM_NRM    0x0000      /* »ØÄê¥×¥í¥»¥¹¤Î¤ß¤Î¶¯À©½ªÎ» */
#define TERM_ALL    0x0001      /* »Ò¥×¥í¥»¥¹¤Þ¤Ç´Þ¤á¤¿¶¯À©½ªÎ» */
#define P_ABS       0x0000      /* Í¥ÀèÅÙ¤ÎÀäÂлØÄê (¡æ0) */
#define P_REL       0x0001      /* Í¥ÀèÅÙ¤ÎÁêÂлØÄê */
#define P_TASK      0x0002      /* ¥¿¥¹¥¯¤òÂоݤȤ¹¤ë */
#define P_WAIT      0x2000      /* ÂÔ¤Á¾õÂÖ */
#define P_READY     0x4000      /* ¼Â¹Ô²Äǽ¾õÂÖ */
#define P_RUN       0x8000      /* ¼Â¹Ô¾õÂÖ */

1.1.9 ¥·¥¹¥Æ¥à¥³¡¼¥ë

cre_prc
Ê
¥×¥í¥»¥¹À¸À® / ¼Â¹Ô

¡Ú·Á¼°¡Û

WERR    cre_prc(LINK* lnk, W pri, MESSAGE* msg)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

LINK*    lnk  Âоݼ¿È

W        pri  ¥×¥í¥»¥¹Í¥ÀèÅÙ
              0 ¡å pri ¡å 255  Ǥ°Õ¤ÎÍ¥ÀèÅÙ
              = -1             ¼«¥×¥í¥»¥¹¤ÈƱ¤¸Í¥ÀèÅÙ
MESSAGE* msg  ¥×¥í¥»¥¹µ¯Æ°»þ¥á¥Ã¥»¡¼¥¸

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡ä0    Àµ¾ï(À¸À®¤·¤¿¥×¥í¥»¥¹ ID)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¼Â¿ÈÆâ¤Î¼Â¹Ô¥×¥í¥°¥é¥à¥ì¥³¡¼¥É¤ò¡¢ ¿·¤·¤¤¥×¥í¥»¥¹¤È¤·¤ÆÀ¸À®¤¹¤ë¡£ Ʊ»þ¤Ë¥á¥¤¥ó¥¿¥¹¥¯¤¬À¸À®¤µ¤ì¼Â¹Ô¤ò³«»Ï¤¹¤ë¡£

¡Ö1.1.6 ¥×¥í¥»¥¹¤ÎÀ¸À®¡×¤ò»²¾È¤Î¤³¤È¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ACCES    : ¥Õ¥¡¥¤¥ë(lnk)¤Î¥¢¥¯¥»¥¹¸¢(E)¤¬¤Ê¤¤¡£
ER_ADR      : ¥¢¥É¥ì¥¹(lnk,msg)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_BUSY     : ¥Õ¥¡¥¤¥ë(lnk)¤Ï´û¤ËÇÓ¾Ū¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë°Ù¡¢
              Ʊ»þ¤Ë¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NOEXS    : ¥Õ¥¡¥¤¥ë(lnk)¤Ï¸ºß¤·¤Æ¤¤¤Ê¤¤¡£
ER_NOFS     : ¥Õ¥¡¥¤¥ë(lnk)¤Î°¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÏÀܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_NOMEM    : ¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿(¥×¥í¥»¥¹¿ô¤¬Â¿¤¹¤®¤ë)¡£
ER_PPRI     : Í¥ÀèÅÙ¤ÎÃͤ¬Èϰϳ°¤Ç¤¢¤ë(-1,-0¡Á255 °Ê³°)¡£
ER_REC      : ¥Õ¥¡¥¤¥ë¤Ë¥×¥í¥°¥é¥à¥ì¥³¡¼¥É¤Ï¸ºß¤·¤Ê¤¤¡¢
              ¤Þ¤¿¤Ï¥×¥í¥°¥é¥à¥ì¥³¡¼¥É¤ÎÆâÍÆ¤¬°Û¾ï¤Ç¤¢¤ë¡£
ER_SZOVR    : ¥×¥í¥»¥¹µ¯Æ°¥á¥Ã¥»¡¼¥¸¤Î¥µ¥¤¥º¤¬¥·¥¹¥Æ¥à¤ÎÀ©¸Â¤ò±Û¤¨¤¿¡£

ext_prc
Ê
¥×¥í¥»¥¹½ªÎ»

¡Ú·Á¼°¡Û

VOID    ext_prc(W code)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   code    ¥×¥í¥»¥¹½ªÎ»¥³¡¼¥É

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¥ê¥¿¡¼¥ó¤·¤Ê¤¤

¡Ú²òÀâ¡Û

¼«¥×¥í¥»¥¹¤òÀµ¾ï½ªÎ»¤·¡¢ »ØÄꤷ¤¿ code ¤ò´Þ¤à¥×¥í¥»¥¹Àµ¾ï½ªÎ»¥á¥Ã¥»¡¼¥¸¤ò¿Æ¥×¥í¥»¥¹¤ËÁ÷¿®¤¹¤ë¡£

¼«¥×¥í¥»¥¹¤Ç»ÈÍÑÃæ¤Î¥Õ¥¡¥¤¥ëÅù¤Î¥ê¥½¡¼¥¹¤Ï°ìÉô¤Î¥ê¥½¡¼¥¹ ( cre_sem Åù¥ª¥×¥·¥ç¥ó¤Ë DELEXIT »ØÄ꤬¤Ê¤¤¤â¤Î)¤ò½ü¤­¡¢ ¤¹¤Ù¤Æ¼«Æ°Åª¤Ë²òÊü¤µ¤ì¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ȯÀ¸¤·¤Ê¤¤¡£

ter_prc
Ê
¾¥×¥í¥»¥¹¶¯À©½ªÎ»

¡Ú·Á¼°¡Û

  ERR ter_prc(W pid, W code, W opt)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   pid ÂÐ¾Ý¥×¥í¥»¥¹ ID 
        >  0   Ǥ°Õ¤Î¥×¥í¥»¥¹
        =  0   ¼«¥×¥í¥»¥¹(»ØÄêÉÔ²Ä:¥¨¥é¡¼)
        = -1   ¿Æ¥×¥í¥»¥¹

W   code    ¶¯À©½ªÎ»¥³¡¼¥É

W   opt ¶¯À©½ªÎ»Â°À­
        ( TERM_NRM ¡Â TERM_ALL )
        TERM_NRM    »ØÄꤷ¤¿¥×¥í¥»¥¹¤Î¤ß¤Î¶¯À©½ªÎ»¡£
        TERM_ALL    »ØÄꤷ¤¿¥×¥í¥»¥¹¤ª¤è¤Ó¤½¤ÎÁ´¤Æ¤Î»Ò¹¤Î¥×¥í¥»¥¹¤Î¶¯À©
                    ½ªÎ»¡£¿Æ¥×¥í¥»¥¹¤Þ¤¿¤Ï¤µ¤é¤Ë¤½¤Î¿Æ¤Î¥×¥í¥»¥¹¤ò»ØÄꤷ
                    ¤¿¾ì¹ç¤Ë¤Ï¡¢¼«¥×¥í¥»¥¹¤â¶¯À©½ªÎ»¤µ¤»¤é¤ì¤ë¡£
                    ¤³¤Î¾ì¹ç¡¢»ØÄꤷ¤¿¥×¥í¥»¥¹¤Î»Ò¹¤Î¶¯À©½ªÎ»¥á¥Ã¥»¡¼¥¸
                    ¤ÏÁ÷¿®¤µ¤ì¤Ê¤¤¡£

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¥×¥í¥»¥¹¤ò¶¯À©½ªÎ»¤·¡¢ »ØÄꤷ¤¿ code ¤ò´Þ¤à¥×¥í¥»¥¹¶¯À©½ªÎ»¥á¥Ã¥»¡¼¥¸¤ò»ØÄꤷ¤¿¥×¥í¥»¥¹¤Î¿Æ¥×¥í¥»¥¹¤ËÁ÷¿®¤¹¤ë¡£

¼«¥×¥í¥»¥¹¤è¤ê¹â¤¤¥æ¡¼¥¶¥ì¥Ù¥ë¤Î¥×¥í¥»¥¹¤Ï¶¯À©½ªÎ»¤Ç¤­¤Ê¤¤¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_SELF     : ¼«¥×¥í¥»¥¹¤ò»ØÄꤷ¤¿(pid = 0¤Þ¤¿¤Ï¼«¥×¥í¥»¥¹¤ÎPID)¡£
ER_NOPRC    : ¥×¥í¥»¥¹(pid)¤Ï¸ºß¤·¤Æ¤¤¤Ê¤¤¡£
ER_LEVEL    : ¼«¥×¥í¥»¥¹¤è¤ê¹â¤¤¥æ¡¼¥¶¥ì¥Ù¥ë¤Î¥×¥í¥»¥¹¤ò»ØÄꤷ¤¿¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(opt=TERM_NRM,TERM_ALL°Ê³°¤ò»ØÄꤷ¤¿)¡£

chg_pri
Ê
¥×¥í¥»¥¹ / ¥¿¥¹¥¯Í¥ÀèÅÙÊѹ¹

¡Ú·Á¼°¡Û

WERR    chg_pri(W id, W pri, W opt)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   id  ÂÐ¾Ý¥×¥í¥»¥¹ ID ¤Þ¤¿¤Ï¥¿¥¹¥¯ ID 

W   pri Êѹ¹¤¹¤ëÍ¥ÀèÅÙ

W   opt Í¥ÀèÅÙ°À­
        ( P_ABS ¡Â P_REL ) | [ P_TASK ]
          P_ABS   ÀäÂлØÄê¡§»ØÄꤷ¤¿Í¥ÀèÅÙ¤ËÊѹ¹¡£
          P_REL   ÁêÂлØÄê¡§(¸½ºß¤ÎÍ¥ÀèÅÙ)¡Üpri ¤ËÊѹ¹¡£
          T_TASK  ¥¿¥¹¥¯¤òÂоݤȤ¹¤ë¡£

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡æ0    Àµ¾ï(Êѹ¹¸å¤ÎÍ¥ÀèÅÙ 0¡Á255)
          P_TASK »ØÄꤢ¤ê    id ¤Î¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ
          P_TASK »ØÄê¤Ê¤·    id ¤Î¥×¥í¥»¥¹¤Î¥á¥¤¥ó¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¥×¥í¥»¥¹ / ¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ë¡£

P_TASK ¤Î»ØÄ꤬¤Ê¤¤¾ì¹ç :

id ¡á  0     ¼«¥×¥í¥»¥¹Æâ¤ÎÁ´¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ë¡£
id ¡á -1     ¿Æ¥×¥í¥»¥¹Æâ¤ÎÁ´¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ë¡£
id ¡ä  0     id ¤Ç»ØÄꤷ¤¿¥×¥í¥»¥¹ ID ¤Î¥×¥í¥»¥¹Æâ¤ÎÁ´¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ë¡£

P_TASK ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç

id ¡á 0      ¼«¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ë¡£
id ¡ä 0      id ¤Ç»ØÄꤷ¤¿¥¿¥¹¥¯ ID ¤Î¥¿¥¹¥¯¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ë¡£
             »ØÄê¤Ç¤­¤ë¥¿¥¹¥¯¤Ï¡¢¼«¥×¥í¥»¥¹Æâ¤Î¥¿¥¹¥¯¤Î¤ß¤Ç¤¢¤ë¡£

»ØÄê¤Ç¤­¤ëÍ¥ÀèÅÙ¤ÎÈϰϤϡ¢ Âоݥ¿¥¹¥¯¤¬Â°¤¹¤ë¥×¥í¥»¥¹¤Î¸½ºß¤ÎÍ¥ÀèÅÙ¥°¥ë¡¼¥×Æâ¤È¤Ê¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_NOPRC    : ¥×¥í¥»¥¹(id)¤Ï¸ºß¤·¤Æ¤¤¤Ê¤¤¡£
ER_ID       : ¥¿¥¹¥¯(id)¤Ï¸ºß¤·¤Æ¤¤¤Ê¤¤¡£¤Þ¤¿¤Ï¡¢¼«¥×¥í¥»¥¹Æâ¤Î¥¿¥¹¥¯¤Ç¤Ï¤Ê¤¤¡£
ER_PPRI     : Í¥ÀèÅÙ¤ÎÃͤ¬Èϰϳ°¤Ç¤¢¤ë(¿·Í¥ÀèÅ٤ϸ½ºßÍ¥ÀèÅ٤Υ°¥ë¡¼¥×³°)¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(opt=P_ABS,P_REL,P_TASK°Ê³°¤ò»ØÄꤷ¤¿)¡£

prc_sts
Ê
¥×¥í¥»¥¹¾õÂÖ¼èÆÀ

¡Ú·Á¼°¡Û

WERR    prc_sts(W pid, P_STATE* buff, TC* name)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W        pid ÂÐ¾Ý¥×¥í¥»¥¹ ID 
           >  0    Ǥ°Õ¤Î¥×¥í¥»¥¹
           =  0    ¼«¥×¥í¥»¥¹
           = -1  ¿Æ¥×¥í¥»¥¹

P_STATE* buff    ¥×¥í¥»¥¹¾õÂ֤γÊǼÎΰè
         NULL    ³ÊǼ¤·¤Ê¤¤

TC*      name    ¥×¥í¥»¥¹Ì¾(¼Â¿È̾)¤Î³ÊǼÎΰè(ºÇÂç¼Â¿È̾+1ʸ»úʬ¤ÎÎΰè)
         NULL    ³ÊǼ¤·¤Ê¤¤

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡ä0    Àµ¾ï(»ØÄê¥×¥í¥»¥¹ ID)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¥×¥í¥»¥¹¤Î¾õÂÖ¤ò¼èÆÀ¤¹¤ë¡£

pid = 0, buf = NULL, name = NULL ¤È¤·¤Æ¼«¥×¥í¥»¥¹ ID ¤Î¼èÆÀ¤Ë¤â»ÈÍѤ¹¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(buff,path)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_NOPRC    : ¥×¥í¥»¥¹(pid)¤Ï¸ºß¤·¤Æ¤¤¤Ê¤¤¡£

chg_usr
Ê
¼«¥×¥í¥»¥¹¥æ¡¼¥¶¾ðÊóÊѹ¹

¡Ú·Á¼°¡Û

ERR chg_usr(P_USER* buff)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

P_USER* buff    Êѹ¹¤¹¤ë¥æ¡¼¥¶¾ðÊó

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¼«¥×¥í¥»¥¹¤Î¥æ¡¼¥¶¾ðÊó¤ò»ØÄꤷ¤¿ÆâÍÆ¤ËÊѹ¹¤¹¤ë¡£ Êѹ¹¤·¤¿ÆâÍÆ¤Ï¡¢¤½¤ì°Ê¸åÀ¸À®¤·¤¿»Ò¥×¥í¥»¥¹¤Ë·Ñ¾µ¤µ¤ì¤ë¡£

ËÜ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥·¥¹¥Æ¥à¥×¥í¥»¥¹¤Ç¤Î¤ß¼Â¹Ô²Äǽ¤Ç¡¢ °ìÈ̤Υ¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥»¥¹¤Ç¤Ï¼Â¹Ô¤Ç¤­¤Ê¤¤¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(buff)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(¥æ¡¼¥¶¾ðÊó¤¬ÉÔÀµ)¡£

get_usr
Ê
¥æ¡¼¥¶¾ðÊó¼èÆÀ

¡Ú·Á¼°¡Û

WERR    get_usr(W pid, P_USER* buff)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W       pid ÂÐ¾Ý¥×¥í¥»¥¹ ID 
            >  0    Ǥ°Õ¤Î¥×¥í¥»¥¹
            =  0    ¼«¥×¥í¥»¥¹
            = -1    ¿Æ¥×¥í¥»¥¹

P_USER* buff    ¥æ¡¼¥¶¾ðÊó¤Î³ÊǼÎΰè
        NULL    ³ÊǼ¤·¤Ê¤¤

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡ä0    Àµ¾ï(»ØÄê¥×¥í¥»¥¹ ID)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¥×¥í¥»¥¹¤Î¥æ¡¼¥¶¾ðÊó¤ò¼èÆÀ¤¹¤ë¡£ ¼è¤ê½Ð¤·¤¿¥æ¡¼¥¶¡¼Ì¾¤ª¤è¤Ó¥°¥ë¡¼¥×̾ 1 ¡Á 4 ¤Î±£¤·Ì¾¤Ï¾ï¤Ë 0 ¤È¤Ê¤ê¡¢ ¼è¤ê½Ð¤¹¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£

pid = 0, buf = NULL ¤È¤·¤Æ¼«¥×¥í¥»¥¹ ID ¤Î¼èÆÀ¤Ë¤â»ÈÍѤ¹¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(buff)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_NOPRC    : ¥×¥í¥»¥¹(pid)¤Ï¸ºß¤·¤Æ¤¤¤Ê¤¤¡£

get_inf
Ê
¥×¥í¥»¥¹Åý·×¾ðÊó¼èÆÀ

¡Ú·Á¼°¡Û

ERR get_inf(W pid, P_INFO* buff)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W       pid ÂÐ¾Ý¥×¥í¥»¥¹ ID 
            >  0    Ǥ°Õ¤Î¥×¥í¥»¥¹
            =  0    ¼«¥×¥í¥»¥¹
            = -1    ¿Æ¥×¥í¥»¥¹

P_INFO* buff    Åý·×¾ðÊó¤Î³ÊǼÎΰè

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¥×¥í¥»¥¹¤ÎÅý·×¾ðÊó¤ò¼èÆÀ¤¹¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(buff)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_NOPRC    : ¥×¥í¥»¥¹(pid)¤Ï¸ºß¤·¤Æ¤¤¤Ê¤¤¡£

cre_tsk
Ê
¥µ¥Ö¥¿¥¹¥¯À¸À® / ¼Â¹Ô

¡Ú·Á¼°¡Û

WERR    cre_tsk(FP entry, W pri, W arg)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

FP  entry   ¥µ¥Ö¥¿¥¹¥¯³«»Ï¥¢¥É¥ì¥¹
W   pri     ¥µ¥Ö¥¿¥¹¥¯Í¥ÀèÅÙ
W   arg     ¥µ¥Ö¥¿¥¹¥¯µ¯Æ°¥Ñ¥é¥á¡¼¥¿

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡ä0    Àµ¾ï(À¸À®¤·¤¿¥µ¥Ö¥¿¥¹¥¯ ID)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¼«¥×¥í¥»¥¹Æâ¤Î¥µ¥Ö¥¿¥¹¥¯¤òÀ¸À®¤·¤Æ¼Â¹Ô¤¹¤ë¡£

¥µ¥Ö¥¿¥¹¥¯¤ÎÍ¥ÀèÅ٤ϡ¢¼«¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ¥°¥ë¡¼¥×¤ÎÈÏ°ÏÆâ¤Ç¤Î¤ß»ØÄê¤Ç¤­¤ë¡£ ¥µ¥Ö¥¿¥¹¥¯¤Ï°Ê²¼¤Î·Á¼°¤Î´Ø¿ô¤È¤·¤ÆÄêµÁ¤µ¤ì¤ë¡£

    VOID    subtask(W arg)
    {
        /* arg ¤Ï cre_tsk() ¤Ç»ØÄꤷ¤¿¥Ñ¥é¥á¡¼¥¿ */
        < ¥µ¥Ö¥¿¥¹¥¯¥³¡¼¥É >
        /* ¥¿¥¹¥¯½ªÎ» */
        ext_tsk();
    }

¥µ¥Ö¥¿¥¹¥¯¤ò return ¤Ç½ªÎ»¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(entry)¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
ER_PPRI     : Í¥ÀèÅÙ(pri)¤¬¼«¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ¥°¥ë¡¼¥×¤ÎÈϰϤòͤ¨¤Æ¤¤¤ë¡£
ER_LIMIT    : ¥µ¥Ö¥¿¥¹¥¯¿ô¤ÎÀ©¸Â¤òͤ¨¤¿¡£
ER_NOMEM    : ¥á¥â¥ê¡¼Îΰ褬ÉÔ­¤·¤¿¡£

ext_tsk
Ê
¼«¥¿¥¹¥¯½ªÎ»

¡Ú·Á¼°¡Û

VOID    ext_tsk()

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

¤Ê¤·

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¥ê¥¿¡¼¥ó¤·¤Ê¤¤¡£

¡Ú²òÀâ¡Û

¼«¥¿¥¹¥¯¤ò½ªÎ»¤¹¤ë¡£

¥á¥¤¥ó¥¿¥¹¥¯¤¬½ªÎ»¤·¤¿¾ì¹ç¤Ï¥×¥í¥»¥¹¤â½ªÎ»¤¹¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ȯÀ¸¤·¤Ê¤¤¡£
ter_tsk
Ê
¾¥¿¥¹¥¯¶¯À©½ªÎ»

¡Ú·Á¼°¡Û

ERR ter_tsk(W tskid)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   tskid   Âоݥ¿¥¹¥¯ ID 

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄ꥿¥¹¥¯¤ò¶¯À©½ªÎ»¤¹¤ë¡£

»ØÄê¤Ç¤­¤ë¥¿¥¹¥¯¤Ï¡¢¼«¥×¥í¥»¥¹Æâ¤Î¥µ¥Ö¥¿¥¹¥¯¤Î¤ß¤Ç¤¢¤ë¡£ ¼«¥¿¥¹¥¯¤ª¤è¤Ó¥á¥¤¥ó¥¿¥¹¥¯¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ID       : ¥¿¥¹¥¯ID(tskid)¤¬ÉÔÀµ¤Ç¤¢¤ë¡£

slp_tsk
Ê
¥¿¥¹¥¯µ¯¾²ÂÔ¤Á

¡Ú·Á¼°¡Û

ERR slp_tsk(W time)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W       time    ¥¿¥¤¥à¥¢¥¦¥È»þ´Ö
                >  0   »ØÄê»þ´Ö ( ¥ß¥êÉà ) ÂÔ¤Ä
                = -1   ̵¸Â¤ËÂÔ¤Ä

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¼«¥¿¥¹¥¯¤òµ¯¾²ÂÔ¤Á¾õÂ֤ˤ¹¤ë¡£

time ¤Ç»ØÄꤷ¤¿¥¿¥¤¥à¥¢¥¦¥È»þ´Ö¤À¤±·Ð²á¤¹¤ë¤«¡¢ ¾¥¿¥¹¥¯¤«¤é¥¿¥¹¥¯µ¯¾²¤µ¤ì¤¿¾ì¹ç¤ËÂÔ¤Á¾õÂÖ¤¬²ò½ü¤µ¤ì¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_NONE     : ¥¿¥¤¥à¥¢¥¦¥È»þ´Ö¤¬·Ð²á¤·¤¿¤¬¡¢µ¯¾²¤µ¤ì¤Ê¤«¤Ã¤¿¡£
ER_MINTR    : ¥á¥Ã¥»¡¼¥¸¥Ï¥ó¥É¥é¤¬µ¯Æ°¤µ¤ì¤¿¤¿¤á¡¢ÂÔ¤Á¤¬ÃæÃǤµ¤ì¤¿¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿(time)¤¬ÉÔÀµ¤Ç¤¢¤ë¡£

wup_tsk
Ê
¥¿¥¹¥¯µ¯¾²

¡Ú·Á¼°¡Û

ERR wup_tsk(W tskid)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   tskid   Âоݥ¿¥¹¥¯ ID 

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

tskid ¤Ç»ØÄꤷ¤¿¥¿¥¹¥¯¤¬µ¯¾²ÂÔ¤Á¾õÂ֤Ǥ¢¤Ã¤¿»þ¤Ë¡¢¤½¤ÎÂÔ¤Á¤ò²ò½ü¤¹¤ë¡£ »ØÄꤷ¤¿¥¿¥¹¥¯¤¬µ¯¾²ÂÔ¤Á¾õÂ֤Ǥʤ¤¾ì¹ç¤Ï¡¢µ¯¾²Í×µá¤Ï¥­¥å¡¼¥¤¥ó¥°¤µ¤ì¤ë¡£

»ØÄꤹ¤ë¥¿¥¹¥¯¤Ï¼«¥×¥í¥»¥¹Æâ¤Î¥¿¥¹¥¯¤Ç¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¾¥×¥í¥»¥¹¤Î¥¿¥¹¥¯¤òµ¯¾²¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£¤Þ¤¿¡¢¼«¥¿¥¹¥¯¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ID       : ¥¿¥¹¥¯ID(tskid)¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
ER_LIMIT    : µ¯¾²Í×µá¤Î¥­¥å¡¼¥¤¥ó¥°¿ô¤¬À©¸Â¤òͤ¨¤¿¡£

can_wup
Ê
¥¿¥¹¥¯µ¯¾²Í×µá¤Î¥­¥ã¥ó¥»¥ë

¡Ú·Á¼°¡Û

WERR    can_wup(W tskid)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   tskid   Âоݥ¿¥¹¥¯ ID 
            > 0     Ǥ°Õ¤Î¥¿¥¹¥¯
            = 0    ¼«¥¿¥¹¥¯

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡æ0    Àµ¾ï(µ¯¾²Í׵᤬¥­¥å¡¼¥¤¥ó¥°¤µ¤ì¤Æ¤¤¤¿¿ô)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

tskid ¤Ç»ØÄꤷ¤¿¥¿¥¹¥¯¤Ë¥­¥å¡¼¥¤¥ó¥°¤µ¤ì¤Æ¤¤¤ëµ¯¾²Í×µá¤ò¤¹¤Ù¤Æ¥­¥ã¥ó¥»¥ë¤¹¤ë¡£

»ØÄê¤Ç¤­¤ë¥¿¥¹¥¯¤Ï¡¢¼«¥×¥í¥»¥¹Æâ¤Î¥¿¥¹¥¯¤Î¤ß¤Ç¤¢¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ID       : ¥¿¥¹¥¯ID(tskid)¤¬ÉÔÀµ¤Ç¤¢¤ë¡£

dly_tsk
Ê
¥¿¥¹¥¯ÃÙ±ä

¡Ú·Á¼°¡Û

ERR dly_tsk(W time)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   time    ÃÙ±ä»þ´Ö( ¥ß¥êÉáæ 0 )

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¼«¥¿¥¹¥¯¤ò»ØÄꤷ¤¿»þ´Ö¤À¤±ÂÔ¤Á¾õÂ֤ˤ¹¤ë¡£

time = 0 ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢ ¼Â¹Ô¤òÃæÃǤ·¤ÆºÆ¥¹¥±¥¸¥å¡¼¥ë¤ò¹Ô¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¤Ä¤Þ¤ê¡¢¥¿¥¹¥¯¤Î¾õÂÖ¤ò¼Â¹Ô¾õÂÖ¤«¤é¡¢¼Â¹Ô²Äǽ¾õÂ֤ذܹԤµ¤»¤ë¤³¤È¤Ë¤Ê¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_MINTR    : ¥á¥Ã¥»¡¼¥¸¥Ï¥ó¥É¥é¤¬µ¯Æ°¤µ¤ì¤¿¤¿¤á¡¢ÂÔ¤Á¤¬ÃæÃǤµ¤ì¤¿¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿(time)¤¬ÉÔÀµ¤Ç¤¢¤ë¡£

get_tid
Ê
¼«¥¿¥¹¥¯ ID ¤Î¼èÆÀ

¡Ú·Á¼°¡Û

W   get_tid()

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

¤Ê¤·

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡ä0 Àµ¾ï(¼«¥¿¥¹¥¯ ID)

¡Ú²òÀâ¡Û

¼«¥¿¥¹¥¯¤Î¥¿¥¹¥¯ ID ¤ò¼è¤ê½Ð¤¹¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ȯÀ¸¤·¤Ê¤¤¡£


¤³¤Î¾Ï¤ÎÌܼ¡¤Ë¤â¤É¤ë
Á°ÊÇ:Âè1¾Ï ¼þÊճˤˤâ¤É¤ë
¼¡ÊÇ:1.2 ¥á¥Ã¥»¡¼¥¸´ÉÍý¤Ë¤¹¤¹¤à