基本仕様

ページ名:3.5 タスク優先度

3.5 タスク優先度

スケジューラは、READY 状態のタスクのタスク優先度に基づいて、次にRUNNING 状態に遷移するタスクを決定する。
タスク優先度の値0は最低優先度として定義される。数字が大きくなるに従い、優先順位は高くなる。
タスク管理においては、動的に優先度を変更する機能はサポートされない。すべてのタスクのタスク優先度は静的に定義される。ただし、リソース管理のシステム・サービスを用いることにより、優先度上限プロトコルに従って、一時的に優先度を変更することは可能である。
同じ優先度のタスクは、アクティベーションの順序に応じて開始される。待ち状態のタスクは、同じ優先度の後続タスクが開始されることをブロックしない。
プリエンプトされたタスクは、現在の優先度における実行可能リストのもっとも古いタスクとみなされる。
一方、待ちが解除されたタスクは、その優先度におけるレディ・キュー内の最新のタスクとみなされる。
次にRUNNING 状態に遷移するタスクを決定するために、スケジューラは以下の手順を実行する。
・READY/RUNNING 状態のすべてのタスクを検索する
・READY/RUNNING 状態のタスクが繋がれたレディ・キューのうち、優先度が最も高いレディ・キューを選択する
・優先度が最も高いレディ・キューの中から、最も古いタスクを選択する

 

 

 

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