Alto

Altoは、後にデスクトップ・メタファーを使用し、グラフィカルユーザインタフェース  をベースにしたオペレーティングシステム  をサポートするように設計された最初のコンピュータである。最初のマシンは1973年3月1日に動き始めた。Appleが大規模市場向けGUI搭載パソコン「Macintosh」を発表する10年以上前のことである。

Altoは比較的小さなキャビネットに収められ、複数の小規模・中規模集積回路から作られたカスタム中央処理装置  を使用している。10年 - 15年後の「パーソナルコンピュータ」の一般的な性能を想定して設計されたため、マシン1台当たりのコストは高級車の販売価格に達した。当初は少数しか製造されなかったが、1970年代後半までに、ゼロックスの様々な研究所で約1,000台、いくつかの大学では約500台が使用されていた。製品化計画もあったが、社内での駆け引きに敗れ一旦は破棄された。しかし1977年11月の社内向けカンファレンス「フューチャーズ・デイ」での成功をうけてゼロックス本社上層部の興味を引き、1970年代終盤にはホワイトハウスなど限られた顧客にも販売されるなどして、総生産台数は試作機としては異例の約2,000台に達した。

Altoはシリコンバレーでよく知られるようになり、そのGUIはコンピューティングの未来とみなされるようになった。1979年、スティーブ・ジョブズ  はパロアルト研究所  への訪問を手配し、Apple Computerの従業員がゼロックスの技術のデモンストレーションを受ける代わりに、ゼロックスがAppleのストックオプションを購入できるようにした。2回に渡ってAltoを見学した後、Appleの技術者たちは、そのコンセプトを利用して、Apple LisaやMacintoshシステムを開発・発表した。

ゼロックスは最終的に、Altoで培われたハードウエア技術を転用し、PARCとは別の部署で秘密裏に開発を進めていたOSを搭載したGUI搭載ワークステーション「Xerox Star」を商品化し、1981年に最初に販売した。完全なオフィスシステムは、数台のワークステーション、ストレージ、レーザープリンターを含み10万ドルもしたため、同じく高価格路線で商業的に失敗したApple ComputerのLisaと同様に、Starは市場に直接的な影響を与えることはほとんどなかった。

1. 歴史
-----

Altoは、SRIインターナショナル  のダグラス・エンゲルバート  とダスティン・リンドバーグ  によって開発された oN-Line System  に触発されて、1972年にバトラー・ランプソン  が書いたメモの中で考案された。設計は主にチャールズ・P・サッカー  が担当した。工業デザインと製造はゼロックスに委託され、そのスペシャルプログラムグループのチームには、プログラムマネージャーとしてダグ・スチュワート 、アビー・シルバーストーン・オペレーションズ 、工業デザイナーのボブ・ニシムラ  が含まれていた。最初の30台はゼロックスエルセグンドによって製造され、PARCのジョン・エレンビー 、エルセグンドのダグ・スチュワート、アビー・シルバーストーン  とともに、Altoのエレクトロニクスの再設計を担当した。パイロット運転の成功により、チームはその後10年間で約2,000台を生産した。

Xerox Altoのシャーシは現在、カリフォルニア州マウンテンビューのコンピュータ歴史博物館に数台、ジョージア州ロズウェルのコンピュータ博物館に1台が展示されており、個人の手に渡ったものもある。ランニングシステムは、ワシントン州シアトルのリビングコンピュータ博物館Living Computers: Museum + Labsに展示されている。Charles P. Thacker は、Alto の先駆的な設計と実現により、2010年3月9日に Association for Computing Machinery の 2009 チューリング賞 を受賞した。2004年のチャールズ・スターク・ドレイパー賞は、Altoに関する研究に対してThacker、アラン・ケイ 、Butler Lampson、ロバート・テイラー  に授与された。

2014年10月21日、Xerox Altoのソースコードやその他のリソースがコンピュータ歴史博物館から公開された。

2. アーキテクチャ
----------

以下の記述は、主にゼロックスPARCの1976年8月発行のAlto Hardware Manualに基づいている。

Altoはマイクロコード化されたデザインを使用しているが、多くのコンピュータとは異なり、層状化デザイン上でマイクロコードエンジンはプログラマから隠蔽されなかった。ピンボールなどのアプリケーションは、これを利用してパフォーマンスを高速化している。Altoは、Texas Instruments 74181チップをベースにしたビットスライス算術演算論理ユニット  を搭載し、書き込み可能なコントロールストア拡張機能を備えたROMコントロールストアを備え、16ビットワードで構成された128 kB  のメインメモリで構成されている。大容量記憶装置は、IBM 2310で使用されていたものと同様の着脱可能な2.5MBのワンプラッタカートリッジを使用したハードディスクドライブを使用している。ベースマシンとディスクドライブ1台は、小型冷蔵庫ほどの大きさのキャビネットに収められ、デイジーチェーンを介してもう1台のディスクドライブを追加することができる。

