メイン処理の最中に割り込んだ割込み処理の最中にさらに割込み処理を行うなんてバーゲンセールのおばちゃんみたい

2019

基本情報技術者 過去問2019年(令和元年) 秋期 午前 問13 を参考に考えてみます。

<問題>

メイン処理,及び表に示す二つの割込みA,Bの処理があり,多重割込みが許可されている。割込みA,Bが図のタイミングで発生するとき,0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。ここで,割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。

<選択肢>

(ア) 2

(イ) 2.5

(ウ) 3.5

(エ) 5

メイン処理,及び表に示す二つの割込みA,Bの処理があり,多重割込みが許可されている。割込みA,Bが図のタイミングで発生するとき,0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。ここで,割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。

ここから私の思考です↓

わたし
わたし

ちなみに青字は文章を読んだ際の私の頭の中です。

<問題>

メイン処理,及び表に示す二つの割込みA,Bの処理があり,多重割込みが許可されている。

わたし
わたし

割込みとかの問題は焦らず順番にみていけば大丈夫な比較的得点しやすい問題な気がする。

割込みA,Bが図のタイミングで発生するとき,0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。

ミリ秒っていつになっても慣れないですね。

だって基本情報技術者試験の勉強をするまで、ミリ秒なんて人生で使ったことなかったですもん。

ここで,割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。

オーバヘッドとは何ぞや?

普通パッと出てくるのはこれでしょうよ。

まぁ無視できるものとする、って書いてあるんだから知らんでもいいんでしょ。

無視無視。

AとBが割り込んで、処理をしていない時間が、メイン処理ができてる時間ね。

当てはめてみていくしかないですね。

まず最初が割込みBの発生です。処理時間としては1.5ミリ秒。ミリ秒とか都度付けるのめんどくさいんで、以降は「ミリ秒」は省略します。

赤色を割込み処理時間とすると、Bの割込み処理時間1.5を一気に塗りたいところですが、

割込みBの途中で割込みAがまた割り込んできやがるんですね。

BよりもAの方が優先度が高いので、Aが割り込んできた時点でBはいったん止めて、Aを処理します。

Bは残り0.5の処理が残っちゃいましたね。

するとこうなります。

Bを止めて、Aを0.5処理しました。

Aが終わったんで、Bの残り0.5を処理します。するとこうなります。

割込みの処理はいったんなくなります。

しかしすぐにAがまた割り込んできます。するとこうなります。

割込みの処理はいったんなくなります。

しかしすぐにAがまた割り込んできます。デジャヴです。するとこうなります。

次の割込みは5のところに割込みBがいますが、そもそもこの問題は5のところまでを聞いているので、最後のBの割込みは無視します。

ということで、割込みがない時間はこれだけですね。

黄色の部分の合計、2です。答えの選択肢の中に2があればそれが正解ですね。

<選択肢>

(ア) 2

(イ) 2.5

(ウ) 3.5

(エ) 5

ばっちりありましたね。正解は(ア)!!間違いない。

正解は(ア)です。

よっしゃ、完璧でしょう。

最後まで読んでいただきありがとうございました。

これからも勉強頑張ってくださいね。

私も頑張ります。

コメント

タイトルとURLをコピーしました