HOME»基本情報技術者試験掲示板»平成23年特別午後問2
投稿する
平成23年特別午後問2 [4146]
ガンマンさん(No.1)
https://www.fe-siken.com/kakomon/23_toku/pm02.html
設問2の待ち状態の説明を見ていて優先度が下がるときにBがAの前に行っていたりBが下がるときにCの後ろに行ったりAがBCの前に来るのはなぜですか?
設問2の待ち状態の説明を見ていて優先度が下がるときにBがAの前に行っていたりBが下がるときにCの後ろに行ったりAがBCの前に来るのはなぜですか?
2022.04.23 16:04
nsさん(No.2)
★FE シルバーマイスター
問題文の③に「優先度を下げた結果,実行中のプロセスの優先度が実行可能状態にある優先度の最も高いプロセスよりも低くなった場合,実行中のプロセスを中断して,①に戻る。」とあります。
例えば、40ミリ秒経過したタイミングを考えると、実行中のプロセスはB、各プロセスの優先度はB=7、A=6、C=5です。実行中のBの優先度が一つ下がり、A、Bの両方が優先度6になります。
この時、「実行中のプロセス(=B)の優先度(=6)が実行可能状態にある優先度の最も高いプロセス(=A,6)よりも低くなった場合」に当てはまらないため、そのままBの実行を継続します。解説の図ではこれを優先度6の先頭にBを配置することで表現しています。
60ミリ秒経過したタイミングではBの優先度が6から5に下がります。すると、③の条件に当てはまるため、実行中のBは中断され、①に戻ります。①では「プロセスを優先度に対応した待ち行列の末尾に登録する。」とあるので、Bを優先度5の待ち行列の末尾に登録するため、Cより後ろになります。
例えば、40ミリ秒経過したタイミングを考えると、実行中のプロセスはB、各プロセスの優先度はB=7、A=6、C=5です。実行中のBの優先度が一つ下がり、A、Bの両方が優先度6になります。
この時、「実行中のプロセス(=B)の優先度(=6)が実行可能状態にある優先度の最も高いプロセス(=A,6)よりも低くなった場合」に当てはまらないため、そのままBの実行を継続します。解説の図ではこれを優先度6の先頭にBを配置することで表現しています。
60ミリ秒経過したタイミングではBの優先度が6から5に下がります。すると、③の条件に当てはまるため、実行中のBは中断され、①に戻ります。①では「プロセスを優先度に対応した待ち行列の末尾に登録する。」とあるので、Bを優先度5の待ち行列の末尾に登録するため、Cより後ろになります。
2022.04.23 20:02