[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 17:44 / Filesize : 232 KB / Number-of Response : 919
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

マルチスレッドプログラミング相談室 その7



857 名前:824 mailto:sage [2009/09/09(水) 01:56:56 ]
>>852
Solarisは専門外なので書籍は持っておらず、Sunのサイトで
Writing Device Drivers という文書を斜め読みしてみました。
以下は第8章 Interrupt Handlers の節 Interrupt Handler Overview
からの引用です。
docs.sun.com/app/docs/doc/816-4854/interrupt-15678?l=ja&a=view

.... The job of the interrupt handler is to service the device and stop the device from interrupting. When the interrupt handler returns, the CPU resumes the work it was doing before the interrupt occurred.

ここには「割込ハンドラがデバイスからの割込を禁止し(stop)、ハンドラがリターンすると
CPUは以前の処理を再開(resume)する」とあります。これは割禁を指していると思うのですが....?

Solarisの場合には、デバイス構造体に「特殊な」優先度付きmutexが含まれているみたいですね。
割込ハンドラが、この特殊なmutexを操作することで割禁制御を実現しているように推測できます。
ただし、この優先度はハード割込の優先度であって、スレッド実行の優先度ではありません。
また、このmutexの操作対象はデバイス(の割込)であって、割込ハンドラとサービススレッドとの
間にあるリソースでもありません。

スレッド間の排他制御に用いられる「一般的な」優先度継承付きmutexと混同していませんか?







[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<232KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef