ソフトウェアエンジニアとして転機(3) [ソフトウェアエンジニアとして転機]
Fuji Xerox 6060ワークステーション
1984年に就職して夏に配属されたのは、独自のワークステーションを開発するグループでした。当時、富士ゼロックスはBTronにも取り組んでおり、プロトタイプもあったのですが、独自にJ-Starに似たワークステーションの開発に着手しました。J-Starのソフトウェアを移植するのではなく、OS(Idris: Unixクローン)を除き、CPUボードからすべてを一から開発するプロジェクトでした。
この開発で私が初めて学んだ主な技術は、以下の通りです。
- Unixの基本知識
- Unixのコマンド
- vi
- C言語
- Ethernetプロトコルを含むXNS(Xerox Network Systems)のプロトコル体系
Unixの基本知識、コマンド、vi
大学院の終わりの頃に、どこかの研究室にUnixワークステーションが導入されたのですが、ほとんど触ったことはありませんでした。6060ワークステーションでは、UnixクローンであるIdrisと呼ばれるOSを採用していましたし、開発にはVAXを使って、その上でBSD 4.2(?)が動作していました。当時のUnixは、今日のLinuxやmacOSなどと比べると非常にシンプルでした。- スレッドはなく、プロセスのみ
- プロセス間通信は、fork/execしてパイプでの通信のみであり、共有メモリもない。
- 任意のプロセス間で通信するためのメッセージング機構
- プロセス間でメモリを共有する共有メモリ機構
今日でも使っている基本的なUnixのコマンドはこの頃に学びましたし、エディタとしてのviも学びました。しかし、今から振り返ると非常に貧弱なエディタ環境でした。80桁×24行のキャラクタ端末を使ってソースコードを編集していたので、ソースコード全体の見通しが悪かったのです。そのため、ソースコードはいつも印刷していました。印刷するといっても、当時はドットインパクト式プリンタでしたので、音がしてうるさかったです。
この6060ワークステーションの開発環境をはるかに飛躍させたのは、4.3BSDが登場して、4.3BSDにXNSプロトコルが提供され、J-Starワークステーション開発用のXDE(Xerox Development Environment)から4.3BSDが使えるようになったことです。4.3BSDに提供されたXDE用のコマンド(確かREdit)のネットワークプロトコルをリバースエンジニアリングして、同じコマンドをIdris環境にC言語で実装してからは、エディタとしてXDEが使えるようになり、マルチウィンドウやウィンドウ分割、それに、XDEからのターミナル接続などができて快適になりました。
開発ツールの整備
6060ワークステーションの開発は、ユーザに提供するアプリケーションの開発のみならず、すべての開発用ツールを独自に開発するものでした。XNSプロトコルの設計・実装を担当していましたので、英語の仕様書しかなったXNSプロトコルを理解して、Idris上で動作する以下の開発用ツールを開発しました。- Ethernet上のパケットをキャプチャーしたり、TCPに相当するXNSプロトコルのSPP(Sequence Packet Protocol)レベルでファイルにダンプしたりするツール。
- Printingプロトコルを実装して、ソースコードをInterpress形式(Xerox社のPDL:Page Description Language)へ変換して、レーザープリンターへ送って印刷するツール(ドットインパクト式プリンタと違い、オフィスが静かになりました)。Interpressへの変換は他のエンジニアが実装しました。
- Filingプロトコルを実装して、J-Starのフィルサーバを使えるようにするツール。これで、離れた開発拠点へファイルを電子的に送ることができるようになりました(これ以前は、フロッピーディスクに保存したファイルを物理的に運ぶためにバイク便を使っていました)。
- Mailingプロトコルを実装して、Idrisからも社内の電子メールを読んだり送信できたりするようにしました。
- リモートログイン機能。Idris間でリモートログインできるようにするためのデーモンとrlogin相当の機能。これは、私ではなく他のエンジニアが作成しました。SPPを使って実装してあり、Unix 4.3BSDに搭載されたデーモンと同じプロトコルを採用していたと思います。
6060ワークステーションの開発は、私にとってUnix関連の基礎となる多くの経験を積むことができたプロジェクトでした。最初に述べた事柄に加えて、「不便なことを解決するために自分達でツールを開発して、配布する」ことを行うようになったプロジェクトでもありました。
6060ワークステーションの当時のテレビCM
こちらです。2019-11-22 08:20
コメント(0)