セマフォと割込み禁止  平成23年秋期 午後問7

組み込みさん  
(No.1)
https://www.ap-siken.com/kakomon/23_aki/pm07.html
設問3ですが、どなたか解説お願いできませんか?
セマフォは午前問題でも出てきているので理解しているつもりですが、
割込み禁止との違いがわかりません。
ググってもセマフォの説明やその他の排他制御の説明ばかりで・・・

解答が「割込みハンドラの動作を排他制御できないから」ですが、
割込み禁止は排他制御ではないのでしょうか?
設問に「排他制御の代表的な実装方式としては,セマフォ及び割込み禁止がある」
と書いてるのに、この解答だと矛盾しているような・・・?
っと思ったので、
「割込み禁止」について知りたいです。
2020.10.11 14:30
助け人さん 
AP ゴールドマイスター
(No.2)
〔放送ダウンロード機能に関連するソフトウェア〕に、表2のタスク一覧と表3の割込みハンドラ一覧があります。

設問3には、「他のソフトウェアにディスパッチしないよう,排他制御を行う必要がある」とあります。この「ソフトウェア」がミソで、タスクと割込みハンドラの両方を指します。

「排他制御の代表的な実装方式としては,セマフォ及び割込み禁止がある」は正しいです。しかし、細かく説明すると、タスクの排他制御にはセマフォ及び割込み禁止が使えますが、割込みハンドラの排他制御にはセマフォが使えず、割込み禁止を使うしかありません。

このことを知っているかどうかが問われています。知っておかないと難しい設問です。
2020.10.11 18:45
組み込みさん  
(No.3)
ありがとうございます!
知っているかどうかの問題でしたか。。。!
あと一週間がんばります。
ありがとうございました。
2020.10.11 19:03
助け人さん 
AP ゴールドマイスター
(No.4)
補足します。(No.2)に書きべきでした。

セマフォを使って排他制御する場合、排他制御したい対象の全タスクにおいて、セマフォ変数のP操作やV操作をコーディングする必要があります。

しかし、割込みハンドラは、OSの一部であり、セマフォのコーディングなどできませんから、セマフォではどうしようもありません。
2020.10.12 07:05
組み込みさん  
(No.5)
ああ!それ凄く理解しやすいです!
ありがとうございます!
2020.10.12 08:46

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop