情報基礎論
中植正剛
コンピュータを理解するためには、二つのアプローチがある。一つ目はとにかく触ってみることである。コンピュータは単なる道具なので理解はさておいて、とにかく使えればいいという発想でワープロや電子メールの操作方法をマスターする、という考え方である。もう一つは、コンピュータの仕組みや動作原理や歴史を学ぶという方法である。
どちらが簡単かというと、前者である。また、仕組みや動作原理や歴史を知ったからといってコンピュータが使えるようになるわけではない。
しかし、コンピュータ関連の技術は進化が速いので、触って覚える方法だけを続けているといつか限界が来る。一方では、コンピュータのソフトやハードは絶えず進化しているが、基本的な仕組みや構造はそれほど急激に変わるわけではない。したがって、コンピュータの本質的な仕組みや原理原則を理解しておくことで、次々と出現する新製品・新技術に柔軟に対応できるようになる。
コンピュータとは、日本語では電子式計算機と呼ばれ、その名前のとおり、長い間科学技術計算に利用されてきた。しかし、今では数値の計算だけではなく、ワープロのように文字を取り扱ったり、デジタルカメラで撮った写真のような画像を取り扱ったりと、さまざまなデータを取り扱うことができる。
ところが、あまりにもコンピュータで色んなことができるがゆえに、かえってコンピュータとは何なのかが見えにくくなっている。コンピュータを使うとなんでもできるように錯覚してしまうが、もちろんコンピュータにもできないことはある。例えば、コンピュータは自分で考えることができない。最近は知的なロボットなども開発されているが、一見するといかにも自分で考えているように見えるロボットでも、内部的にはプログラムされた命令を実行しているだけに過ぎない。コンピュータは万能機械ではない。
ではコンピュータとは何かというと、最も簡単に言えば、入ってきた情報を処理して出力する電子機器である。どんなに複雑な処理でも、入力元や出力先が違ったり、処理の内容が異なっていたりするだけで、常に入力−処理−出力が基本である。詳細は学期を通して学んでゆく。
今でこそ、コンピュータは一般の人たちが一人一台所有できる機械であるが、かつては相当高価な機械だった。例えば、最初に販売されたモニターは今の価格に直すと3000万円程度であったという。それどころか、かつてのコンピュータにはモニターすらなく、処理結果は紙に打ち出されたり、ライトが点滅することで出力していた。重さは何十トンという単位の巨大な機械で、空調の効いた専用の部屋に納められ、丁寧に丁寧に使われていた。もちろんそんな巨大で高価な機械を所有できるのは、大企業や政府、軍隊などに限られていて、個人での利用など、とんでもないことだった。では、一体いつコンピュータは発明され、どのようにして今我々が使っているように小さくて個人でも使える機械に発展してきたのだろうか。
世界最初のパーソナルコンピュータ(個人向けのコンピュータ=パソコン)「MITS アルテア 8800」が販売されたのは、今から30年ほど前の1975年のことである。世界で最初のコンピュータ ENIAC(エニアック)が開発されたのは、さらに30年ほど前の1946年である。


これらのコンピュータが登場するまでにも、さまざまな計算用の道具が開発されてきた。まずはその歴史を見ていきたい。
コンピュータの登場以前にも、計算を容易に手早く行いたいという欲求を満たすために、さまざまな道具が発明されてきた。