Altoは機能要素間の線引きを曖昧にしたり、無視したりしていた。ストレージや周辺機器への電気的インタフェースが明確に定義されている個別の中央処理ユニットではなく、Alto ALUはメモリや周辺機器へのハードウェアインタフェースと直接相互作用し、コントロールストアから出力されるマイクロ命令によって駆動される。マイクロコードマシンは、固定の優先度を持つ最大16の協調タスクをサポートする。エミュレータタスクは、ほとんどのアプリケーションが書かれた通常の命令セットを実行するが、その命令セットはData General Novaの命令セットと似ているものの同じではない。その他のタスクは、ディスプレイ、メモリリフレッシュ、ディスク、ネットワーク、その他のI/O機能を実行する。例として、ビットマップ表示コントローラは16ビットのシフトレジスタに過ぎず、マイクロコードは、表示リフレッシュデータをメインメモリからそのシフトレジスタに移動し、メモリデータの1と0に対応する表示画素にシリアル化する。イーサネットも同様に、最小限のハードウェアでサポートされており、出力ワードのシリアル化と入力ワードのデシリアル化を双方向に行うシフトレジスタを備えている。その速度が3Mビット/秒に設計された理由は、マイクロコードエンジンはこれ以上高速化することができず、ビデオ表示、ディスクアクティビティ、メモリリフレッシュをサポートし続けるためである。

当時のほとんどのミニコンピュータとは異なり、Altoはユーザインタフェース用のシリアルターミナルをサポートしていない。イーサネット接続を除けば、Altoの唯一の共通出力デバイスは、傾斜＆回転の台座を備えた2値  ブラウン管  ディスプレイで、一般的な「横向き」ではなく「縦向き」に取り付けられた。入力デバイスは、カスタムの着脱式キーボード、3ボタンマウス、オプションの5キー・コードキーボードChorded keyboardである。この2つはSRIのOn-Line Systemで導入されたもので、マウスはAltoユーザーの間で瞬く間に成功したが、コードキーセットは人気が出なかった。

初期のマウスでは、ボタンは3本の細い棒状で、左右ではなく上下に配置されて、ドキュメント内での色にちなんで命名された。動きは、互いに直角に配置された2つの車輪で感知されていた。これらはすぐに、ロナルド・E・ライダーが発明してビル・イングリッシュが開発したボールタイプのマウスに取って代わられた。これらは、フォトメカニカルマウスで、最初は白色光で、次に赤外線  を使用して、マウス内の車輪の回転をカウントした。

このキーボードは、各キーが一連のメモリロケーションにおいて個別のビットとして表わされる点で興味深いものがある。その結果、複数のキーを同時に読み取ることができる。この特性を利用して、ディスク上のどこからAltoを起動するかを変更できる。キーボードの値は、起動するディスク上のセクタアドレスとして使用され、特定のキーを押しながら起動ボタンを押すと、異なるマイクロコードやオペレーティングシステムをロードすることができる。これは「ノーズブート」 という表現を生み出し、テストOSリリースの起動で必要なキーにが、思いつくよりも多くの指が必要であった。ノーズブートは、指定されたキー配列を使用できるようにディスク上のファイルをシフトする move2keys プログラムによって廃止された。

テレビカメラ、Hy-Type デイジーホイールプリンター、パラレルポートなど、他にもいくつかのI/OデバイスがAlto用に開発されたが、これらは非常に稀であった。Altoはまた、ファイルサーバとして動作するように外部ディスクドライブを制御することができた。これはマシンの一般的なアプリケーションである。

3. ソフトウェア
---------

Altoの初期のソフトウェアはプログラミング言語BCPLで記述され、後にMesawadlow198109}}で記述された。この言語はPARCの外では広く使われていなかったが、Modulaのような後のいくつかの言語に影響を与えた。Altoは初期バージョンのASCIIコードを使用していたが、これはアンダースコア文字を欠き、代わりにALGOL 60や多くの派生で使用されている左矢印文字を代入演算子に使用した。この特殊性が、複合識別子のキャメルケーススタイルのソースであった可能性がある。また、Altoはユーザーがマイクロコードでプログラムすることも可能であった。

Altoは、テキストやグラフィックを含むすべての出力でラスターグラフィックモデルの使用を普及させるのに貢献した。また、ディスプレイへの基本的なプログラミングインタフェースとして、ビットブロック転送操作の概念を導入した。その小さなメモリサイズにもかかわらず、以下のような多くの革新的なプログラムがAltoのために書かれた。

文書作成支援システム
最初のWYSIWYG文書作成システム、BravoとGypsy
コミュニケーション
Laurel 電子メールツールとその後継機、Hardy
Chat
グラフィクス
Sil ベクトルグラフィックエディタ。主に論理回路、プリント基板、その他の技術的図面に使用される。
Markup ビットマップエディタ 
ライン＆スプラインを使ったDrawグラフィカルエディタ
Lynn Conway, Carver Mead, Mead & Conway革命の研究に基づいた最初のWYSIWYG集積回路エディタ。
プログラミング
BCPL, Mesa, Cedar
Interlisp, Alto Lisp
Smalltalk環境の初期のバージョン
ネットワーキング
PARC Universal Packet
ファイリング
Interim File System 
File Transfer Program 
プリンティング
Orbit
ファイル管理
Executive, NetExec
Neptune
CopyDisk
ゲーム
最初のネットワークベースの複数人用ビデオゲーム 。//
//Maze War//表計算ソフトやデータベースソフトウェアはなかった。そのようなソフトはメインフレームなどには存在したが、個人が専有して使用するコンピュータ向けに販売された最初の表計算ソフトであるVisiCalcが登場したのは1979年のことである。

