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

(itron-club 1746) Re: 応答性能 はどうでしょうか/R e: ベン チマークについて



木元さん、早速のお返事ありがとうございます。

> ベンチマークについては、応答性能という指標がしばしば使われると思いま
>す。例えば、OSの最大割り込み禁止時間、ハードウェアで割り込みが発生して
>から割り込みハンドラが実行されるまでの時間、タスクを切り替えるシステム
>コールを発行してから相手のタスクが実行されるまでの時間などが考えられま
>す。私が昔やったのは、割り込みハンドラでWUP_TSK()して、実際にタスクが
>実行されるまでの時間を計ることで、このときは確か20μ秒ほどでした。ただ
>し、応答性能はハードウェアに大きく依存しますので、OS単体の評価にはなり
>ません。

ハードウェアで割込みが発生してから割込みハンドラが実行されるまでの時間、
タスクを切替えるシステムコールを発行してから相手のタスクが実行されるまで
の時間については評価してみたいと思います。ありがとうございました。
私が使用するプロセッサは、外部割込みに使用するレジスタセットを6個持って
います。これにより多重に発生する割込みに対して高速な応答が可能になると
思われます。また、上記の評価により応答性能を評価しようと思いました。
ありがとうございました。
また、OSの最大割込み禁止時間についてですが、割込み禁止区間はTCBの
内容を触るようなシステムコール内では全て割込み禁止にしているのですが、
この最大割込み時間禁止時間が短いほうが良いのだと思いました。
これについても、一般的な数字のようなものが分からないのですが、それは
論文を色々探してみたいと思います。ありがとうございました。

> テストプログラムということですと、システムコールを発行したときのエラー
>コードをただひたすらログに取り、正しいものと比較する、という手法があり
>ます(私は、このMLか、ITRON関係の会合で教えてもらった記憶があります)。
>タスクスイッチは、相手のタスクがシステムコールからリターンする形で記録
>されます。μITRONはラウンドロビンスケジュールではありませんので、タイ
>マーや割り込みに依存しない限り、タスクスイッチは必ずシステムコールによっ
>て起こるため、毎回同じ実行結果になります。このため、正しいログがあれば、
>機械的に比較をおこなうことができます。

これについてですが、これはOSが正しい動きをしているかどうかを確認するという
ことでよろしいのでしょうか。
「タスクスイッチは、相手のタスクがシステムコールからリターンする形で記録され
る」というところで、「相手のタスク」というところが分からないのですが。
タスクスイッチはスケジューラから呼ばれるディスパッチによって行われるのですが、
「記録される」という意味が分かりませんでした。
また、タスクスイッチは必ずシステムコールによって起こるのは分かるのですが、
毎回同じ実行結果になるのところで、ここで言っている「実行結果」の意味が分かり
ませんでした。
お手数ですが、お時間のある時にご返信お願い致します。

OSの評価の仕方についてですが、静的優先度ベースでのスケジューラでは優先度
の低いタスクが実行されないような状況があり、この優先度の低いタスクを動的に
優先度を上げて助けてあげようとしています。
各TCBに最悪な実行時間を見積もった時間、デッドライン、余裕時間などを入れて
います。これらを見て、動的に優先度を上げています。
そこで、組込みシステム開発でのプログラマが実際に実行するようなプログラムや
そのようなものが載っているサイトなどがないものかと思い、聞いてみました。

長い文章になってしまい申し訳ありませんでした。
ご返信ありがとうございました。