コンピュータ登場以前の機械式計算機は、歯車を用いて製作されていたが、この方法には次のような弱点があった
これらの点に対して、電子式の計算機は次のような特徴がある。
初めてのコンピュータが誕生したのは、諸説あるので、はっきりしないが、バベッジの解析機関から80年〜90年後で、今から60年〜70年前の1930年代から40年代のことである。諸説があるのは、多くの場所で様々な開発者が同時に同じようなことを考えて電気式計算機の開発を目指したからである。コンピュータの共通した特徴は、それまでのように計算を機械式で行うのではなく、電子式で行うところである。
1937年にクロード・シャノンが、「リレーとスイッチ式回路の記号論的解析」という論文を発表したことで、コンピュータの開発が始まった。
詳しくは別の回で取り扱うが、コンピュータは0と1というたった二種類の情報の組み合わせで画像や音声や文字や数値などの情報を処理している。シャノンの論文によって、ブール代数という数学を使うとこれが可能であることが明らかになった。ブール代数とは、「はい」と「いいえ」の組み合わせで全ての論理的計算を処理する仕組みである。
シャノンの理論を元にして設計されたのが、ABC(アタナーソフ&ベリーコンピュータ)という電子計算機である。
[ 図1-9 ]
(「Scalable Computing Lab, Iowa State University 」より引用)
ABCは、30元の方程式を処理することができた。30元とは、XやYのような変数が30個存在する方程式である。一応本体は完成したが、入出力装置の具合が悪いままで、開発者達が戦争に駆り出され、全体としては完成しなかった。誰も語り継ぐ者がないまま処分されたため、次に挙げるENIACが一応「世界最初のコンピュータ」ということになっている。
現在ではENIACの開発より以前にコンピュータが製作されていたことが分かっているが、多くの書籍でENIACを最初のコンピュータとしている。ENIACの開発は、第二次世界大戦中のアメリカで行われた。当初の開発目的は、北アフリカの砂漠で敵の戦車を砲撃するための弾道計算を行うための計算用の表を作成することだった。
正確に砲弾を目標に当てるためには、砲弾を打ち出す角度や風向きや温度・湿度など様々な条件を考慮して計算を行わなければならず、当時はそれを射表という表を使って計算していた。しかし、射表の作成には非常に時間がかかり、場合によっては一ヶ月も待たなければならない状況であった。一方で、次々に開発される新兵器や刻々と変わる戦況に合わせて新しい射表を大量に作成しなければならなかったため、射表を素早く大量に作成することが必要とされていた。
当時、陸軍が射表の作成を依頼していたペンシルバニア大学では、モークリーとエッカートの二人が真空管を利用した電気式の計算機を作成しようとしており、これを聞きつけた陸軍は射表作成用の計算機開発にために二人に資金を提供し、ENIACの開発が始まった。
1943年に開発が始まったが、完成したのは終戦後の1946年のことであった。
[ 図1-10 ](「Old Good Computer」より引用 )
ENIACの特徴はその巨大さと消費電力の多さである。ENIACは空調の効いた専用の部屋で稼動していたが、これは空調がないと熱で暴走するからである。現在でも、企業などの基幹システムで使用されるコンピュータは空調の効いた部屋に配置されている。最初のコンピュータの開発から現在まで、熱対策はコンピュータの重要な課題であり続けた。ENIACの演算式は、手作業で配線を組み替えたり、スイッチを切り替えたりすることによって入力された。
プログラムや、あるいはコンピュータで演算した結果などを記録しておく記憶装置も、コンピュータの登場以来大きく進化を遂げてきた。以下ではその流れに沿って様々な装置を紹介する。ただし、留意して欲しいのは、新しい装置が開発されても、古い装置がすぐに取って代わられるわけではないということである。コンピュータの歴史においては、新しい装置が発明されても、暫くは古い装置と平行して使用されてきたという経緯がある。




コンピュータには、最初からキーボードが付いていたわけではない。キーボードが用いられるようになる以前は、コンピュータに付いているスイッチを切り替えたり、つまみをまわしたり、配線を組み替えたりして入力を行っていた。あるいは、パンチカードを挿入して命令を送っていた。
パンチカードの作成のためにタイプライター式の機械が使われることはあったが、直接コンピュータにキーボードが接続されているわけではなく、キーを用いてパンチカードを作成し、それをコンピュータに挿入していた。
[ 図1-14 ] IBMパンチカード穿孔機
(「フリー百科事典『ウィキペディア(Wikipedia)』」、及び「(写真で見る歴史的なコンピュータ PC Watch 2001年3月13日)」より引用)

初めて電気式のキーボードがコンピュータに搭載されたのは、1964年のことである。
現在主流になっているキーボードの文字配列はQWERTY配列(クワーティ配列)といわれている。これは、キーボード左上のキー配列が左から「Q」「W」「E」「R」「T」「Y」という並びになっているからである。この配列は、キーボードをわざと扱いにくくするための並び方である。なぜわざわざ扱いにくい配列でキーを配置したのだろうか。
キーボードは、もともとタイプライターで使われていた仕組みである。タイプライターは、キーを押すことによって、ハンマーと呼ばれる、先端に文字が刻印された金属の棒が跳ね上がり、紙に印字されるという機械である。

