基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成30年 秋期 基本情報技術者 午後 問02
問02   4問選択

 プロセスのスケジューリングに関する次の記述を読んで,設問1,2に答えよ。

 

 OS の機能の一つに,プロセスの CPU への割当てがある。 プロセスを CPU に割り当てる順序(以下,実行順序という)を決定する方式として, 本問で示すラウンドロビン方式と優先度順方式を考える。 プロセスが実行されるコンピュータの CPU は一つであり,CPU は一度に一つの プロセスしか実行できないものとする。

 

 ラウンドロビン方式では,キューを用いて,複数のプロセスを一定時間 (以下,タイムクウォンタムという)を限度に CPU に割り当てて実行する。 ラウンドロビン方式でプロセスの実行順序を決定する例を,図1に示す。

図1 ラウンドロピン方式でプロセスの実行順序を決定する例

 

(1)プロセスを生成順にキューの末尾に登録する。

(2)プロセスの実行の中断などによって,実行中のプロセスがない場合, キューの先頭からプロセスを一つ取り出して CPU に割り当て,実行を開始する。

(3)プロセスの実行が終了すると,そのプロセスを消滅させる。

(4)プロセスの実行中にタイムクウォンタムが経過したら,実行を中断して,キューの末尾に登録する。

(5)実行中のプロセスが入出力を開始したら,実行を中断する。

(6)プロセスの入出力が完了したら,キューの末尾に登録する。

 

 キューに登録されているプロセスの状態を“実行可能”,実行中のプロセスの状態を“実行”, 入出力の完了を待っているプロセスの状態を“待ち”と呼ぶ。ここで, 実行の中断はタイムクウォンタムの経過と入出力の開始だけで行い, “待ち”への遷移は入出力の開始だけで行うものとする。 また,OS によるオーバヘッドはないものとする。

 

設問1  図2に示す処理順序をもつプロセスXを,図1に示すラウンドロビン方式で 実行する場合を考える。プロセスXの処理時間及び待ち時間を表1に示す。

 表1において,処理時間とは,処理1,処理2及び処理3のそれぞれが実行を開始してから 終了するまでに必要な CPU の使用時間である。待ち時間とは,入出力待ち1及び 入出力待ち2のそれぞれが入出力を開始してから完了するまでに要する時間であり, その間 CPU を使用しない。

 タイムクウォンタムが 20 ミリ秒のとき,プロセスXが生成されてから消滅するまでに, 図3に示す@〜Cの遷移が起こる回数の組合せとして正しい答えを,解答群の中から選べ。

図2 プロセスXの処理順序

 

 

表1 プロセスXの処理時間及び待ち時間

図3 状態遷移

 

解答群

解答 ←クリックすると正解が表示されます

基本情報技術者試験


設問2  次の記述中の    に入れる正しい答えを,解答群の中から選べ。

 

 優先度順方式では,ラウンドロビン方式と同様にキューを用いて,複数のプロセスをタイムクウォンタムを 限度に CPU に割り当てて実行する。この方式では,プロセスには優先度が与えられ, 優先度ごとに決められたキューに登録される。優先度順方式でプロセスの実行順序を決定する例を, 図4に示す。ここで,優先度は 1 〜 5 の5段階であり,値の大きい方が優先度は高い。 プロセスをキューから取り出すときは,プロセスが登録されているキューの中で, 優先度の最も高いキューの先頭からプロセスを取り出す。

 

図4 優先度順方式でプロセスの実行順序を決定する例

 

 この方式では,プロセスの優先度を次のように与える。

(1)プロセスが生成された場合,そのプロセスに優先度3を与える。

(2)プロセスの実行中にタイムクウォンタムが経過して,実行を中断した場合, そのプロセスの現在の優先度に応じて,次のとおり優先度を与える。

  • 優先度が 1 のとき,優先度 1 を与える。
  • 優先度が 2 〜 5 のとき,1段階下げた優先度を与える。
(3)プロセスの入出力が完了した場合,そのプロセスに優先度 5 を与える。

 表1に示すプロセスXを,図4に示す優先度順方式で実行する場合を考える。 タイムクウォンタムが 20 ミリ秒のとき,プロセスXが生成されてから消滅するまでの 優先度の推移度は,a となる。

 図4に示す優先度順方式において,“実行”,“実行可能”及び“待ち”の プロセスが一つもないとき,表2に示す三つのプロセス A,B,C が順次生成される場合を考える。

(1)生成時刻は,プロセスAが生成された時刻からの経過時間である。

(2)三つのプロセス A,B,C が全て消滅するまで,他のプロセスが新たに生成されることはなく, OS によるオーバヘッドもない。

(3)入出力装置は同時に動作が可能であり,同じ時間帯に複数のプロセスが “待ち”になっても,待ち時間は表2に示すとおりで変わらない。 複数のプロセスの入出力が同時に完了した場合,入出力を開始してから完了するまでの時間が 最も長かったプロセスを先にキューに登録する。

 

表2 プロセス A,B,C の生成時刻,処理時間及び待ち時間

 タイムクウォンタムが 20 ミリ秒のとき,プロセス B の処理1が実行を開始する時刻は, プロセス A の生成時刻から b ミリ秒後であり, プロセス A の処理1が終了する時刻は,プロセス A の生成時刻から c ミリ秒後である。

 

a に関する解答群 ア 3 → 2 → 5 → 4 → 3 → 2     イ 3 → 2 → 5 → 4 → 3 → 5

ウ 3 → 3 → 5 → 3 → 1       エ 3 → 4 → 5 → 4 → 3 → 5

b,c に関する解答群

ア 10       イ 20       ウ 30

エ 40       オ 50       カ 60

キ 70       ク 80       ケ 90

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

解答 c ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]