平成23年度 技術士第一次試験問題【専門科目】
【16】情報工学部門
W−12
オペレーティングシステムにおけるプロセスのスケジューリングについて考える。
2つのプロセスAとBは、次の実行系列になっているとし、プロセスがCPUを使用している
間は途中で横取り (プリエンプション) されないものとする。
 プロセスA 実行20ms、入出力待ち10ms、実行32ms、入出力待ち10ms、実行5ms
 プロセスB 実行5ms、入出力待ち15ms、実行10ms、入出力待ち30ms、実行16ms
この2つのプロセスの両方が実行を終了するためにかかる時間は、一方のプロセスの入出力
待ち中にもう一方のプロセスを実行できない場合  ア  msとなり、一方のプロセスの
入出力待ち中にもう一方のプロセスを実行できる場合、最短で  イ  msとなる。ただし
CPUは1台 (シングルコア) であり、プロセスAとBがそれぞれ使用する入出力装置は、
同時に独立して動作可能である。
上の     に入るべき数値の組合せはどれか。
      
 @  88  76
 A  88  77
 B 153  86
 C 153  88
 D 153 118




【正解】 C
一方のプロセスの入出力待ち中にもう一方のプロセスを実行できない場合は、
並列処理できないため、プロセスAとBの実効時間の和になる。
プロセスAは 20+10+32+10+ 5=77ms
プロセスBは  5+15+10+30+16=76ms
従って、アは
153msである。

一方のプロセスの入出力待ち中にもう一方のプロセスを実行できる場合は、
ある程度並行処理ができる。

プロセスAが優先の場合
プロセスAの実行
20ms後、
プロセスAが入出力待ち
10msの間に、プロセスBの実行5msが処理できる。
また、2回目の入出力待ちの
10msの間に、プロセスBの実行10msが処理できる。
さらに、Bの入出力待ち
30msの間に、プロセスAの5msが処理できる。
最後にロセスBの実行
16msが処理される。
従って、
201032103016=118msである。

プロセスBが優先の場合、
プロセスBの実行
ms後、
プロセスBの入力待ち15msの時に、プロセスAの実行
20msが処理される。
プロセスAの入力待ち
10msの時に、プロセスBの実行10msが処理される。
プロセスBの入出力30msの間にプロセスAの実行
32msされる。
さらにプロセスBの実行
16msの間にプロセスAの入出力待ち10msが消化され、
最後にプロセスAの実行
msが処理される。
従って、
2010321688msである。

イには88msが入る。


EXCELのマクロのご相談なら ファーストマクロ 



W−11 目次 W−13
ファーストマクロ TOPページ