![]()
平成30年 秋期 基本情報技術者 午後 問02
問02 4問選択プロセスのスケジューリングに関する次の記述を読んで,設問1,2に答えよ。 OS の機能の一つに,プロセスの CPU への割当てがある。 プロセスを CPU に割り当てる順序(以下,実行順序という)を決定する方式として, 本問で示すラウンドロビン方式と優先度順方式を考える。 プロセスが実行されるコンピュータの CPU は一つであり,CPU は一度に一つの プロセスしか実行できないものとする。 ラウンドロビン方式では,キューを用いて,複数のプロセスを一定時間 (以下,タイムクウォンタムという)を限度に CPU に割り当てて実行する。 ラウンドロビン方式でプロセスの実行順序を決定する例を,図1に示す。 ![]() 図1 ラウンドロピン方式でプロセスの実行順序を決定する例 (1)プロセスを生成順にキューの末尾に登録する。 (2)プロセスの実行の中断などによって,実行中のプロセスがない場合, キューの先頭からプロセスを一つ取り出して CPU に割り当て,実行を開始する。 (3)プロセスの実行が終了すると,そのプロセスを消滅させる。 (4)プロセスの実行中にタイムクウォンタムが経過したら,実行を中断して,キューの末尾に登録する。 (5)実行中のプロセスが入出力を開始したら,実行を中断する。 (6)プロセスの入出力が完了したら,キューの末尾に登録する。 キューに登録されているプロセスの状態を“実行可能”,実行中のプロセスの状態を“実行”, 入出力の完了を待っているプロセスの状態を“待ち”と呼ぶ。ここで, 実行の中断はタイムクウォンタムの経過と入出力の開始だけで行い, “待ち”への遷移は入出力の開始だけで行うものとする。 また,OS によるオーバヘッドはないものとする。
![]() 図2 プロセスXの処理順序
![]()
![]() 図3 状態遷移 解答群
![]() 図4 優先度順方式でプロセスの実行順序を決定する例 この方式では,プロセスの優先度を次のように与える。 (1)プロセスが生成された場合,そのプロセスに優先度3を与える。 (2)プロセスの実行中にタイムクウォンタムが経過して,実行を中断した場合, そのプロセスの現在の優先度に応じて,次のとおり優先度を与える。
表1に示すプロセスXを,図4に示す優先度順方式で実行する場合を考える。 タイムクウォンタムが 20 ミリ秒のとき,プロセスXが生成されてから消滅するまでの 優先度の推移度は,a となる。 図4に示す優先度順方式において,“実行”,“実行可能”及び“待ち”の プロセスが一つもないとき,表2に示す三つのプロセス A,B,C が順次生成される場合を考える。 (1)生成時刻は,プロセスAが生成された時刻からの経過時間である。 (2)三つのプロセス A,B,C が全て消滅するまで,他のプロセスが新たに生成されることはなく, OS によるオーバヘッドもない。 (3)入出力装置は同時に動作が可能であり,同じ時間帯に複数のプロセスが “待ち”になっても,待ち時間は表2に示すとおりで変わらない。 複数のプロセスの入出力が同時に完了した場合,入出力を開始してから完了するまでの時間が 最も長かったプロセスを先にキューに登録する。
![]()
タイムクウォンタムが 20 ミリ秒のとき,プロセス B の処理1が実行を開始する時刻は, プロセス A の生成時刻から b ミリ秒後であり, プロセス A の処理1が終了する時刻は,プロセス A の生成時刻から c ミリ秒後である。 a に関する解答群 ウ 3 → 3 → 5 → 3 → 1 エ 3 → 4 → 5 → 4 → 3 → 5 b,c に関する解答群 エ 40 オ 50 カ 60 キ 70 ク 80 ケ 90
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||