BTRON

Question: マイクロカーネルを提唱したのは誰

BTRON（ビートロン、Business TRON）は、坂村健が提唱したTRONプロジェクトの、ビジネス局面を担当するサブプロジェクトの一つ。そこで策定されたオペレーティングシステム（OS）やキーボード、周辺機器のインタフェースの仕様など、おおむねパーソナルコンピュータ（パソコン）関連の内容を指す。
本来特定の製品ではなく、あくまでも仕様を指すが、実際には実装を指して「BTRON」と呼ぶことも多い。現在、BTRON3の実装として、パーソナルメディア(株)のB-right/Vがあり、それを含んだソフトウェア製品の『超漢字』が発売されている。
仕様
BTRONは他のTRONと同様に仕様のみが策定されており、実装方法は規定していない。この節では仕様の説明に必要な範囲で実装についても言及しているが、詳細は実装の節を参照されたい。
BTRON1・BTRON2・BTRON3
古い順に示す。BTRONプロジェクトでは、まず松下電器産業とパーソナルメディアにより、後述するCECマシン等を想定した16ビットCPU286への実装である「BTRON286」が試作された。これの仕様が「BTRON/286」であり、パーソナルメディアの「1B」の仕様である「BTRON1」に引き継がれている。BTRON1の仕様書としては、OSのAPIを記した『BTRON1プログラミング標準ハンドブック』と、『BTRON1仕様ソフトウェア仕様書』がある。
BTRON2は、TRONチップへの実装を企画したもので、仕様書[1]のみが作成、出版されている。富士通製のTRONチップ搭載評価機への実装が予定されており[2]、「2B」という名前が出ている[3]。特徴として、メモリやプロセス、スレッドのようなOSの管理する計算機資源全てを、BTRONの特徴である実身/仮身モデルで扱う、という点が挙げられる。
SIGBTRONのTRONチップマシンMCUBEには、32ビット化し、マイクロカーネルにITRON仕様RTOS（「ItIs」をベースにモディファイしたもの）を使用した「3B」が実装された。3Bおよび、超漢字などに使われている「B-right」の仕様が「BTRON3」である（現在、マイクロカーネルはI-rightとなっている）。B-right/Vが準拠している仕様が、BTRON3仕様として公開されている。
μBTRON
普及版などといった位置付けとして想定された、BTRONサブセットである。構想当初のコンピュータハードウェアの性能では、理想のBTRONの実装が可能なコンピュータはワークステーションクラスとなるので、一般家庭向けのBTRONといった位置付けもある。
（専用機ワープロのような）アプリケーション固定の専用機としたサブセットで、「コミュニケーション専用機」をコンセプトとしている。具体的な用途として「自分とのコミュニケーション（創作活動）」「他人とのコミュニケーション（ネット通信）」「機械とのコミュニケーション」（例えばデジカメのような、周辺機器とのデータ交換）を挙げている[4][5]。
プログラムの追加ができない専用機に、機能を追加するキーとして、最後の周辺機器との連携を想定していた。この周辺機器を「電子文房具」と称した。この周辺機器との通信のため、リアルタイム性のある「μBTRONバス」（後述）の試作が行われている。なお、後に実現したBTRON搭載のPDAであるBrainPad TiPOに「電房具」の名を付けμBTRONとも呼んでいるが、専用機化のためのサブセット化はされておらず、μBTRONバスも実装していない。
ハードウェア
TRONキーボード

BTRONの称を冠してはいないが、TRONキーボードはBTRONでの使用を想定したものである。
μBTRONバス
基本仕様はIEEE 802.5をベースに、モディファイしたものである[6]。MIDIの代替としての利用が検討可能なリアルタイム性のある[7]LAN用バス仕様である。
その他本節の参考文献: Unknown parameter |coauthors= ignored (|author= suggested) (help)
特徴
TAD
BTRONで扱うデータは、TAD（Tron Application Databus）という交換用の基本形式を定め、基本的なデータは任意のアプリケーション間で自由に交換できるものとし「Databus」を標榜した。文章（ワープロ的な修飾含む）と図形（ラスタ/ベクタの双方）については標準を定め、その他についても共通してチャンクの長さを示すヘッダを先頭に持つので、アプリケーションが対応していないデータを見つけてもそのままスキップできるよう考慮されている。データのチャンクを、BTRONの仕様書などではセグメントと呼んでいる[8]。
また、TRONチップがビッグエンディアンであったため、TADもビッグエンディアンで設計されたが、BTRON286の実装にあたりリトルエンディアンに修正された準TADが定義され、現状広く使われている実装はTRONチップを使ったMCUBE上のものを含め全てそちらである。
画像（ラスタ）データは、パレット方式と直接指定、パックドピクセルとプレーン、等、任意のハードウェアの方式に適応させるという方向性で定義されている。いずれもベタの非圧縮である。圧縮については白黒画像のMH（ファクシミリ#1次元符号化方式 (MH)）方式のみ定義されていた。動画が動いている実装がある[9]が、公開されているTAD仕様内には時間軸に関する記述は一切存在していない。実際のアプリケーションでは、TADの方針にしたがって独自データをTADのセグメントとして保存するようなものもあるが、TADではなく直接レコードを読み書きしてしまうようなものもある。
実身/仮身
BTRONでは、ファイル管理モデルとして、従来のディレクトリ（フォルダ）によるツリー構造をなすモデルではなく、実身/仮身モデルと呼ぶ任意の有向グラフ構造をなすネットワーク型のモデルを採用している。BTRON2ではさらに全ての計算機資源を実身/仮身モデルで管理している。ユーザに提供される機能としては、BTRON（実装が広く使われているBTRON1やBTRON3）の実身/仮身モデルは手軽なハイパーテキスト環境となっている。
従来はファイルとフォルダとして、データを収める実体とそれを指し示すインデックスのまとまりとを区別していたわけであるが、BTRONではそのような区分けを廃した。実身/仮身モデルでは、データ本体全体を実身（じっしん、Real Object）とし、実身の中から別の実身を指し示すものを仮身（かしん、Virtual Object）としている。
実身はデータを保持するものという意味では、ファイルのようなものであるが、その内容として含む仮身によって別の実身を指し示す機能があるという意味ではフォルダのようなものでもある。
現在のほぼ全てのUnixでは、ディレクトリを指すようなエイリアスとなるハードリンクを作ることができないようになっているが、BTRONの実身/仮身のリンクは、そのようなリンクを含む任意のリンクを自由に作ることができるハードリンクのようなものである。Unixでは ".." で示される親へのリンクがひとつしかないということが問題となるが、BTRONではそもそもツリー状に管理することを放棄しているため問題とならない。
リンクが削除されることで、実身が参照されなくなったことの確認はUnixのファイルシステムなどと同様に参照カウント方式でおこなわれているが、任意の構造が許されているために、参照カウント方式の弱点としてよく知られている通りループがあるとどこからもたどりつけないのにディスク容量を占領し続ける、という実身が発生し得る。現状では、ファイルシステムを一旦切り離すか、（システムディスクの場合は）システムを特別な状態で起動し、fsck同様のチェックと同時にいわゆるストップ・ザ・ワールド方式のガベージコレクションをおこなってそのような実身をチェックする機能が実装されている。
また、従前のたいていのファイルシステムと異なり、基本的には名前（「実身名」）をシステム側での識別には（IDとしては）使わないことになっているため、ユーザは自由に名前を付けることができる（現状では実装上の理由で長さの制限がある）。
現在BTRONの使用感覚を再現したソフトとしてWindows用のがある。
現存のBTRON3およびBTRON1の実装では、以上の機能をマルチレコード機能を持ったファイルシステム上に実現している。1ファイルが1実身に対応し、データ本体を含むレコードがあり、その他に、その実身が含む仮身が指す先の実身に対応するファイルを指す「リンクレコード」を持っている。このような設計であるため、TADによる実身データそのものは、基盤となるシステムにおけるリンクの表現方法の影響を受けない。
問題点
現在発生している問題点として、BTRON286以来引き継がれたファイルシステムの実装に由来する、ひとつのボリューム（ハードディスクのパーティションなど）に最大で64Ki個のファイルしか置くことができないため、実身の個数がそれに従って制限されているという点が指摘されている。現在発売されている超漢字Vにも同じ制限がある。
これは、ファイルIDが16ビットの固定長整数であるためで、現行のシステムとバイナリの互換性を保ったままこれを拡張することは困難</b>とされている。従ってこの実身数制約を拡張するためには、再設計と実装が必要である。
リアルタイム動作
BTRON仕様OSは、リアルタイムOSであり、ビデオ、オーディオ等、実時間処理が必要なタスクを安定して処理できる。BTRON1の実装はモノリシックであったが、リアルタイム性のある実装となっており、ファクトリオートメーションでの採用例がある[10]。BTRON3では、ITRONをマイクロカーネルとして利用しており、メモリのページアウト等に注意は必要だが、実時間処理が可能である。
Windowsではグラフィックカードのドライバがメーカーによりチューニングされているが、そういった描画等の加速化はされていないため、画面の書き換えは遅く感じることもある。起動時間は短いが、これはデーモンや対応デバイスの少なさのためであり、単純に比較することはできない。
HMI
BTRONに限らず、TRONプロジェクトでは、ヒューマンマシンインタフェースについても標準化を図り、『トロンヒューマンインタフェース標準ハンドブック』として出版している。BTRONのユーザインタフェースはこれに則り設計されている。
ダイレクトオペレーション
BTRONでは、画面上にあるものは基本的に全て、マウスや電子ペン等のポインティングデバイスで操作することが可能となっている。コンピュータに詳しくないユーザーにでも簡単に扱えるように、ウィンドウのサイズ変更はもちろんのこと、選択範囲<!--（BTRONでは「ちらつき枠」という） ← それは実装のひとつであって、選択範囲という言葉を言い換えるものではない-->の文章や図形は、そのままドラッグ・アンド・ドロップ（TRONでは俗に「つかんでポイ」という）操作で移動ないし複写できる。
アプリケーションの起動は、文書などの実身を示す仮身を、ダブルクリックするなどして起動するのが基本である。Mac OSにおけるファイルタイプやクリエータといったメタ情報によるアプリケーションの選択や、Windowsにおける拡張子連動と同様の操作であるが、BTRONでは基本的にはこれ以外にアプリケーションの起動方法がない。
たとえば、新規の文章を書き起こす場合、他では、編集対象を指定しないで、まずアプリケーションを起動する。BTRONでは、アプリケーションと一緒に実身の雛形が登録されており、それを実身複製することで作業を始める。具体的には「原紙集め」という特別のウィンドウを開き、そこから、文章の編集であれば「原稿用紙」という仮身をドラッグして、任意のウィンドウ中にドロップする。（通常この操作は仮身の移動だが、「原紙集め」アプリの特殊性により）新しい文書となる実身が複製され、その実身を指す仮身が作られる。
他のOSで一般的な、まずアプリケーションを起動してから、新規文書を作成する・既存の文書を読み込む、といった操作は、BTRONでは不可能である。「書く前に新しい紙か既存の文書を用意」などの現実の行動と合っているのでわかりやすいという人もいれば、他のOSと違いわかりにくいという人もいる。操作の主体をまず選択し、それに対する操作を指示する、というスタイルは、Xerox Starないしよりオブジェクト指向であったSmalltalkシステムに類似している。
イネーブルウェア
TRONではイネーブルウェアと呼んでいるが、プロジェクトの初期から、ユニバーサルデザインにも注力している。BTRON仕様OSでは、さまざまなハンディを持つ人でもよりパソコンを使いやすいようにメニュー項目や実身名の書体・サイズ、マウスポインタの大きさ、仮身サイズや表示方法、ウィンドウのスクロールバーの幅などが自由に変更できる様に定められている。使用感の統一化を図るため、例えば、マウスポインタのデザインは、特別な場合を除き変更しないこととされている。初めて使用するアプリケーションであっても混乱がないよう、メニューの並び順なども規格化されている。多言語の利用についても考慮されたデザインガイドラインも既定されている。市販のTRON仕様OSにおいても、上記の機能は実装されている。
TRONコード