このとき、あまりにも早くキーボードを打ってしまうと、前に跳ね上がったハンマーが戻り切らないうちに次のハンマーが跳ね上がってしまい、結果としてお互いのバーが絡み合ってしまう。そのようなトラブルを避けるため、最も入力がしにくい「QWERTY配列」が採用された。
コンピュータのキーボードはタイプライタを引き継いでQWERTY配列になっているが、別にQWERTY配列にする理由はない。実際に、入力効率が最大限になるように配慮されたDvorak配列(ドボラック配列)が発明され、QWERTY配列に対して10−40%程度入力速度が速いことが証明された。しかし、それまでにQWERTY配列は広く普及してしまっていたため、今でもQWERTY配列が事実上の標準(デファクトスタンダードという)として使われている。Dvorak以外にも、打ちやすさに配慮したキーボードはこれまで大量に発明されているが、どれも普及には至っていない。デファクトスタンダードの強さがわかる。
NECが作成した数々のキーボード(「写真で見る歴史的なコンピュータ PC Watch」より引用)
コンピュータの世界では、それよりも優れた製品があるにも関わらず、デファクトスタンダードとなっている製品が多い。
コンピュータというとモニター付きを思い浮かべることが多いので、あまりピンと来ないかもしれないが、モニターもキーボードと同様、はじめからコンピュータについていたわけではない。
初期のコンピュータでは、処理結果をパンチカードで打ち出したり、印刷機で印刷していた。
キーボードと同様に、マウスもはじめからコンピュータに付いていたわけではない。世界で最初のマウスは、1964年にスタンフォード研究所のダグラスエンゲルバートによって発明された。
当時のコンピュータの画面には画像は全く表示されず、文字だけで操作を行っていた。キーボードからコマンドと呼ばれる命令文を打ち込んでから、処理を待ち、処理の結果が画面上に文字として表示されていた。つまり、コマンドの入力→処理→結果表示というサイクルを繰り返しながらコンピュータを処理していたのである。
コマンドで操作を行う操作方法をCUI(Character based User Interface = 文字ベースの操作体系)という。
このような操作を習得するには、何十、何百というコマンドを覚えていかなければならないので相当の時間がかかる。コマンドによる操作は一般の人にとって敷居が高いものであり、コンピュータが一般的に使用されるためには、なんらかの改善が必要であった。
一方、1960年代、コンピュータは企業や公官庁などで使用されており、一台のコンピュータを複数の利用者が使うのが当たり前であった。しかし、エンゲルバートは、いずれ一人一台コンピュータを使う時代が来ると考え、誰でも簡単に使えるコンピュータの開発を目指していた。
以上のような背景で、マウスが発明された。
マウスの発明によって、画面に表示されたメニューを選ぶだけでコンピュータの操作が行うことができるようになり、コマンドを暗記する必要がなくなった。
[ 図1-15 ] 世界最初のマウスと発明者のエンゲルバート(出典:Stanford Research Institute)

ダグラス・エンゲルバートが目指したのは、「感覚的に」コンピュータを操作できる仕組みである。上述のように、マウスは「感覚的に」操作が可能なコンピュータの実現の一環として発明されたものであるが、これを受けて、アメリカ・カリフォルニア州のゼロックス・パロアルト研究所でGUI(Graphic User Interface)という仕組みが発明された。
GUIとは、画面上にアイコン(小さな絵)やメニューを配置して、それらをマウスでクリックして操作を行う仕組みのことである。
さらに、一画面上に複数のウィンドウを同時に表示することで、一つの画面で複数の作業を同時に行うことができるようになった。
[ 図1-16 ] (左:世界で初めてGUIを採用したコンピュータ Xerox Alto 1972年米 右:Xerox Altoの画面) (出典:Xerox PARC)

Xerox Altoの基本的な設計思想は、アラン・ケイのダイナブック構想を基にしている。アラン・ケイは、コンピュータは研究用や事務用の計算機ではなく、利用者にとって、文字や音声や画像などが手軽に扱える、紙や鉛筆や本のような存在でなければならないとし、GUIを搭載したA4サイズ程度の子供でも扱えるようなコンピュータを提唱した。
[ 図1-17 ] (出典:Viewpoints Research Institute)

左:ダイナブックのプロトタイプ(試作品)右:アランケイ
Xerox Altoは生産にコストがかかりすぎるなどの理由で結局販売されなかった。しかし、その後コンピュータ産業をリードする多くの人に多大な影響を与えた。Macやi-Podで知られるアップルコンピュータの創始者のスティーブ・ジョブスや、Windowsやワードやエクセルで知られるマイクロソフト社の創始者のビル・ゲイツなどがXerox Altoからアイデアを得たといわれている。
[ 図1-18 ](出典:Apple Computer Inc., Microsoft Corporation)

