ITProにT-engineに関しての坂村先生の記事が載っていたが、少し読んで思うところがあった。
要約すると、”エンタープライズ系の人材を組み込みにそのまま使うのは無理、Linuxも組み込みには無理、T-Engineはいいよ”みたいな話である。
エンタープライズ系の技術者を組み込みに使うのは難しい、という部分は全く持って同意する点である。実際お大尽なエンタープライズやPC系のプログラムに慣れた技術者を組み込みに持ってくるのは再教育なしには不可能である。ハードウェアのベタな知識や場合によっては回路図とにらめっこしたり、オシロスコープやロジックアナライザとにらめっこが必要な組み込みの世界とは同じプログラムでも全く異なるスキルが要求される。もちろんアプリケーション部分はある程度共通する部分もあるが、やはり独特の制約や性能など考慮すべき点が多々ある。
まあそれはおいておいて、坂村さんはLinuxがどうもお嫌いのようである。心情的にはわからないではない話であるが、この記事で紹介されている部分は重要な点をおそらく故意に?抜かしているに違いない。
組み込みにLinuxが盛んに使われるようになったのはここ数年。採用が進んだ最も大きな理由は少なくとも私の知る限りでは豊富なミドルウェアの存在である。 このあたり坂村さんも良くわかっているのであろう、T-Engineはミドルウェアを充実させるような方向である。しかしそこにLinuxとの違いがある。オープンで多様な分野で使われるLinuxと組み込みの伽藍の中にこもっているT-Engineとは周辺ソフトウェアの数も厚みも違う。例えば単純にWindowsからのファイルサーバ機能を追加しようとしたら、Linuxではsambaを入れればいい。仮想記憶ありきでUnix系OSとiTronからの発展組ではスケーラビリティに大きな差がある。
ハードウェアの性能が向上し、かつては組み込みでは考えられなかった速度と大量のメモリ(といってもせいぜい数百Mhzで数百MB以下)を使用できるようになって、十分な性能でLinuxが走るようになり、同時に組み込み機器への要求がさまざまな面で大きくなった結果、従来の組み込みOSの範疇では処理できないようになってきたのが採用の大きな理由であろうと思う。
ミドルウェアといっても範囲は広いが、ざくっと例を挙げると
- TCP/IPスタック及びサーバ類
- ファイルシステム
- USBスタック
- グラフィック関連
- 豊富なライブラリ
等である。
一般のPCやサーバなどでは当たり前のものが組み込みの世界では貴重な機能なのである。ちょっと前まではネットワーク機能など、ハイエンドのシステムでしか使われず、高価なボードと高価なOS(VxWorksのような)を使う必要があった。
最近ではハードウェアコンポーネントの低価格化によってハードウェアとして機能を実装することは容易である。しかし組み込みOSでこれらを一般的な形で使えるようにしているOSは数少ない。また存在はしてもそれぞれの機能は有償かつそれなりに高価である。ネットワーク機能やUSB機能のためだけに数十万・数百万は出せないのである。
もう一つの利点はまさに坂村氏が記事で述べている、ボードがないと開発しにくいという点である。Linuxならば機器に依存が少ない部分については安価なPC上で開発を進めることが出来る。確かに試作ボードは必要ではあるが、たいてい開発メンバー全員にいきわたることはない。PC上で多くの部分を開発できるLinuxにはそれだけでも利点があるのである。また教育面でも有利である。普段手元にあるデスクトップOSで同じAPIが使えるのは学習しやすいのである。
ボードの大きさ云々であれば、とても小さなLinuxシステムもあるし、T-Engineを使ったからといって試作ボードが小さくなるとは決していえないのである。アプリケーション次第ということ。
iTron/T-Engineは機能はすこしづつにせよ新しいものを取り込んではいるが、やはり多くの要求を満たすために、最大公約数的な仕様になっている。APIもいまだ7文字制限(ではなくなってはいるが)を引きずっている。 これでは採用を半強制できる国内市場ではいいが、海外では受け入れられないだろう。第三国がT-Engineに興味を持つ理由の多くは日本企業狙いである。
結局というか、T-EngineはLinuxと同じエリアを目指しては得るところは少ないのではないだろうか。iTronが比較的高速応答が必要で小さめなシステムで使われているように、せいぜいミドルクラスまでをターゲットにして、むしろLinuxが少なくともここ数年は持ち得ないRealTimeOSとしてのアドバンテージを生かすほうがいいのではないだろうか。独自仕様を減らし、POSIXなどの標準に準拠することももっと重視していい と思う。
私も組み込みエンジニアである。iTronを選択する場面もあるが、理由は価格とメモリと高速応答性の問題である。Linuxではどうしてもある程度の以上のメモリが必要であり、高速な応答性能を出すには無理がある。比較的小さなボードやシステムにおいてはiTronは(APIのダサさ、システム構成のダサさは置いておいて)悪くない選択である。他にもっといいOSがあればよいのであるが、選択肢はそう多くない上、多くは高価であったり、サイズが大きすぎたり、マイナーであったりする。
iTronがもう少し洗練された仕様であったなら、国内のみならず国外でももっとアピールでき、世界の組み込みOSの標準ともなれたのではないかと残念に思うのだが。
Tags: Linux, 組み込みPopularity: 92%
- Newer: 日本の技術者の環境は劣悪か?いや、そうだと思う
- Older: MicrosoftのOOXMLがISO標準になれなかったらしい
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- http://newslogs.browncat.org/2007/09/t-engine%e3%81%aflinux%e3%81%a8%e7%ab%b6%e3%82%8f%e3%81%aa%e3%81%84%e6%96%b9%e3%81%8c%e3%81%84%e3%81%84%e3%81%a8%e6%80%9d%e3%81%86.html/trackback
- Listed below are links to weblogs that reference
- T-EngineはLinuxと競わない方がいいと思う from TechLogs
