技術情報 » OS-1関連 » ワンチップでサーバーって何ですか?

なぜOS-1はワンチップでサーバーができるのですか?

通常はTCP/IPを利用してWebサーバーを構築したりメールを送受信するシステムを構築する場合はLinuxやT-EngineなどのOSを搭載したシステムを利用するというのが従来までの常識でした。しかしLinuxを動かすにはSD-RAMやフラッシュメモリーなどのメモリーを贅沢に搭載しなければなりませんしCPUもMMUを装備したものが必要になります。またT-Engine向けのTCP/IPプロトコルスタックなどのミドルウェアも大変高価でした。そうして構築したシステムは本当にLinuxの機能をフルに必要としているかどうかは微妙なところです。恐らくLinuxを利用している方々の殆どは単にTCP/IPを利用したいだけなのではないでしょうか?

サイレントはTCP/IPを利用したいという要求になるべく安価にお答えする必要性を感じて世界中を探し回りました。結果的に見つけたのはFreeScale社のMC9S12NE64というチップです。このチップはアメリカでは人気が高くすでに色々なプロダクトに利用されています。特徴はイーサネットのインターフェースをチップ内に内蔵しているのでトランスを接続するだけで簡単にイーサネットに接続できる点です。しかし問題なのはフラッシュメモリー64キロバイトとRAM8キロバイトしか搭載されていませんのでLinuxやT-Engineは移植できないという点です。つまりTCP/IPスタックを自分で実装しなければならないチップなのです。こうした理由からこのチップは日本国内ではいままで利用された事はありません。サイレントはあえてこのチップを採用する事にしました。

アメリカではネットワーク技術が日本よりも格段に進歩していますので多くの会社がMC9S12NE64を利用して安価なネットワーク機器を完成させています。ネットワークを通じてユーザーインターフェースを操作したり内部設定をしたりする目的に利用されていますがちゃんと実用的なシステムに仕上がっています。要求仕様を実現するために最も合理的な方法を選択するアメリカ的な考え方に納得できます。日本ではOSにこだわる傾向が強くいわゆるファッション化しているのではないでしょうか?ネットワーク経由でポートを操作する程度の単純なアプリケーションならばあえてLinuxを利用する必要はないと考えています。

サイレントはこのMC9S12NE64に自社製のモニタープログラムの'SilentMoon'を搭載しました。SilentMoonはタイマーでコンテキストスイッチングをしながらシステムサービスとユーザープログラムがマルチスレッドで動作する小さなモニタープログラムです。このモニターを利用してTCP/IPスタックをシステムサービスとして動作させてhttpサーバーやメールクライアントをユーザープログラムとして動作させています。フラッシュのサイズが小さいので必要最低限の機能に絞り込んで実装しています。ポートの状態の変化をメールで報告したり特定のIPに向けてパケットを送出するなどの動作はすべて内蔵のWebサーバーにブラウザでアクセスする事で設定が可能です。この機能を利用すれば殆どのエンベデッド向けの用途に対応できると思います。