5-2 タスク管理

タスク管理の全体が次の5つがあります。

  • タスクは3つの状態を遷移する(遷移は移行するという意味) →タスクの3状態
  • 状態が遷移するときは割込みという要素によって発生する →割込み
  • タスクの状態遷移を詳しく見る →タスクの状態遷移
  • プロセッサの割当てはスケジューリングに従う →タスクのスケジューリング方式
  • 複数のタスクは同時に実行してるように見せている →マルチプログラミング(マルチタスク)

タスクの3状態

実行状態(run)

プロセッサが割り当てられ実行されている状態

実行可能状態(READY)

プロセッサは割り当てられていないが、割り当てらればすぐに実行できる状態

待ち状態(WAIT)

入出力何度の終了を待っており、プロセッサを割り当てられていない状態

割込み

内部割込みプログラム割込み0による除算やオーバフローなど、プログラムのエラーが原因で生じる
ページフォルト仮想記憶において、要求したページが主記憶上に存在しなかったことが原因で生じる
外部割り込み入出力割込み入出力動作の完了を通知する
タイマ割込み一定時間の経過を通知する
※その他にも様々な割込みがあります

タスクのスケジューリング方法

  • ラウンドロビン方式
  • 優先度順方式
  • 到着順方式

ラウンドロビン方式

各タスクがどのような状態(たとえ待ち状態)であれ、定められた時間ごとに全タスクを順番に切り替えて処理を進める方式

優先度順方式

各タスクに優先度を決め最も優先度の高いタスクにプロセッサを割り当てる

到着順方式

先に実行可能となったタスクから順番に実行する。割込みが起こらなくなる。

マルチプログラミング(マルチタスク)

これまでの制御を行うことで1台のプロセッサを複数のタスクで共有しながら、タスクを見かけ上同時に実行が可能に。これをマルチプログラミング(多重プログラミング、マルチタスク)という。

タスク(コンピュータから見た)仕事の単位を表す一般的な言葉
プロセスプログラムの実行単位
プロセスごとにどくしつした主記憶領域を割り当てる
スレッドプロセッサの割当て単位
主記憶領域を共有できる