[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(itron-club 1671) Re: 優先度上 限プロトコルについて (長文注意)



中村様、皆さま

この件、出遅れてしまいました。真相解明はほぼ終わっているようですが、若
干補足させていただきます。

最初に priority ceiling protocol が提案された論文(若林君がメールで紹
介してくれたもの)で言う priority ceiling protocol は、中村さんが書か
れている通り、本当に必要になった時点で優先度を上げるものとなっています。
しかしこの方法は、早めに優先度を上げてしまう方法(μITRON4.0仕様で言う
優先度上限プロトコル)と比べて利点が少ないと考えられます。早めに優先度
を上げてしまう方法は、これもすでに出ている通り、書籍や論文によって異な
る名称で呼ばれており、決まった名称がないと思います。Highest Locker
Protocol というのも、その内の1つで、この名前で呼べば通じるというもので
もありません。

μITRON4.0のミューテックス仕様を検討するにあたり、pthread のミューテッ
クス仕様を参考にしました。これについても中村さんがすでに指摘されていま
すが、pthread ではμITRON4.0仕様の優先度上限プロトコルと同じプロトコル
をサポートしています。真相は、「本当に必要になった時点で優先度を上げる
方法」は利点が少ないなあと思って pthread を調べたところ、「早めに優先
度を上げてしまう方法」しかサポートしていなかったので、それなら、
μITRON4.0仕様を pthread 互換にしてしまうのがいいだろうと考えたわけで
す。

今ちょっと探した限りでは、POSIX の仕様書(ドラフト版)には、priority
ceiling という用語は出てきますが、priority ceiling protocol という用語
は出てこないようです。中村さんが紹介されている書籍の「プライオリティ最
高限度mutex」という用語は、原書ではおそらく priority ceiling mutex と
なっていると想像します。この想像が正しければ、「上限」と「最高限度」は
訳語の違いにすぎません。

あと参考になるものとして、OSEK OS仕様の priority ceiling protocol も、
μITRON4.0仕様と同じものです。

--------------------

違う話題ですが、最初に priority ceiling protocol が提案された論文に書
かれている priority inheritance protocol の実装方法は間違っていたはず
なので、注意しましょう。

高田広章
名古屋大学