XINU
|
優先度に基づいてキューにプロセスを挿入するAPIを提供する。 More...
#include <xinu.h>
Go to the source code of this file.
Functions | |
status | insert (pid32 pid, qid16 q, int32 key) |
優先度に基づいて、キューにプロセスを挿入する。 More... | |
優先度に基づいてキューにプロセスを挿入するAPIを提供する。
Definition in file insert.c.
優先度に基づいて、キューにプロセスを挿入する。
優先度の降順に並べたキューに対して、以下を行う。 Step1. キューを先頭から走査(whileループ部)
Step2. 挿入しようとしているプロセスIDの優先度より低い優先度を持つプロセスを探す。
Step3.「より低優先度なプロセスノード(Step2で見つけたノード)」と「その前にあるノード」との間に、 挿入したいプロセスを配置する。 なお、キューの末尾は有効な最小キーを下回るため、ループは必ず停止する。
[in] | pid | 挿入するプロセスID |
[in] | q | 使用するキューID |
[in] | key | 挿入するプロセスの優先度(キー) |
Definition at line 20 of file insert.c.
References firstid, isbadpid, isbadqid, OK, qentry::qkey, qentry::qnext, qentry::qprev, queuetab, and SYSERR.
Referenced by ready(), and resched().