タスクスケジューリングープリエンプション方式(Preemption)、ディスパッチ(Dispatch)


応用情報技術者平成30年秋期 午前問17

プリエンプション方式のタスクスケジューリングにおいて,タスクBの実行中にプリエンプションが発生する契機となるのはどれか。ここで,タスクの優先度は,タスクAが最も高く,タスクA>タスクB=タスクC>タスクDの関係とする。

1、プリエンプション(Preemption)とは、
実行状態にあるタスクがCPUの使用権を奪われ実行可能状態に移されることをいい、以下の状態を満たした場合に起こります。
 ・実行状態のタスクより優先度の高いタスクが実行可能状態になる
 ・実行状態のタスクに割り当てられたCPU使用時間が満了する

当該質問には、タスクBとCの優先度は同じので、Cが実行可能状態になったでも、プリエンプションにならないですね。ただ、Aが実行可能状態になった場合は、優先度が高いだから、プリエンプションが発生するだろうね。

2、ディスパッチ dispatch
ディスパッチとは、複数のプログラムを実行中のマルチタスクオペレーティングシステムにおいて、プログラムに実行権を渡すことである。

参照:
https://www.ap-siken.com/kakomon/27_aki/q16.html

ディスパッチ
https://www.weblio.jp/content/%E3%83%87%E3%82%A3%E3%82%B9%E3%83%91%E3%83%83%E3%83%81