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

(itron-club 1665) Re: 優先度上 限プロトコルについて



小南です。

On Fri, 19 Dec 2003 12:13:21 +0900
Seiichi Miyagawa <miyagawa __at__ sanritz.co.jp> wrote:

> 高田先生が現れないので、(^_^)
> 
> 
> |> 「SYNCHRONIZATION IN REAL-TIME SYSTEMS A Priority Inheritance
> |> Approach」 Rajkumar著のpp.26-27によれば、
> 
> は Inheritance となっています。
> 
> 優先度を制御する方法に
> 

** Cut quoted 10 lines by the mail filter. **

	(中略)

> でiTRONでは上限の方を採用しているので一気に最高優先度まで上げてしまうので
> ハンドブックの説明のような動作となる、ということだと思います。
> 

質問者の中村さんではないのですが、ハンドブックは両方の場合の説明が有り、そのうちの優先度上限の方について質問されたのだと思います。

前回の投稿の後資料をさがして、「TECH I Vol.15 リアルタイム/マルチタスクシステムの徹底研究」(藤倉俊幸、CQ出版)の「第2部タスクスケジューリング技術入門 第17章リアルタイムスケジューリング法の詳細 13 リアルタイム同期」にプライオリティシーリングの説明があるのを見つけました。
この説明を読むと、中村さんの質問や中村さんの挙げた文献の説明に近いと思いました。
単にミューテックスをロックしただけでは、タスクの優先度は変らず、他のタスクがミューテックスをロックしようとして、ミューテックスの競合が起こったときにはじめて、タスクの優先度が変るようです。
ITRON仕様に従うと、タスクのスケジューリングは上記文献の説明とは大分異ったものになります。

もしかしたら、ITRONのミューテックスは、ITRON用にアレンジしたものかも知れません。
たとえば上記文献に従うと、タスクのスケジューリングはタスクの優先度の他に、ミューテックスのシーリングプライオリティを考慮しなければなりません。これは「タスクのスケジューリングはタスクの優先度に従う」という方針に対する例外をつくることになります。
それを避け、タスクのスケジューリング規則を出来るだけ単純に保とうとして仕様が決められたのかも知れません。



----------- 
小南 靖雄
ykominami __at__ nifty.com
(NBC00224 __at__ nifty.com)