IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第41回は、パデュー大学 教授のDouglas Comer氏が開発した、教育向けのRTOS「Xinu」はを取り上げる。
「Xinu」はパデュー大学 教授のDouglas Comer氏(現在は特別名誉教授)が開発した、教育向けのリアルタイムOS(RTOS)である(公式にはOS for Embedded Systemとなっている)。
一応産業分野でも採用実績はあるが、基本は大学でのOSの授業の題材、という扱いである(図1)。もっとも、だからいい加減な作りということはなく、しかも教育用ということでさまざまなターゲットマシンに移植されており、意外に使い勝手が良かったりする。ちなみにXinuの話は、「ChibiOS/RT」を扱った連載第13回の冒頭でもちょっと触れている。
XinuはUNIXを逆順に読んだ名称でもあり、また“Xinu Is Not Unix”の略でもある(ので、定義がリカーシブになっている)。そんなXinuであるが、起源は1979年までさかのぼる。もともとComer氏はTCP/IPやそれ以前のX25NE、Cypress Networkなどさまざまなインターネットに関わるプロジェクトを1970年台後半から率いており、Xinuもこの流れの中にある。
もともとのきっかけは、ネットワークプロトコルを低価格のマシンに実装するために手頃なOS(RTOS)がなかった、ということらしい。1979年、最初にXinuが実装されたのは、コンピュータ開発の歴史でマイルストーンの一つとされるLSI-11である。
DEC(Digital Equipment Corporation)が発売していた16ビットのミニコンピュータであるPDP-11は、最初はディスクリートICで構築されていた。ところがDECはウエスタンデジタルが発売していたMCP-1600というマイクロプログラム方式のプロセッサを購入し、このマイクロプログラムを自身で書き直し、PDP-11互換のプロセッサを開発した。これがLSI-11で、性能はともかくとして価格と消費電力が大幅に削減されたことで広く利用されるようになった。
このLSI-11ベースのマシンの寄贈を受けたComer氏は、ネットワーク研究のために、そうしたネットワークプロトコルの実装を行えるようなOSを自身で開発する。これがXinuの始まりである。1981年にはVersion 5、1982年にはVersion 6も完成したが、このVersion 6は8KB未満のフットプリントで動作したという。
1983年にはXinuの最初のテキストである「Operating System Design: The XINU Approach」が出版されており(図2)、これを教科書としてXinuを使った最初の授業が1983〜1985年まで行われた。同じ時期に、Xinu Version 7も完成しており、TCP/IPのスタックまで実装した状況で64KB未満のフットプリントに収まった。このVersion 7に対応した改定版も1986年に出版されている。ソースコードも、全部ではないが、当然この本に収められており、RTOSを構成する上での勘所は全て記述されている。
Copyright © ITmedia, Inc. All Rights Reserved.