ソフト・マクロのCPUでLinuxを動かす(後編) ──OSの実装とネットワーク対応機器への応用
● Linuxの長所と短所を知る
ただし,かならずしもLinuxを採用することがベストの選択であるとはかぎりません.Linuxにも,メリットとデメリットがあります(表2).商用の組み込み機器向けOSのような手厚いサポートを受けることが難しく,オープン・ソースならではのライセンスの問題が生じたりすることもあります.
また,LinuxがリアルタイムOSではないという,組み込み機器に採用する際には無視できない問題もあります.このため,いわゆる「組み込みLinux」をサポートしている多くのベンダは,さまざまなくふうを施して,Linuxにリアルタイム性を持たせるように拡張しています.例えば,リアルタイムOS上の一つのプロセスとしてLinuxを搭載した2段階のカーネル構造を採ったり,Linuxのスケジューラや割り込みのアルゴリズムに手を加えて,リアルタイム性を向上させています.
● FPGAベースであることを生かす
FPGAのプラットホームでは,これまでにないしくみを採ることができます.リアルタイム処理が必要な部分をハードウェア化してしまうというものです.例えば,外部入力信号に対する応答回路をハードウェア化したり,自在にFIFOやメモリを実装することによって,割り込み応答時間をカバーすることができます.ソフトウェア処理では負荷がかかる部分をハードウェア化することで,ソフトウェアの処理能力を補うことも可能です.
FPGAベースのマイコン・ボードの最大の特徴は,Linuxを搭載することによるハードウェア・レイヤのいんぺい・抽象化と,FPGA内のハードウェアをどこまでもカスタマイズできるという柔軟性の両方を兼ね備えていることといえるでしょう.
表2 Linuxを採用した場合のメリット/デメリット
メリット
|
|
デメリット
|
|