応用情報技術者試験 - SE娘の剣 -

応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。少しずつ追記していきます

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

 

1.タスクのスケジューリング方式

タスクのスケジューリング方式には、到着順方式、ラウンドロビン、優先度方式など、いくつかの方式があります。

(1)到着順方式

到着順にタスクを実行状態にします。

(2)処理時間順(残余処理時間順)方式

過去問(H27春FE午前問19不正解選択肢)では、「新しいタスクが実行可能状態になるたびに,各タスクの残りの実行時間を評価し,その時間が短いものから順に実行する」とあります。

(3)ラウンドロビン

過去問(H27春FE午前問19不正解選択肢)では、「実行状態としたタスクが決められた時間内に待ち状態に遷移しないときに,そのタスクを中断して実行待ち行列にある次のタスクを実行状態とする」とあります。

(4)優先度順

過去問(H27春FE午前問19不正解選択肢)では、「タスクが実行可能状態になったときに,そのタスクの優先度と,その時,実行状態であるタスクの優先度とを比較して,優先度が高い方のタスクを実行状態とする」とあります。

2.タスクのスケジューリング方式に関する過去問

(1)過去問(H23春FE午後問2)

問2 CPUの割当て方式に関する次の記述を読んで,設問1,  2に答えよ。
オペレーティングシステムの役割の一つとして,プロセスにCPUを割り当てることがある。そして,プロセスの実行順序を決定する方式には,次のようなものがある。
(1)到着順方式
到着順にプロセスを待ち行列の末尾に登録する。実行中のプロセスが終了すると,待ち行列の先頭からプロセスを一つ取り出して実行を開始する。
到着順方式を図1に示す。待ち行列に登録されているプロセスの状態を実行可能状態,実行中のプロセスの状態を実行状態と呼ぶ。
プロセス
(2)ラウンドロビン方式
到着順にプロセスを待ち行列の末尾に登録する。実行中のプロセスが終了すると,待ち行列の先頭からプロセスを一つ取り出して実行を開始する。また,実行中のプロセスが一定時間(以下,タイムクウォンタムという)を経過したら,実行を中断して,待ち行列の末尾に再登録し,待ち行列の先頭からプロセスを一つ取り出して実行を開始する。
ラウンドロビン方式を図2に示す。
ラウンドロビン
これらの方式の効率を示す指標としてター'ンアラウンドタイムがある。ここで,ターンアラウンドタイムとは,プロセスが待ち行列に到着してから実行が終了するまでの時間であり,プロセスの実行順序に影響される。

(中略)

プロセスの実行順序を決める別の方式に優先度順方式がある。優先度順方式の例を図3に示す。プロセスにはあらかじめ優先度が付けてあり,待ち行列は優先度ごとに用意してある。ここで,優先度は1~10の10種類で,値の大きい方が優先度は高い。

優先度
この方式では,次のとおりにプロセスの実行を制御する。
① プロセスを優先度に対応した待ち行列の末尾に登録する。
② プロセスが登録されている優先度の最も高い待ち行列の先頭からプロセスを一つ取り出して実行を開始する。
③ 実行中のプロセスの優先度が2以上のとき,実行時間が20ミリ秒経過するごとに優先度を一つ下げる。優先度を下げた結果,実行中のプロセスの優先度が実行可能状態にある優先度の最も高いプロセスよりも低くなった場合,実行中のプロセスを中断して,①に戻る。
④ 実行中のプロセスが終了した場合,②に戻る。

  (2)H27春AP午前

問17 プロセスのスケジューリングに関する記述のうち,ラウンドロビン方式の説明として,適切なものはどれか。

ア 各プロセスに優先度が付けられていて,後に到着してもプロセスの優先度が実行中のプロセスよりも高ければ,実行中のものを中断し,到着プロセスを実行する。
イ 各プロセスに優先度が付けられていて,イベントの発生を契機に,その時点で最高優先度のプロセスを実行する。
ウ 各プロセスの処理時間に比例して,プロセスのタイムクウォンタムを変更する。
エ 各プロセスを待ち行列の順にタイムクウォンタムずつ実行し,終了しないときは待ち行列の最後につなぐ。





【正解】エ

(3)H17秋SW午前

問24 ジョブスケジューリングに関する記述として,適切なものはどれか。
ア FCFS (First Come First Served)方式は,ジョブの到着順に処理を行うもので,長大なジョブがあってもスループットが高い。
イ SPT (Shortest Processing Time First)方式は,処理時間の短いジョブの順に処理を行うので,対話型処理の平均応答時間を最小にできる。
ウ デッドラインスケジューリング方式は,目標の時間帯内に処理を完了することを目的に処理の優先度を決定するので,タイマ割込みのオーバヘッドが影響し,時間の制約の厳しいリアルタイム処理には向いていない。
エ 優先度順方式は,バッチ処理の優先度を高く設定し,リアルタイム処理の優先度を低くして運用するのが一般的である。





【正解】イ

(4)H19春DB午前

問3 ラウンドロビン方式のタスクスケジューリングの説明として,適切なものはどれか。
ア 一定時間ごとにタイマ割込みを発生させ,実行可能の待ち行列の先頭のタスクにCPU資源を割り当てる。
イ 各タスクの優先度に従ってCPU資源を割り当てる。
ウ 処理時間の短いタスクから順にCPU資源を割り当てる。
エ 何らかの割込みが発生したときに,直ちに起動する必要のあるタスクにCPU資源を割り当てる。





【正解】ア

(5)H23秋SM午前Ⅱ

問3 コンピュータシステムにおけるジョブスケジューリングの特徴のうち,適切なものはどれか。
ア CPUに割り当てるジョブをOSが強制的に切り替えるタイムスライス方式では,タイマ割込みが多発するので,スループットが低下する。
イ FCFS (first-come first-served)方式のジョブスケジューリングは,ジョブ間にCPUを公平に割り当てるので,スループット応答時間の保証が可能となる。
ウ 対話型処理とバッチ処理が混在するシステムでは,対話型処理の優先度を高くすることによって,対話型処理の応答性能の向上が期待できる。
エ 入出力を多用するジョブよりもCPUを多用するジョブの処理優先度を上げた方が,CPUの待ち時間が少なくなるので,全体のスループットの向上が期待できる。





【正解】ウ

(5)H29秋AP問18
問18 CPUスケジューリングにおけるラウンドロビンスケジューリング方式に関する記述として,適切なものはどれか。
ア 自動制御システムなど,リアルタイムシステムのスケジューリングに適している。
イ タイマ機能がないシステムにおいても,簡単に実現することができる。
ウ タイムシェアリングシステムのスケジューリングに適している。
エ タスクに優先順位を付けることによって,容易に実現することができる。





【正解】ウ