4. 暫定ダイナブック
-----------

[[ダイナブック#暫定ダイナブックアラン・ケイらによってAlto上で開発された世界初のGUIベースのオペレーティングシステム  的存在であるSmalltalkは、パーソナルコンピューティングの方向性をエンドユーザーに示すだけでなく、オブジェクト指向の概念を本格的に取り入れた設計で開発者にもアピールし、このときのオブジェクト指向によるOS設計は、現在最先端と言われるOSにも今なお色濃い影響を与え続けている。1970年代半ばにはすでに、ウインドウシステム、メニュー操作、アイコン付きパレット、WYSIWYGエディタなど、現在のパソコンに匹敵する特徴も備えていた。出資受容の条件に要求してこれを見た、Apple Computerのスティーブ・ジョブズに大きな影響を与え、LisaやMacintoshを開発させるきっかけとなったとともに、PARCからAppleへの転職が相次いだ。

5. 普及と進化
--------

技術的には、Altoは小型のミニコンピュータであったが、当時のメインフレームコンピュータや他のミニコンピュータとは対照的に、一人で机に座って使用するという意味では、パーソナルコンピュータと見なすことができた。それは間違いなく「最初のパーソナルコンピュータ」であったが、このタイトルについては他の人々の議論がなされている。より重要なことは、Unixオペレーティングシステムに基づくApolloや、開発環境としてLispをネイティブに実行するように設計されたSymbolicsのシステムのようなシングルユーザーマシンのスタイルの最初のワークステーションシステムの1つであると考えられている。

1976年から1977年にかけて、スイスのコンピュータのパイオニアであるニクラウス・ヴィルト  はPARCでサバティカルを過ごし、Altoに興奮していた。Altoシステムをヨーロッパに持ち帰ることができなかったヴィルトは、ゼロから新しいシステムを作ることを決意し、彼のグループと一緒にLilithを設計した。Lilithは1980年頃に完成したが、これはApple LisaやApple Macintoshが発売されるかなり前のことである。1985年頃、Wirthは「Project Oberon」という名前でLilithの全面的な再設計を開始した。

1978年、ゼロックスは50台のAltosをマサチューセッツ工科大学、スタンフォード大学、カーネギーメロン大学、ロチェスター大学に寄贈した。メリーランド州ゲイザースバーグにある国立標準局コンピュータ科学研究所  には、1978年後半に1台のAltoが、Xerox Interim File System  ファイルサーバーとDoverレーザープリンターとともに寄贈された。これらのマシンは、ETH Zürich LilithやThree Rivers CompanyのPERQワークステーション、そして最終的にスピンオフ企業であるサン・マイクロシステムズによって販売されたStanford University Network  ワークステーションにインスピレーションを与えた。Apollo/Domainワークステーションは、Altoの影響を強く受けた。

Altoの取得後、ホワイトハウスの情報システム部門は、連邦政府のコンピュータ・サプライヤーをその方向に導こうとした。米国大統領府  は、IBM互換のメインフレームに接続されたAltoのようなワークステーションを使用して、老朽化した行政管理予算局  の予算システムに代わるコンピュータシステムの提案を要請した。そのような構成を提供できるメインフレームメーカーがなかったため、この要請は最終的に取り下げられた。

1979年12月、Apple Computerの共同創設者であるスティーブ・ジョブズ  はPARCを訪れ、Smalltalk-76オブジェクト指向プログラミング環境、ネットワーク、そしてもっとも重要なのはAltoが提供するマウス駆動のGUIであるWYSIWYGを見せられた。当時、彼は最初の2つの重要性を認識していなかったが、最後の1つには興奮し、すぐにそれをAppleの製品に統合し、彼の会社で働くために何人かの重要な研究者を引きつけた。

1980年から1981年にかけて、PARCやXerox System Development Departmentの技術者たちは、Xerox Altoを使ってXerox Starワークステーションを設計した。

6. ゼロックスとAlto
-------------

ゼロックスはPARCで開発された技術の価値に気づくのが遅れていた。1960年代後半にゼロックスがScientific Data Systemsを買収しても、PARCには何の関心を持たなかった。PARCはDigital Equipment Corporation  のPDP-10を独自にエミュレーションしてMAXCと名付けた。MAXCはARPANETへのゲートウェイマシンであった。同社は商業的にテストされていない設計でコンピュータ事業に再び参入することに消極的であったが、その哲学の多くは後の製品に搭載されることになる。

//Byte//誌は1981年に次のように述べているwadlow198109}}。

Altoの後、PARCは、非公式には「Dマシン」と呼ばれている、より強力なワークステーションを開発した