μITRONでの常識、非常識2009年12月05日 01時05分07秒

μITRON4.0で開発をしていますが、全くの新規ではなく誰かが作ったシステムの拡張です。いつものことです。 ま、ほんっとにいつものことですが、今回も酷いです。

何が酷いって、μITRONのセミナーを開いているような会社のエンジニアの手によるものだから始末が悪い。

何が良くて何が悪いのかもわからないお客さんを騙しすぎです。

μITRONのメッセージバッファという機能ですが、これの使い方が間違っています。

ipsnd_mbf()という割込みハンドラから使用できるサービスコールがあるのですが、これで100バイトを超えるようなデータを一般タスクに平気で送信している。CPUパワーが圧倒的なら構わないけど結構マルチメディア系の処理をぎりぎりで実装するような場合はこんなことをやっちゃいけないのは「常識」です。割込み処理のCPU専有時間は最低限にするというような教育すら受けていない証拠です。

ipsnd_mbf()がなぜ非タスクコンテキストから呼び出せるようになっているのかを全く理解していない。これは大容量のデータを受け渡すためにあるのではなく、rcv_mbf()で待っているタスクに対して、他のタスクからと同等に最低限の通知をするために存在している。 そういう本質的なところを誰も解説しないからこんな変な実装がまかり通るんですね。そういう意味では坂村さんたちも悪い。仕様書にはきちんと設計思想も盛り込まないと。 今のエンジニアはμITRONの仕様書に書いてある動きを理解しない。ちゃんと仕様書には「コピーする」って書いてあるんだから、処理時間について考えなきゃいけないでしょう。使い方だけを見るから何でもかんでも機能だけでサービスコールを選ぶことになる。こんな対応では「設計した」ことにならないです。

後は周期ハンドラに直接処理を記述していたり。 本当に時間間隔にシビアな制御が必要な処理以外、周期ハンドラからタスクをwupして使用する。これも「常識」

いったいぜんたい、エンジニアの質はどうなってるんでしょうか。 要は何が「常識」で何が「非常識」かを判断する人間がほとんどいなくなっているんでしょうねぇ。 「うごきゃいい」ってスタンスでは仕事しないで欲しいです。プロなんだから。