平成26年秋期 問17
ゆうさん
(No.1)
質問失礼します。
平成26年秋期 問17のCPU処理について教えていただけますでしょうか。
問題では、「使用中でないCPUは実行要求のあったタスクに割り当てられるようになっている」と記載があるため、60ミリ秒時点において、タスクAが資源Rの処理が終わったタイミングでタスクB側のCPUも空いている(その時タスクBは資源Rの処理スタート)と考え、どちらのCPUもタスクAに割り当てられると読み、その結果、タスクAがCPUを占有するため、タスクBはタスクAの処理が終わらないと開始出来ないと考えました。一方、解説を拝見すると、「各タスクに占有的に割り当てることでCPU処理待ちはしないため」と記載があり、問題文の前提とは異なるように思われます。どの部分で解釈を間違っているのか、ご教示いただけると幸いです。
何卒宜しくお願い致します。
平成26年秋期 問17のCPU処理について教えていただけますでしょうか。
問題では、「使用中でないCPUは実行要求のあったタスクに割り当てられるようになっている」と記載があるため、60ミリ秒時点において、タスクAが資源Rの処理が終わったタイミングでタスクB側のCPUも空いている(その時タスクBは資源Rの処理スタート)と考え、どちらのCPUもタスクAに割り当てられると読み、その結果、タスクAがCPUを占有するため、タスクBはタスクAの処理が終わらないと開始出来ないと考えました。一方、解説を拝見すると、「各タスクに占有的に割り当てることでCPU処理待ちはしないため」と記載があり、問題文の前提とは異なるように思われます。どの部分で解釈を間違っているのか、ご教示いただけると幸いです。
何卒宜しくお願い致します。
2021.08.08 19:12
おわ!さん
(No.2)
以下のように解釈しました。
CPUが2台とも空いていた場合も、1つのタスクに割り当てるCPUは、どちらか1台です。
タスクA、Bの開始時点でタスクAにCPU1、タスクBにCPU2を割り当てた場合、10ミリ秒時点でCPU1が未使用、40ミリ秒時点でCPU2が未使用になります。
60ミリ秒時点でタスクAがCPUを使用開始する際、2台のCPUのうち、LRU方式でCPU1をタスクAに割り当てたとすると、タスクA、BによるCPU、資源Rの使用状況は以下のように遷移します。
60ミリ秒時点でタスクAにCPU1を割り当てた場合、110ミリ秒時点でタスクBにはCPU2を割り当てますので、タスクBはタスクAのCPU1使用終了を待つことなく、CPU2を使用開始できます。
(1)0ミリ秒
タスクA:CPU1を使用開始
タスクB:CPU2を使用開始
(2)10ミリ秒
タスクA:CPU1を使用終了。資源Rの使用開始。
タスクB:CPU2を使用中
(3)40ミリ秒
タスクA:資源Rを使用中
タスクB:CPU2を使用終了。資源Rの開放待ち。
(4)60ミリ秒
タスクA:資源Rを使用終了。CPU1を使用開始。
タスクB:資源Rを使用開始
(5)110ミリ秒
タスクA:CPU1を使用中
タスクB:資源Rを使用終了。CPU2を使用開始。
(6)120ミリ秒
タスクA:CPU1を使用終了→タスクA終了
タスクB:CPU2を使用中
(7)140ミリ秒
タスクB:CPU2を使用終了→タスクB終了
長文失礼いたしました。
CPUが2台とも空いていた場合も、1つのタスクに割り当てるCPUは、どちらか1台です。
タスクA、Bの開始時点でタスクAにCPU1、タスクBにCPU2を割り当てた場合、10ミリ秒時点でCPU1が未使用、40ミリ秒時点でCPU2が未使用になります。
60ミリ秒時点でタスクAがCPUを使用開始する際、2台のCPUのうち、LRU方式でCPU1をタスクAに割り当てたとすると、タスクA、BによるCPU、資源Rの使用状況は以下のように遷移します。
60ミリ秒時点でタスクAにCPU1を割り当てた場合、110ミリ秒時点でタスクBにはCPU2を割り当てますので、タスクBはタスクAのCPU1使用終了を待つことなく、CPU2を使用開始できます。
(1)0ミリ秒
タスクA:CPU1を使用開始
タスクB:CPU2を使用開始
(2)10ミリ秒
タスクA:CPU1を使用終了。資源Rの使用開始。
タスクB:CPU2を使用中
(3)40ミリ秒
タスクA:資源Rを使用中
タスクB:CPU2を使用終了。資源Rの開放待ち。
(4)60ミリ秒
タスクA:資源Rを使用終了。CPU1を使用開始。
タスクB:資源Rを使用開始
(5)110ミリ秒
タスクA:CPU1を使用中
タスクB:資源Rを使用終了。CPU2を使用開始。
(6)120ミリ秒
タスクA:CPU1を使用終了→タスクA終了
タスクB:CPU2を使用中
(7)140ミリ秒
タスクB:CPU2を使用終了→タスクB終了
長文失礼いたしました。
2021.08.09 15:04
ゆうさん
(No.3)
おわ! 様
丁寧な解説、ありがとうございます!
「CPUが2台とも空いていた場合も、1つのタスクに割り当てるCPUは、どちらか1台」という部分を自分は失念していたことに気が付きました。
引き続き学習に励みたいと思います。
丁寧な解説、ありがとうございます!
「CPUが2台とも空いていた場合も、1つのタスクに割り当てるCPUは、どちらか1台」という部分を自分は失念していたことに気が付きました。
引き続き学習に励みたいと思います。
2021.08.09 15:34
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告