BTRONは、（OS/omicronなどと同様に）16ビットで文字を表現することを前提に設計された。データ形式であるTADの文字コードはTRONコードであり、0xfe** のエスケープによって複数の16ビット面を切り替えるようになっており、任意に空間を広げることができる。現在の実装では内部コードとして32ビットを使用している。
実装
古い順に示す。まず、松下電器産業とパーソナルメディアにより、後述するCECマシン等を想定した、16 ビットCPU286上への実装であるBTRON286が試作された。これの仕様がBTRON1（初期にはBTRON/286とも）である。これをベースとした実装に、松下通信工業「PanaCAL ET」の「ETマスター」、パーソナルメディアより販売された、Panacom Mシリーズに搭載した「1B/Note」等やPC/AT互換機用の「1B/V」シリーズの「1B」がある。
BTRON2は仕様書[11]が作成され、富士通製TRONチップF32/300の搭載された評価機GENESYS上への実装が予定されていた[12]。パーソナルメディアによる実装で、「2B」という名前が出ている[13]。
SIGBTRONで製作されたTRONチップマシンMCUBEには32ビット化し、マイクロカーネルにITRON仕様OS（ItIs）を使用した「3B」が実装された。3Bをベースとした実装に、BrainPad TiPO（V810）などの「B-right」、PC/AT互換機（386）用の「B-right/V」などがある（現在、マイクロカーネルはI-right(/V)となっている）。B-right/Vが準拠している仕様が、BTRON3仕様として公開されている。B-right/Vを含む製品「超漢字」が一般販売されており入手が容易である。
BTRONとは謳われていないが、T-Kernel用ミドルウェアのT-Shellが、超漢字の外殻の一部と同様の機能を提供している。
歴史
この節で、他に特記なき記述は、ウェブアーカイブで参照した、トロン協会ウェブサイトの「沿革」[14]による。
BTRONサブプロジェクトの開始
最初期の記録としては、「マイクロコンピュータ応用国際コンファレンス'84」予稿集（1984）に収録された「TRONプロジェクト」中での "B-TRON" への言及、「アーキテクチャワークショップインジャパン'84」シンポジウム論文集に収録された「TRONトータルアーキテクチャ」中でのBTRONへの言及、『情報処理』Vol.26 No.11 (1985/Nov、創立25周年記念特集号)「BTRONにおける統一的操作モデルの提案」がある。
1986年、TRONプロジェクトのサブプロジェクトとしてBTRONプロジェクトが本格的に始動し、BTRON技術委員会をトロン協会に設置した。初期の構想はIEEE MicroのTRON特集号 (Vol. 7, No. 2 (1987/Apr)) の記事にまとめられており、同号を翻訳収録した『TRON概論』で読むことができる。
1988年6月発行の『TRON概論』には、数枚のスクリーンショットと、「インプリメント事例」として松下電器産業(株)による「BTRON286」の報告が収録されている。
1988年12月にトロン協会が「BTRON/286」の仕様概要を公開し、翌1989年3月、松下電器が、次節で述べる教育用を企図した「教育用パソコン仕様標準構想」とした実用レベル機を完成させた。
教育用パソコンへの導入計画
1986年4月に臨教審が出した「教育改革に関する第二次答申」にもとづき、同年7月、文部省と通産省共管の、財団法人コンピュータ教育開発センター（CEC）が設立された。CECは、当時の学校教育、特に義務教育へのコンピュータ導入に向け、1987年4月に教育ソフトライブラリを設立、同7月にシンポジウム開催といった活動をしていた。同8月、CECは「CECコンセプトモデル'87」と銘打って教育用パソコンの試作を募集、これに応じて集まった試作機を翌1988年7月に公開展示するなど、教育用のパソコンの方向を示す意欲を見せていた。[15][16]
1989年3月、CECが学校に導入するパソコンにはTRONをという決定をくだした[17]。これにより(B)TRON普及の足がかりとなるかと思われたが、これが次節に述べる通商問題でクレームの対象となってしまった。
この際に示された「教育用パソコン」のキーボードおよびキー配列は、TRONキーボードではなく、新JIS配列をベースとしたものであった。
なお、教育用として、あえて市場シェアが大きくはない製品を採用する、というのは他例のない話ではなく、英国のエイコーン・コンピュータのような例がある。
通商問題
1989年、アメリカ合衆国通商代表部（USTR、スーパー301条による制裁などについて強い影響力がある）の報告書において、日本における貿易障壁としてTRONが挙げられる、という事件が起きた。
詳細は次の通りである。1989年4月12日にUSTRが発行した報告書 "1989 National Trade Estimate Report on Foreign Trade Barriers"（「外国貿易障壁報告書」（ISSN）1989年版）内の、日本の貿易障壁についての報告中、セクション7 "7. OTHER BARRIERS" において、「半導体」「光ファイバー」「航空宇宙」「自動車部品」「流通システム」「商慣行（Marketing Practice Restrictions）」「大店法」のようにサブセクションを設けて列挙されたうちのひとつがTRONであった。他が基本的に分野を挙げているのに比べて、特定のシステムの名指しは異様である。
報告では、いくつかの米国企業もトロン協会のメンバーではあるが、TRONベースのPCや通信機器を売る位置を占めている米国企業は無いこと、日本政府がTRONを支持していることにより日本のメーカーが有利になりうる、特に教育分野（前述のCECに言及）と通信分野（NTTのCTRON採用に言及）で既にそれは起きている、と指摘している。
さらに、教育分野ではTRONにより、米国のOS（具体的にMS-DOS、OS/2、UNIX[18]を例示している）が巨大な新しい市場から排除されつつあるとし、長期的にはTRONは日本のエレクトロニクス分野の全市場に影響し得る、と分析している。報告の最後のパラグラフでは、既に1988年9月9日（以降）、米国から日本にこれらの件に関心を持っていることを伝えており、1989年3月にはNTTの件について詳しい要求仕様を示すよう交渉が行われ、日本政府を通してTRONについてさらなる情報を調査中であると締めくくっている。
トロン協会は5月にUSTR代表あてに文書で抗議し、TRONは外された（ウェブアーカイブ、トロン協会ウェブサイト「通商問題経緯」[19]）。
しかし同年6月、マスコミは「教育用パソコンにBTRON採用断念」と報道（トロン協会「沿革」[20]1989年6月）した。実際に、CECの提唱したBTRONの導入は実施されず、学校教育に導入されたのは、PC-9801をはじめとするMS-DOSマシンであった。これを契機に、TRONプロジェクト、特にBTRONプロジェクトは失速期に入り、「失敗」などとレッテル貼りをする者などもあらわれるようになる。
この騒動の背景として、1990年代当時は、パソコン市場シェアの過半数を占めており、CECの選定において1988年当時、松下を筆頭とする他社全者連合（IBMをも含んでいた）を敵に回して反対していた[17]日本電気や、MS-DOSを擁するマイクロソフトの名が囁かれていた[21]。また、かねてからの日米貿易摩擦に加えての80年代の日米ハイテク摩擦、ジャパンバッシング、ニッポン株式会社論、IBM産業スパイ事件、CACMの83年9月号の表紙イラスト[22]に代表される日本脅威論などが記憶に新しい時代であり、TRON自身もIEEE MicroがTRON特集を組んだり（87年4月など）米国で目立ったであろう要素もあった。
CECの選定取り消しについては、大下英治の『孫正義 起業の若き獅子』（ISBN 4-06-208718-9）pp. 285-294によれば、かねてより自社の事業であるソフト流通業が儲かるような業界態勢作りに腐心していた孫正義により、TRONによって日本の産業がグローバルスタンダードから外れ世界に取り残されると煽って盛田昭夫から紹介された棚橋祐治（当時機械情報産業局長）、林良造（当時情報処理振興課長）らと「TRON壊滅へのレールが敷かれはじめ」ていたところだったが、この機会に301条を楯にプロジェクトを潰してしまえ、という孫によるアドバイスにより、通産省は学校へのTRON導入を中止したという。同書の見出しには「TRON蔓延を水際で阻止」とある。
この件に関して、TRONプロジェクト側では異例の意見表示があった。パーソナルメディア社が編集・刊行しているTRONWARE誌の60号（1999年12月発行）p. 71において、編集部の署名で「TRONプロジェクトを阻んだ人」と題した記事で、前述の伝記を、（TRONを妨害した）「成果を誇る」本を出した人がいる、と紹介した。
同記事では、孫がMSXに反対したこと、Unixを一旦は支持したようだったことなどを紹介し、また伝記中で紹介されている、孫、西、坂村が一堂に会したカンファレンスについて、坂村による、それはUnixの技術者のカンファレンスだったはずで自分も西も技術の話をしたが孫氏は商売の話をして場違いな感じだったと記憶している、といった証言を載せたりもしているが、全体としては、独自技術の芽を潰すことが正しいことか？　とまとめている。
なお、1988年12月に、ソフトバンク（当時は(株)日本ソフトバンク）出版部（現ソフトバンククリエイティブ）より、『コミック版 トロン革命』（ ISBN 4-89052-037-6 ）という書籍が出版されている。
PanaCAL ET
1993年から中学校技術科の選択内容に「情報」が入る準備として、1990年度から文部省による「教育用コンピュータ補助事業」が始まった。
前節までに述べたような経緯があったが、これに合わせBTRONマシンとして松下通信工業から、BTRON286をベースとしたOS「ETマスター」を搭載した教育用パソコン「PanaCAL ET」が発売された。ハードウェアはPanacom Mをベースとし、教育用向けのために24ドットフォントROM等を強化したものだった。[23]
しかし、この時に学校に導入された機種は、その多くが、先取的な教師により既に多数作られていたBASICのプログラムやワープロソフトのデータを継承できるという理由からか、PC-9800シリーズだった。
90年代以降

1989年12月 BTRON1ソフトウェア仕様書 公開
1989年12月 日本航空によるBTRONを使用した予約システムの開発
1990年 松下通信工業から、BTRON1仕様（BTRON286ベース）の「ETマスター」を搭載したPanaCAL ET発表
1991年 1B/Note発売
1994年 PC/AT互換機汎用の1B/V1発売
1995年 1B/V2発売
1996年 BrainPad TiPO発売
1996年 1B/V3発売
1998年 B-right/V発売
1999年 超漢字発売（B-right/V R2）
2000年 超漢字2発売（B-right/V R2.5）
2000年 GT書体公開
2001年 超漢字3発売（B-right/V R3）
2001年 T-Engine, T-Kernel 発表
2001年 超漢字4発売（B-right/V R4)
2006年 超漢字V（B-right/V R4.5）
脚注

外部リンク





(ウェブアーカイブ)
(ウェブアーカイブ)