左:スティーブ・ジョブス 右:ビル・ゲイツ
1946年にENIACが製作された当時は、真空管という部品を組み合わせてコンピュータの演算や記憶に関わる装置を作っていた。真空管とは、電球に似た外見で、電流の流れを制御する部品である。真空管のように演算装置や記憶装置の基本となる部品を論理的な処理を行う最小単位という意味で、論理素子という。
[ 図1-19 ] 左:真空管 右:LSI
(出典: Electronic Magnetic Sciences Inc.)
論理素子は、真空管→トランジスタ→IC→LSIというように進化を遂げてきた
(写真:電気通信大学 電子工学科Webサイトより引用)
(写真:電気通信大学 電子工学科)マウスやキーボードなどの周辺機器の進化、論理素子の進化、記憶装置の進化、GUIの開発などにより、小型で安価で、一般の人でも使いやすいコンピュータ、すなわちパソコンの開発が可能になった。
世界最初のパソコンは、冒頭で紹介したMITSのアルテアである。しかし、アルテアにはモニターもキーボードもついていなかった。アルテアが登場したのは1975年のことだから、既にマウスやキーボードやモニターやGUIは開発されていたが、恐らく、個人向けのコンピュータに搭載するには非常に価格が高かったことが、アルテアにそれらの部品が搭載されなかった理由であると考えられる。
現在のようにキーボードやマウスとともにGUIが搭載された最初のパソコンは、1983年に登場したApple社のLisaというパソコンである。
[ 図1-21 ] Apple, Lisa
Lisaには、5.25インチのフロッピーディスクドライブや外付けのハードディスクドライブが搭載された本格的な個人用コンピュータであった。しかし、価格は$9,995(当時の為替相場と大卒の初任給から現在の価格に直すと約290万円)で、一般的に普及するにはかなり高いものだった。Lisaは価格が高いのであまり売れなかった。
Apple社はその後もGUIパソコンを開発し続けた。1984年には$2,495でマッキントッシュを発売した。マッキントッシュは現在の価格に直すと60万円以上の価値があるが、それまでのコンピュータと比べて安かったので、比較的広く受け入れられた最初のGUIパソコンとなった。
Apple マッキントッシュ(マック)のテレビコマーシャル(1984年)
ところが、Apple社以外のパソコンには長い間GUIは搭載されなかった。Appleは画像の編集や音楽の編集機能など、マルチメディアの取り扱いに優れていたが、Apple社のコンピュータはアーティストや音楽家が利用するものという認識が広く持たれており、事務用には相変わらずコマンドを入力して操作するCUIパソコンが多く使われていた。これは、Apple社のパソコンがCUIパソコンに比べて高価だったからだと考えられる。
Appleの登場にもかかわらず、長い間CUIのパソコンが幅広く使用されていたが、マイクロソフト社が1995年にGUI搭載の基本ソフト「Windows95」を開発したことによって、一気にGUIパソコンが幅広く使用されるようになった。
この影には、IBMの影響力があった。先に述べたように、コンピュータ市場では歴史的にIBMの影響が非常に大きかった。特に、IBMが1984年にPC/ATという自社のパソコンの構造を一般に公開してからは、各社がそれを真似てパソコンを製造したので、パソコンといえばPC/AT機を指す程広く使用されてきた。現在でも、電気店で販売されているパソコンはApple社のコンピュータ以外はほぼPC/AT機である。
IBMが1984年に発表したPC/AT機には、インテル社の演算処理装置と、マイクロソフト社のMS-DOSという基本ソフト(=パソコンを制御するためのソフト)が搭載されていた。
IBMがPC/AT機の構造を公開したことによって最も得をしたのは、マイクロソフト社である。それは、PC/AT機ならどのパソコンもMS-DOSで制御をしなければならなかったからである。
このような状況で、マイクロソフトはApple社のGUIに対抗することのできる基本ソフト「Windows95」を開発したのである。Windows95はさらに、当時流行り始めたインターネットに接続する機能やホームページを閲覧するためのソフトであるブラウザーを搭載していたため、インターネットが一般に普及するための起爆剤となり、飛ぶように売れた。
Windowsはその後もWindows2000やWindowsXPなどの新しいバージョンが開発されてきた。Windowsの登場になって、ほぼ現在のパソコンの環境が整ったといえる
までお願いいたします。