[記事公開日]2014/12/20
[最終更新日]2016/11/30

基本情報技術者試験 4-3(タスク管理)

利用者

「ジョブ」単位で見ている

 

ジョブ管理

「ジョブステップ1」

「ジョブステップ2」

「ジョブステップ3」をもつ

 

タスク管理

「タスク1」

「タスク2」

「タスク3」をもつ

 

◆タスクの状態推移

①実行可能状態

⇒CPUの使用権が与えられるのを待っている状態

②実行状態

⇒CPUの使用権が与えられ、実行している状態

※優先順位の高いタスクが割り込むと、①へ戻ることもある!!

③待ち状態

⇒他のタスクが入出力装置を使い終わるのを、待っている状態。

※「待ち状態」は先頭ではないので注意!!

 

★プログラムAと、プログラムBが同時に進行したときの例

・優先順位はAの方が高いとする。

・CPUを使用して、I/O(入出力装置)が作動する

・できるだけCPUに暇がないように組む

図1

タスク管理1

※20という数字は「20ミリ秒」という意味です。

 

図2

タスク管理2

※プログラムA・・・オレンジ

※プログラムB・・・グリーン

 

まず優先順位の高いプログラムAをCPUに読み込ませています。

読み込みが終わったと同時に、プリンターへ出力させています。

プリンターは出力するのに、30ミリ秒かかるようです。

 

この間、CPUは暇ですから、プログラムBを読み込みます。

読み込みが終わったのですぐに出力したいところですが、

出力装置はプログラムAが使っておりますので、終わるまで待ちます。

 

プログラムAのI/Oが終わると同時にプログラムBのI/O使用が始まります。

(以下省略)

 

「CPUの空き時間は何秒か?」

 

このような問題が出されます。

(この問題の場合、答えは6ミリ秒です。)

 

◆割り込みの発生

さまざまな要因で割り込みが発生します。

割り込みが発生すると、プログラムが退避され、

割り込みプログラムが終了後、再開されます。

 

内部割込み

・ゼロによる除算

・けたあふれ など

 

外部割込み

・入出力割込み

・タイマ割り込み(実行時間が超過)

・コンソール割り込み(オペレータが介入した) など