[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(itron-club 1667) Re:
優先度上
限プロトコルについて
- To: itron-club __at__ ertl.jp (itron-club ML)
- From: "Takayuki WAKABAYASHI" <takayuki __at__ ertl.jp>
- Date: Fri, 19 Dec 2003 14:29:10 +0900
豊橋技科大の若林です.
学術と実装の両方を見ている立場と,
以前に見た/聞いたことからコメントします.
私の周りだと,ミューテックス自体が優先度上限プロトコルの
事を指していて,「ミューテックスの優先度継承プロトコル」が
本来あるべき優先度上限プロトコルのことで,
「ミューテックスの優先度上限プロトコル」は,
簡易な優先度上限プロトコルと言っていることが多いです.
# あとHighest locker とか.
そういう意味では,仕様書の中の「優先度上限プロトコル」と
リソースアクセスプロトコルの「優先度上限プロトコル」は,
獲得タスクの優先度を引き上げるという概念は同じだけれども,
厳密な意味では別物だと理解しています.
# 前になぜ同じ名前なのかを聞いたことがあったような
# 気がしたのですが,失念してしまいました
また簡易な実装に関してですが,「そのミューテックスを
取得予定タスクの上限まで持ち上げるべし」という
本来の定義のままだと,ミューテックスをロックする前に
関連する全てのタスクの優先度を再確認しにいくか,
優先度が変化した場合に関連するミューテックスが
割り付ける優先度を毎回設定するかのどちらかになり,
簡易であるにもかかわらず実装が複雑になるので
やめたのだという単純な理解をしています.
前にミューテックスのフル実装 (本来の優先度上限)を覗いた
ことがあるのですが,なんかとっても面倒なことになっていたのを
記憶しています (特にスケジュール周り).
ミューテックスの簡易実装ではタスク制御ブロックは無傷の
ままで済みますが,本来あるべき優先度上限プロトコルを
実装した場合はそれなりの修正を伴っていた覚えがあります.
機能の実装がOSの低位部分まで食い込んでしまうと,
使用されないときに機能を取りはずのが大変になるので,
実装する側からしては簡易は簡易で意味があると思います.
--------
豊橋技術科学大学 工学研究科 電子情報工学専攻
若林 隆行 (mailto:takayuki@ertl.jp)