広義には、計算やデータ処理を自動的に行う装置のことであるが、現在ではとくに断らない限り、電子技術を応用して計算やデータ処理を行う装置、すなわちエレクトロニックコンピュータelectronic computer(電子計算機)のことをさす。計算する数量を表す際に、長さや電圧といった連続的に変化する物理量を用いるアナログコンピュータと、数字で表された数を用いるデジタルコンピュータがある。一般に、コンピュータ、電子計算機、略して電算機、あるいは単に計算機というときには、デジタルコンピュータをさす。
一連の計算を自動的に行う自動計算機の考えは、1821年ごろイギリスの数学者バベジによって初めて手がけられた。バベジは、まず、差分に基づいて関数表を作成するための差分機関を手がけ、ついで1834年、現在のデジタルコンピュータの先駆けをなす解析機関の製作を始めた。この自動計算機は、(1)数を蓄える装置(ストア)、(2)蓄えられた数値間の計算をする装置(ミル)、(3)機械の動作を制御する装置、(4)入出力装置からなり、今日のコンピュータとまったく同じ構成になっている。すべて機械部品が用いられたが、時代の技術的制約のために実現までには至らなかった。1991年、ロンドンの科学博物館(The Science Museum)ではバベジ生誕200年を記念して、1847年から1849年にかけてバベジが設計した差分機関No.2の設計図を基に差分機関を製作し、稼動させることに成功している。
最初の自動計算機は、ハーバード大学のエイケンHoward Hathaway Aiken(1900―1973)がIBM社の協力を得て製作し、1944年夏に完成したリレー式計算機MARK-Ⅰ(マークワン)であるとも、ドイツのツーゼKonrad Zuse(1910―1995)が1941年ごろに完成させたリレー式計算機Z3(ゼットスリー)であるともいわれている。
[土居範久]
電子管を使った最初の自動計算機、すなわち実用化された最初の汎用コンピュータ(電子計算機)は、ペンシルベニア大学のエッカートJohn Presper Eckert Jr.(1919―1995)とモークリーによって設計されたENIAC(エニアック)といえるであろう。1946年に完成した。1万8800本の真空管と1500個のリレーを使い、約150キロワットの電力を消費する大規模なもので、加算に0.0002秒、十進数10桁(けた)どうしの乗算に0.0028秒、除算に0.024秒という当時としては画期的な速度であった。しかし、1975年10月イギリス政府の機密解除によって明らかにされ、1976年6月に開催された計算の歴史についての国際会議で、イギリスの電子式暗号解読機Colossus(コロッサス)が1943年12月に完成していたことが報告された。これはドイツ軍が通信に使用していた暗号を解読するためにチューリングらによってつくられたもので、1500本の真空管が使われていた。
ところで、ENIAC完成の翌1947年6月にエッカートとモークリーはコンピュータの基本特許を申請し、1964年2月認可された。これに対し、1971年6月にハネウェル社が特許無効の訴訟を起こした。ハネウェル社はENIAC完成以前に、その技術が確立されていたとし、証人としてアタナソフJohn Vincent Atanasoff(1903―1995)をよんだ。アタナソフは、アイオワ州立大学の準教授時代に線形連立方程式を解くために真空管を用いたコンピュータを、すでに考えており、助手のベリーClifford Berry(1918―1963)と1940年の始めにプロトタイプをつくっていて、そのころにモークリーがアタナソフの実験場を訪れ、そのコンピュータの説明をうけていたと証言した。アタナソフらのコンピュータはアタナソフ・ベリー・コンピュータ、略してABCとよばれたもので軍事目的のために開発されていた。この裁判の結果、ENIACはABCをモデルにして開発されたとの判断が下され、ハネウェル社の勝訴となり、ENIACの特許は無効になった。しかし、ABCが線形連立方程式を解くための専用の計算機であったのに対し、ENIACは汎用性をもっていた。いずれにせよどちらも後のコンピュータに影響を与えている。
MARK-Ⅰ(マークワン)では計算を制御するのに紙テープが用いられたが、ENIACでは配線盤が用いられた。しかしどちらにしても、計算順序を指令する一連の命令は、その対象となるデータとは別に与えられた。
[土居範久]
記憶装置にコンピュータの命令もデータもいっしょに記憶させようという考えは、アメリカのノイマンによって1945年6月に発表された(これも、1944年1月には、エッカートがすでに考えていたという説もある)。このいわゆるプログラム内蔵方式をとったコンピュータは、ENIACを製作したペンシルベニア大学で1944年に製作計画が開始された二進法のコンピュータEDVAC(エドバック)が最初である(完成は1951年)。これは、記憶装置に水銀柱超音波遅延回路を用いている。イギリスでも、水銀槽記憶装置を用いたプログラム内蔵方式で二進法のコンピュータEDSAC(エドサック)が、ケンブリッジ大学のウィルクスMaurice Vincent Wilkes(1913―2010)らによって製作された。EDSACはEDVACよりも先の1949年春に完成したので、実際に稼動した最初のプログラム内蔵方式のコンピュータはEDSACになる(この1949年の春には、同じくイギリスのマンチェスター大学でもウィリアムズFrederic Called Williams(1911―1977)らが記憶装置にウィリアムズ管を用いたプログラム内蔵方式の実験的なコンピュータ、マンチェスターMARK-Ⅰを完成させている。ウィリアムズらはこのコンピュータを製作する際に小型のパイロットモデルを製作し、1948年に稼動させることに成功していたようである)。EDSACは、ソフトウェアの面でもコンピュータ史上に不朽の貢献を残した名機の一つである。これ以降、プリンストン高等研究所でノイマンの指導の下に製作されたIASコンピュータ、エッカートとモークリーのBINAC(バイナック)、マサチューセッツ工科大学のワールウィンドWhirlwind、イリノイ大学のILLIAC(イリアック)、ランド社のJOHNIAC(ジョニアック)などが次々に製作された。
[土居範久]
世界最初の商品としてのコンピュータは、エッカートとモークリーが開発したUNIVAC-Ⅰ(ユニバックワン)である。エッカートとモークリーが設立した会社(エッカート・モークリー・コンピュータ・コーポレーション)を買収したレミントン・ランド社(現、ユニシス社)により、1951年に1号機がアメリカ国勢調査局に納入されている。これは事務用の計算を目的としたもので、2000語の容量をもつ水銀遅延回路と、数本の磁気テープを入出力装置として備えていた。その後、同社、IBM社をはじめ、数多くの会社で製造され、販売されている。
[土居範久]
日本で初めて製作された自動計算機は、1952年(昭和27)工業技術院電気試験所(現、産業技術総合研究所つくばセンター)で製作されたリレー式計算機ETL-MARK-Ⅰ(マークワン)である。本格的なエレクトロニックコンピュータの計画は、東京大学と東京芝浦電気(現、東芝)との共同によるTAC(タック)で、1953年ごろから始められたが、当初難航し、完成は1959年であった。実際に日本で最初に稼動したエレクトロニックコンピュータは、富士写真フイルム(現、富士フイルム)の岡崎文次(おかざきぶんじ)(1914―1998)によって製作されたFUJIC(フジック)で、1956年3月に完成した。FUJICは現在、東京の国立科学博物館に所蔵されている。電気試験所では、トランジスタを使ったコンピュータの研究が行われ、1956年ETL-MARK-Ⅲ(マークスリー)、ETL-MARK-Ⅳ(マークフォー)が相次いで製作された。日本では、このほかに、東京大学の後藤英一(1931―2005)によって発明されたパラメトロンを用いたコンピュータが、日本電信電話公社(現、日本電信電話株式会社)電気通信研究所のMUSASINO-1号(1957年完成)を初めとして、東京大学高橋秀俊(たかはしひでとし)(1915―1985)研究室、日立製作所、日本電気などで製作された。同じころ、慶応義塾大学でも創立100周年を記念してトランジスタを用いたコンピュータKCC-1が開発されている。その後、日本独自の技術あるいはアメリカの製造会社との技術提携などによって、次々と新しいコンピュータが製作されている。
[土居範久]
コンピュータの基本的な論理素子であるAND(アンド)素子、OR(オア)素子、NOT(ノット)素子はいずれも、電気を通すか通さないかというスイッチが基本となっている。このスイッチ機構として真空管を用いたものを第1世代のコンピュータ、トランジスタを用いたものを第2世代のコンピュータという。トランジスタを用いた論理素子をいくつも数ミリメートル角の中に集積した集積回路ICを用いたものが第3世代のコンピュータである。集積度をさらにあげた高密度集積回路LSIを用いたものを第3.5世代とよんだり第4世代とよんだりする。現在は、さらに集積度をあげることが試みられており、そのような回路を超LSIあるいはVLSIとよぶ。現在は超LSIが使われている。超LSIであっても、単に、LSIとよぶことが多い。
一般には、1958年ごろまでが第1世代、1959~1964年ごろまでが第2世代、1965~1977年ごろまでが第3世代、1978年ごろから第3.5世代とか第4世代とよばれるものになり、現在は第4世代である。
[土居範久]
応用分野が拡大するにつれて、ノイマン型のコンピュータでは処理しきれないような問題も多数出てきた。そのような問題を処理するには、ノイマン型のコンピュータの機能的な限界を超えるようなコンピュータである必要がある。そのような機能としておもに推論機能を、時期として1990年代を考えたものが第5世代のコンピュータといわれていたもので、いいだしたのは日本である。通商産業省(現、経済産業省)のきもいりで1979年から2年間、第5世代調査研究委員会によって調査研究が行われ、1982年に、そのための機構として新世代コンピュータ技術開発機構ICOT(アイコット)が発足した。ICOTは、人工知能分野で多くの業績をあげ、1994年にその役割を終えた。
[土居範久]
コンピュータは、通常、買取り価格で区分される。2億5000万円以上を大型、4000万円から2億5000万円までを中型、4000万円未満を小型とよぶ。1000万円から4000万円までを小型、1000万円未満を超小型とよぶこともある。大型のうちでもきわめて大きいものを超大型とよぶ。
[土居範久]
1965年にアメリカのDEC(デック)社が開発した12ビットの小型コンピュータ、PDP-8に端を発する8、12、16、24、32、64ビットの語長をもつ小型のコンピュータを、普通、ミニコンピュータというが、最近では中型の規模のものまであり、絶対的な定義はむずかしい。機能的には、マルチユーザー・マルチタスクの環境で使用される。
LSIチップによって構成されたマイクロプロセッサーを核にして、コンピュータとしての機能を遂行させるようにしたものがマイクロコンピュータである。日本では「私の」という意味の英語の「マイ」も掛けて、マイコンとよぶことが多い。マイクロコンピュータに個人用としての機能をもたせたものをパーソナルコンピュータといい、事務処理用の機能をもたせたものをオフィスコンピュータという。パソコン、オフコンなどと略す。
高解像度ビットマップディスプレーを用い、表示画面をいくつにも区分できるマルチウインドウ機能、および次に行うべき動作の一覧をアイコンiconとよばれる絵または文字を用いてメニュー(一覧表)として示す機能を備え、画面の中の場所をさすためのポインティング装置としてマウスがあり、個人用のファイルを格納するために80メガバイトの磁気ディスクをもち、コンピュータネットワークに接続することができ、仕事をしやすいソフトウェアが用意されているスーパーパーソナルコンピュータとよばれたパーソナルコンピュータALTO(アルト)システムが、1960年代の終わりから1970年代の初めにかけてゼロックス社のパロアルト研究センター(略してPARC(パーク)とよぶ)で開発された。これが現在のワークステーションの元祖であり、パーソナルコンピュータシステムの発展に多大なる影響を与えた。パーソナルコンピュータよりも規模が大きく、高解像度のビットマップディスプレーをもち、イーサーネットを用いたLANのインタフェースを標準装備し、UNIXまたはWindows NTをオペレーティングシステムとして用いるコンピュータをワークステーションとよんだが、パーソナルコンピュータが機能的に進化するに伴い、これらはワークステーションに特有な特徴ではなくなった。現在では、科学技術計算や組版などに用いられる機能が特化された高性能なコンピュータをワークステーションとよぶ。
[土居範久]
その時代においてもっとも高速な演算を行うように設計された科学技術計算専用のコンピュータをスーパーコンピュータという。日米間では1990年の日米スーパーコンピュータ合意により演算速度が100GFLOPS(ギガフロップス)以上のコンピュータをスーパーコンピュータとしたが、文部科学省では2005年に演算速度が1.5TFLOPS(テラフロップス)以上のコンピュータをスーパーコンピュータと定めた。しかし、時代はすでにPFLOPS(ペタフロップス)級の時代になっており、2012年6月時点で世界最高速のスーパーコンピュータはアメリカのローレンス・リバモア研究所に設置されているIBM社の「Sequoia(セコイア)」で16PFLOPSである。
昔にさかのぼるとIBM社のSTRETCH(ストレッチ)、ユニバック社のLARC(ラーク)に始まり、イリノイ大学のILLIAC‐Ⅳ(イリアックフォー)、クレイリサーチ社のCRAY(クレイ)‐1、Y‐MP、シンキングマシンズ社のCM‐1、CM‐2、CDC社のSTAR(スター)‐100、EAT10、テキサス・インスツルメント社のASC、日本電気のSX‐1、SX‐2、SX‐3、日立製作所のS810、S820、富士通のVP100、VP1000、VP2000などがある。
1990年代には、ベクトル型を得意とする日本のスーパーコンピュータが世界制覇をしたが、アメリカが政府主導でスカラー型のマイクロプロセッサーを多数搭載した超並列型のスーパーコンピュータの開発に力を入れ、形勢は逆転した。2002年に開発された日本のスーパーコンピュータ「地球シミュレータ」は、ベクトル型のマイクロプロセッサーである日本電気製のSX-5を5120個搭載した超並列ベクトル計算機で、理論演算速度は40TFLOPS(Linpack(リンパック)で35.8TFLOPS。Linpackとはアメリカ・テネシー大学のドンガラ博士Jack Dongarra(1950― )らが開発したCPUの計算性能を比較する目的でつくられた大規模な連立一次方程式の演算回数を計測するプログラム)、2004年までは世界最高速であったが、2007年には20位にまで下がった。2007年6月時点で世界最高速であったアメリカのIBM社の「BlueGene/L(ブルージーンエル)」はスカラー型のマイクロプロセッサーであるPowerPCを13万1072個搭載した超並列スカラー計算機で、Linpackで280.6TFLOPSであった。
日本では、2006年度からベクトル型とスカラー型のマイクロプロセッサーを搭載した混合型の超並列計算機「京(けい)」を完成させる国家プロジェクトが文部科学省の下で開始され(開発主体は理化学研究所)、2012年6月に完成、同年9月から共用を開始した。京の演算速度は10PFLOPSで、2012年6月時点ではアメリカのSequoiaに次いで世界第2位となっている。アメリカでもPFLOPS級のスーパーコンピュータの開発がさらに進められており、国家の威信をかけた日米の開発競争が激しくなってきている。スーパーコンピュータ開発の真の目的は、軍事利用および幅広い産業や科学技術研究での利用であるが、特段日本では、シミュレーションによる科学・工学上の飛躍的な進展が期待されている。
[土居範久]
当初、国産各社は独自の技術で開発を進めてきたが、多大な費用と時間がかかること、および技術的な遅れもあることから、外国の会社と技術提携をするようになった。1961年日立製作所とRCA社、1962年三菱電機とゼロックス社、日本電気とハネウェル社、1963年沖電気工業とスペリーランド社、1964年東芝とゼネラルエレクトリック社が、それぞれ技術提携を結んだ(富士通は技術提携は行わず、松下通信工業〈現、パナソニックモバイルコミュニケーションズ〉は大型コンピュータ分野から撤退した)。これらの技術提携や独自の研究によって国産各社の力もしだいについてきたが、世界的にみればIBMが圧倒的な力をもっており、コンピュータ産業の自由化が行われれば、国産コンピュータが壊滅的な打撃を受けるおそれがあった。そこで通商産業省(現、経済産業省)の指導により、1971年に国内企業の提携が行われ、富士通と日立製作所、日本電気と東芝、沖電気工業と三菱電機の三つの連合体が誕生した。そして、日立・富士通がMシリーズ、日本電気・東芝がACOS(エイコス)シリーズ、沖電気・三菱がCOSMO(コスモ)シリーズを開発した。このうち日立・富士通だけがIBM機と互換性のあるコンピュータを製造販売している。東芝はその後、大型コンピュータの分野から撤退した。また、沖電気はユニバック社(現、ユニシス)と合弁会社をつくり、ユニバックのコンピュータも製造していたが、その後、大型コンピュータの分野からは撤退した。
現在、日本の大型コンピュータメーカーは富士通、日本電気、日立製作所の3社であるが、これら国産各社の力はかなりなもので、自社ブランドでの輸出だけでなく、アメリカ、ヨーロッパの各社にOEM(相手先ブランド生産)販売もしている。
[土居範久]
コンピュータは、大別すると、制御装置、演算装置、主記憶装置、入力装置および出力装置の五つの部分からなっている。このほかに、大容量の記憶ができる外部記憶装置が用いられるのが普通である。制御装置と演算装置とをまとめて中央処理装置CPUという。現在では、多くの場合、これらの機能は1チップのLSIに集積されているので、MPU(Micro Processing Unit)またはマイクロプロセッサーということもある。そして、これらの装置そのものをハードウェアという。
[土居範久]
コンピュータに外からデータを入れるための装置。インプットデバイスともいう。計算手順やデータを記憶装置に読み込ませるのに、以前は、穿孔(せんこう)カード、穿孔テープが用いられていたが、現在はキーボード(鍵盤(けんばん))を用いるのが普通である。穿孔カードを読み込むにはカード読取り装置を、穿孔テープを読み込むにはテープ読取り装置を用いる。このほかにも、ポインティングデバイス、光学式マーク読取り装置、光学式文字読取り装置、音声入力装置、タッチパネル、タッチスクリーン、デジタイザー、スキャナー、ビデオカメラなどがある。
[土居範久]
コンピュータの外にデータを取り出すための装置で、プリンター、プロッター、ディスプレー装置、音声出力装置などがある。アウトプットデバイスともいう。以前は、カード穿孔(せんこう)装置、テープ穿孔装置なども使われていた。
[土居範久]
コンピュータを作動させるプログラムを格納している記憶装置。メインメモリーともいう。外部記憶装置からのデータや処理結果を一時的に記憶する作業記憶場所としても使用される。コンピュータでは、演算は、一般に二進法を用いて行われる。二進数字1字が、コンピュータで扱う最小単位で、これを1ビットbitの情報という。文字や数値は数ビットまとめて表現する。ビットの集まりをバイトbyteという。ただし、普通には、1バイトというと8ビットをさす。そして、データや命令を扱いやすいように、何ビットかをまとめて処理の基本単位とする(基本単位を構成するビット数はコンピュータによって異なる)。主記憶装置は、これらの基本単位の記憶場所をたくさん集めたもので、各記憶場所には番地(アドレスaddress)とよばれる一連番号がつけられている。命令やデータは一つあるいはいくつかの基本単位を用いて記憶されるが、それを一般に語(ワードword)という。
[土居範久]
四則演算や論理演算や桁(けた)移動(桁ずらし)を行う装置で、たくさんの論理回路(論理素子)を結合して実現している。論理素子とは、電気信号を受け入れ、その組合せによって決まった出力信号を出すもので、基本となる論理演算を行う回路であり、ゲートgateともいう。基本的な論理素子はAND(アンド)素子、OR(オア)素子、NOT(ノット)素子である。重要な論理素子として、このほかに、NAND(ナンド)素子、NOR(ノア)素子、XOR(イクスクルーシブオア)素子がある。
これらの論理素子を組み合わせると、1桁の二進数AとBの加算を行い、その和Sと桁上りCとを求める回路である半加算器half-adderができる。この半加算器を2個用いると、1桁の二進数DとEと下位からの桁上りFを計算し、その和Tと桁上りRを求める回路である全加算器full-adderができる。この全加算器を多数用いることによって二進n桁の加算回路がつくれる。たくさんの論理素子をいろいろ組み合わせた複雑な回路の入力信号と出力信号の関係を解析するために、ブール代数が用いられる。
重要な論理素子として、もう一つ、フリップフロップflipflopがある。これは二進数1桁を記憶することができる。演算装置は、フリップフロップをいくつもつないだレジスターregisterとよばれる特殊な記憶装置を中心としてつくられている。フリップフロップは電子的なスイッチの働きもするので、コンピュータの制御回路でも重要な役割を演じる。
[土居範久]
コンピュータ全体の制御をつかさどるところで、入力装置からデータを読み込んだり、主記憶装置に格納されている計算手順を順次取り出して解釈し、四則演算を演算装置で行うことを指示したり、演算結果の正負の判別などによって実行順序を変更したりする。
制御装置にはプログラムカウンターとよばれるレジスターがあって、次に命令を取り出す主記憶装置の番地が蓄えられている。このプログラムカウンターの働きにより、自動的に次々に命令が取り出され、実行される。命令語は、命令部と、その命令の対象となる主記憶装置を指定する番地部、およびその他の制御情報を表す部分に分かれている。代表的な命令としては次のような命令がある。
(1)主記憶装置の、ある番地の内容を演算装置のレジスターに取り出せ。
(2)演算装置のレジスターの内容を主記憶装置の、ある番地に格納せよ。
(3)主記憶装置の、ある番地の内容を演算装置のレジスターに足せ。
(4)次の命令を主記憶装置の、ある番地から取り出せ。
(5)演算装置のレジスターの内容が負の数なら、次の命令を主記憶装置の、ある番地から取り出せ。
(6)ある入力装置からデータを読み込み、主記憶装置の、ある番地以降に格納せよ。
(7)主記憶装置の、ある番地以降のデータを、ある出力装置に出力せよ。
(8)実行を終了せよ。
以上のうち(4)と(5)以外の命令では、制御装置のプログラムカウンターは1だけ増やされる。(4)の命令では、プログラムカウンターの内容が、その命令で指定された番地で置き換えられる。(5)の命令では、条件を満足しなければプログラムカウンターは1だけ増やされるが、条件を満足したときには、その命令で指定した番地で置き換えられる。
[土居範久]
よく使う情報をファイルとして保存しておいたり、コンピュータの処理の過程で補助的に使ったりする記憶装置で、磁気ディスク記憶装置(ハードディスク)、フロッピーディスク(FD)、光磁気ディスク装置(MO)、CD-ROM、DVD-ROM、磁気テープ記憶装置、ストリーマー、USBメモリーなどがある。以前は、磁気ドラム記憶装置、カセットテープなども使われた。
[土居範久]
コンピュータは、機械それだけ(ハードウェアだけ)では、目的をもった仕事をすることができない。目的とする仕事ができるようにするには、命令を組み合わせて一連の計算手順を構成する必要がある。この組み合わせた命令の集まりをプログラムという。どのようなコンピュータでも、算術演算のための命令としては、加減乗除という四則演算しかなく、微分方程式とか積分といった高等数学の問題も、この四則演算に直して解く。ソフトウェアという用語は、本来はプログラムの総称であるが、現在では、コンテンツや文書までもさすことが多い。
プログラムの作り方としてはいろいろある。もっとも基礎的なものは、コンピュータ自体のことば、すなわち機械語を用いて書く。これは、記憶装置に格納されるとおりに、数値によって一つ一つ命令語およびデータを書くやり方である。機械語はコンピュータごとに異なっている。一つのコンピュータであっても、目的にかなったプログラムをつくりあげることは相当ほねの折れる仕事である。そこで、もっとプログラムがつくりやすい書き方が考え出されてきた。書き方としては、機械語に近いものから、われわれが日常用いることばに近いものまである。これらは、それぞれの約束に従った言語で、プログラム言語とかプログラミング言語とよばれる。これらの言語を用いるときには、その言語を機械語に翻訳するプログラムを用意しておき、実行に先だって、その翻訳プログラムにかける。もっとも機械語に近い言語はアセンブリ言語で、その翻訳プログラムをアセンブラという。
日常われわれが用いている言語に近いプログラミング言語(プログラム言語)は、問題向き言語とか高水準言語とよばれ、コンピュータで解くべき問題に応じて各種の言語が開発されている。これらの言語の翻訳プログラムをコンパイラという。
[土居範久]
プログラムを作成することをプログラミングという。プログラムを設計する際には、解こうとしている問題、やりたいことをしっかり把握し、「どう」したらよいかではなく、「何を」しなければならないかを考えるようにする。「何を」とはつまり「機能」にほかならない。問題を狭め、扱いを容易にすることが重要である。そのためには、まず問題を機能単位に、その問題に含まれる部分的な問題に、おおづかみに分解する。そして、その個々の問題を改めてそれぞれ一つの問題としてとらえ、ふたたび、その問題を解くためには何をしなければならないかを考える。さらに、その問題に含まれる部分的な問題に分解するのである。このようにして、部分問題に対する解が明らかになるレベルに到達するまで、より小さい部分問題に分解していく。このとき部分問題は、それぞれ個別に独立に考えることができるように分解するのがコツである。問題は、その大小によらず、分割して統治するのである。この過程を段階的詳細化という。段階的詳細化においては、個々の問題で扱うデータおよびその構造も段階的に具体化していくことになる。
プログラムは、このようにしてできた最終的な部分問題を単位として書くことになる。この単位をモジュールという。モジュールに切り分けることをモジュール化という。ここで、重要なことは、モジュールどうしの間でやり取りする情報を正確に規定することである。規定したものをインターフェースという。インターフェースの設計はとくに綿密に行わなければならない。インターフェースを変えるとそれを利用しているモジュールをすべて書き換えなければならなくなるし、あまりに複雑な場合にはそのモジュールは使いにくいものになるからである。最終的には、個々のモジュールが構造化されたプログラムになるように作成する。
プログラミングの段階で、いろいろな誤りを犯したり、プログラムの書き方そのものには誤りがないのに正しい結果が得られなかったりして、思うように仕事が進まないことがよくある。プログラムが複雑になるほど、完成までに時間がかかる。テストは十分に計画をたてて行い、デバグdebug(誤りを検出し、訂正すること)は入念に行わなければならない。デバグの技法は職人的技術の域を出ないが、プログラム作成の重要な部分を占める。
[土居範久]
パーソナルコンピュータでワープロのソフトを使って仕事をする場合を考えてみる。電源を入れると、しばらくして、初期画面が出る。パスワードを入れて、次に進むとデスクトップ画面が現れる。メニュー(またはデスクトップ上のアイコンなど)からワープロを選びマウスでクリックすると、ワープロが立ち上がる。書類がある程度できたところで名前をつけてファイルに保存するためには、メニューを選んでマウスでクリックすると、ファイルディレクトリのどこに何という名前で保存するか聞いてくるので、それらを指定してから、保存というボタンをクリックすると、ワープロでそれまで作成した書類が保存される。書類がさらに先までできたところで、メニューから保存を選ぶと、今度は何も聞かずに、先ほど保存しておいた書類の上に上書きをして保存してくれる。書類が完成したところでプリントするには、メニューから印刷を選んでクリックすればよい。文書の配置などで訂正するところがあれば訂正、保存し、プリントしてみて、それでよければメニューから、ワープロの終了を選んでクリックすると、デスクトップの画面に戻る。
電源を入れると、システムをハードディスクから主記憶に読み込んで初期画面にしたり、メニューから保存を選んでクリックするとファイルシステムを実行し後からいつでも取り出せるように名前をつけてハードディスクに保存したり、メニューから印刷を選んでクリックすると画面に見えている通りにプリンターに出力するためのプログラムを実行しプリンターに書類を出力したり、といったことを次々に行うプログラムの集まりをオペレーティングシステムといい、核となる部分は主記憶装置に常駐されている。
大型コンピュータでは、人間がそのつど処理すべきことを一つ一つすべて指示するのでは効率が悪いので、一連の作業をあらかじめ指示する。
パーソナルコンピュータより上位のコンピュータのオペレーティングシステムは、プログラムを次々に自動的に処理するだけでなく、必要とする翻訳プログラムを外部記憶装置から取り出したり、ユーザー(使用者)のファイルを管理したりする。さらに、使用者の確認をしたり、使用した機器の種類、使用した量、使用していた時間・時刻・回数などを計測したりもする。これらの各種資料は、後刻の使用に備えて、自動的に外部記憶装置に記録される。必要な場合には、ユーザーやオペレーターに作業を指示する。
コンピュータシステムには、一度に一つのプログラムだけを主記憶装置に入れて実行する単一プログラミングシステムと、同時にいくつものプログラムを主記憶装置に入れ、機械の使用効率を高めようとするマルチプログラミングシステムがある。単一プログラミングシステムの場合には、ありったけのリソース(資源)を一つのプログラムで使用できるので、オペレーティングシステムは単純になるが、マルチプログラミングシステムでは、リソースの使用に対し競合がおこる。これらを適切にスケジュールしなければならないので、マルチプログラミングシステムのオペレーティングシステムはきわめて複雑になる。
[土居範久]
オペレーティングシステムを備えたコンピュータシステムで、ユーザーのプログラムを一括してまとめて処理する方式をバッチ処理方式という。バッチ処理方式では、プログラムの実行を依頼してから結果が手元に戻ってくるまでにかなりの時間がかかる。基本的にはバッチ処理方式であるが、結果をただちに手にすることができるようにする方式として、カフェテリア方式がある。
バッチ処理方式では、処理の途中で使用者は介入できないので、コンピュータと会話を交わしながら仕事を進めることができるようにした方式としてタイムシェアリング方式がある。
また、発生したデータを直接コンピュータに入れ、必要に応じて即時に応答する方式をリアルタイム方式という。リアルタイム方式の場合は、とくに障害対策に留意してシステムを設計する必要がある。
コンピュータと直結して処理を行う形態を総称してオンライン方式という。とくに通信回線を経由する場合には、データを暗号化するなどセキュリティ対策を十分講じておく必要がある。
[土居範久]
インターネットとは、地球的規模で相互につながれたコンピュータのネットワークで、インターネットプロトコル(IP)を用いてつながれた複数のコンピュータ・ネットワークをつなぐネットワークである。インターネットの起源は、1969年アメリカ国防総省の高等研究計画局(ARPA。現、DARPA)が開始したARPANET(アーパネット)である。カリフォルニア大学、スタンフォード研究所など全米4か所の接続で始まり、以後利用機関が拡大されていった(ARPANETは1990年に終了)。日本におけるインターネットの起源は、東京大学、東京工業大学と慶応義塾大学とを1984年に結んだJUNET(ジュネット)である。JUNETは、その後急速に発展し、1987年にはWIDE(ワイド)となった(JUNETは1994年10月に停止)。1989年にCERN(セルン)(ヨーロッパ原子核研究機構)でティム・バーナーズ・リーTim Berners-Lee(1955― )らによって開発されたWWW(World Wide Web)を簡単に扱えるMosaic(モザイク)という名のブラウザ(情報を検索し、画面に表示するソフト)が1993年にアメリカのイリノイ大学にあるNCSA(国立スーパーコンピュータセンター)でマーク・アンドリーセンMarc Andreessen(1971― )らによって開発され、無償で公開されたことから急激にインターネットの利用者が増え、現在もなお増え続けている。ネットスケープ・ナビゲーターNetscape Navigatorはマーク・アンドリーセンらが起業しMosaicを発展させたものであり、また、インターネット・エクスプローラーInternet ExplorerはMosaicのコードをもとにマイクロソフト社が開発したものである。現在では、インターネット上にはさまざまなサービスが無料あるいは有料で提供されており、Google(グーグル)やYahoo!(ヤフー)など高速なサーチエンジンも開発されたことからインターネットの利用はもはや日常的になっている。『情報化白書』によると2006年末の日本のインターネットユーザー数は8754万人(総務省「通信利用動向調査」)、世界では10億8000万人(米eMarketer社「Worldwide Internet Users」)となっている。
[土居範久]
コンピュータ誕生のきっかけは、膨大な量の計算の必要性であった。具体的には弾道計算であり、暗号の解読であった。こうしてできあがったコンピュータの計算能力は認められはしたが、それほどの計算の必要性があろうとは予測できなかった。現在となってはまったくの冗談のような話であるが、1950年代には、ユーラシア大陸での計算を処理するためにはイタリアのローマに一つ計算センターをつくればよいだろうということで、実際にそのための計算センターがつくられもした。それが、アメリカの国勢調査の統計処理などがきっかけとなり、商用のコンピュータが誕生したのちは、素子の進歩、リアルタイム、タイムシェアリングといった各種処理方式の開発、インターネットの爆発的な普及、応用分野の拡大、そして実装技術の飛躍的進歩に伴う小型化・低廉化、その結果としてのダウンサイジングといったことが急速に行われ、今日の様相を呈するに至った。それとともに、当初は緩やかではあったが昨今は急激に、コンピュータが日常生活とかかわりをもつようになってきて、どこにでもコンピュータがあるユビキタス社会になった。
[土居範久]
コンピュータとのかかわり方の形態はさまざまである。コンピュータゲームやワープロのように完全にコンピュータであることを意識して使用するものから、現金自動預金支払機(ATM)などのようになかば意識するものもあれば、自動車、テレビ、DVD、カメラ、はては炊飯器、洗濯機、冷蔵庫やクーラー、あるいはSuica(スイカ)やPASMO(パスモ)などのICカード乗車券といったような、まったく意識することなく、使用者の知らない部分で使われているものまである。
たとえば、自動車では燃料の消費を最適に保つようにエンジンを制御するためにマイクロプロセッサーが用いられているが、GIS(地理情報システム)を使って現在どこにいるのかを地図上に示すナビゲーターも一般に普及している。カメラの場合には、焦点を合わせ、適正露出を計算し、シャッターまたは絞り、あるいはその両方を制御している。そのおかげで、初心者でもピントのあったきれいな写真を撮ることができる。飛行機や船舶などは、コンピュータを用いることによって自動操縦が可能になった。電気炊飯器でふっくらしたおいしいご飯が炊けるのもコンピュータのおかげである。これらは、計算もするが制御もできるというコンピュータの機能を利用しているのである。また、今日では、超小型のマイクロチップを使ったICタグ(RFID=Radio Frequency Identification。無線認証)を用いて、製品が生産者から消費者に渡るまでの経路を記憶させたり、街のガイドに利用したりする試みも行われている。
[土居範久]
情報通信技術(ICT)の発達とともに、ブルーカラー、ホワイトカラー、経営者を問わず、職場が、あるいは仕事の内容が、急激に変わってきた。生産現場には、溶接ロボットをはじめとした各種産業用ロボットが投入され、製品の均質化および生産性の向上に役だっている。そのほか、メカトロニクス(電子技術内蔵機械)とよばれる、マイクロプロセッサーを制御用として搭載した機械が次々に開発され利用されている。さらに、たとえば故障の診断・修理などでは、初心者でも専門家と同じように行うことができるようにしようとするエキスパートシステム(専門家システム)も使われている。生産現場だけでなく、事務部門の生産性を向上させる目的にコンピュータを用いようとすることが、1980年代の初めころから流行し、オフィスオートメーションとか、略してOAとよばれていたが、携帯型のパーソナルコンピュータや電子手帳など携帯用の電子機器の性能の向上、小型化、低廉化、インターネット、イントラネットの爆発的な普及、携帯電話の普及などに伴って、事務処理の合理化、効率化が急速に行われている。企業の経営者も端末から経営情報を得るだけでなく、インターネットやイントラネットを使って情報を交換したり、会議を行ったりする時代になった。企業の経営資源の流れを追跡、分析することで、企業活動を経営的視点から支援する経営管理システムとしての統合業務パッケージ(ERP=Enterprise Resource Planning。企業資源計画)も普及してきている。世はまさに情報戦争の時代である。それとともに、情報セキュリティの重要性が増してきている。
医療の分野に目を移すと、コンピュータを利用することにより、人体の各部位を輪切りにした写真(コンピュータ断層写真)すら撮れるようになり、普通に診断に使われている。
教育の分野においても、1960年代から、学習者および教授者の活動をコンピュータを中心とする機器によって効果的に進めていく学習やシステムの開発が始まった。1980年代に入り、パーソナルコンピュータの普及により、いっそう積極化し、現在ではいろいろな分野で使われている。CAI(computer assisted instruction)やCMI(computer managed instruction)がそれである。
コンピュータは趣味や嗜好(しこう)にも影響を与える。昔は、自動車のモデルチェンジをするときには、鉄板を型どおり叩(たた)き出したりする必要があったので、何年かごとに行い、試走車は覆面をし事前に他社に知られないようにする努力もなされたが、昨今は、のべつモデルチェンジが行われるだけでなく、車種も多い。これはCAD(キャド)、CAM(キャム)のおかげである。書籍や新聞などはコンピュータ写植を用いて印刷されているし、事典や辞書の類もCD-ROMやDVD-ROMに入ったものをパーソナルコンピュータやゲーム機などで読むことが普通の時代になった。写真もデジタル化が急速に進み、デジタルカメラ(略称デジカメ)が主流となった。プロもアマもデジカメを使い、プリントも自分でするようになった。銀塩フィルムを使う従来のカメラは、愛好家など少数の人にしか使用されないカメラになってしまった。
[土居範久]
さらに、文字情報だけでなく、音声や画像などもデジタル情報として取り扱うことができるマルチメディアの登場により、われわれの生活が大きく変わった。マルチメディアを高速なデジタル通信と組み合わせることによりさまざまな開発が行われている。JRのみどりの窓口、郵便局、銀行などですでにおなじみのオンラインシステムが各家庭でいっそう簡単に利用できるようになるだけでなく、電子現金を使った電子商取引が具体化されている。また、デジタル放送の実現によりテレビとマルチメディアを一体化させ、各種業種にわたる企業が提供するさまざまな情報をテレビに映し出すことから、茶の間にいてテレビを使って仕事をしたり会議をしたりすることすら可能になってきている。さらに、通信と放送が一体となる日も近い。携帯電話もお財布携帯としてデジカメとしてゲーム機として使われるマルチメディアになった。家庭の内外にかかわらず、デジタル機器を有線・無線でつなぎ、インフラを統合することで、分散しているあらゆるデジタル機器を自由に操ることができる日も近い。また、生産・流通管理にICタグが普通に使われるようになり、スーパーからレジが消える日がくるのもそれほど先のことではないだろう。しかし、便利になる反面、コンピュータ犯罪もますます増え続けるであろう。情報セキュリティを文化としてまた常識として身につけ、十分注意する必要がある。また、プライバシーの保護にも十分配慮しなければならない。
このように、好むと好まざるとにかかわらず、コンピュータと直接ないしは間接的に接する機会が今後ますます増え続けることは明らかである。マイクロエレクトロニクス技術を主軸とする技術にいっそう拍車がかかり、高度ユビキタス社会へと向かうにつれて、労働の内容、雇用形態、ひいては社会生活に多大な影響が現れることは間違いない。世界経済の様相も場合によっては一変するかもしれない危険性もはらんでいる。先進国と開発途上国との間の単なる情報の格差だけでなく科学データなどへのアクセスの格差をさらに広げるデジタルディバイドの解消に向けた全世界的規模での政策の必要性も叫ばれている。そういった意味でも、先進国と途上国との間での情報の格差をなくす努力をする必要がある。
[土居範久]
『森口繁一・筧捷彦・高澤嘉光著『岩波講座 情報科学2 電子計算機への手引き』(1982・岩波書店)』▽『矢島脩三著『岩波講座 情報科学14 計算機の機能と構造』(1982・岩波書店)』▽『和田秀男著『コンピュータ入門』(1982・岩波書店)』▽『長谷川裕行著『ソフトウェアの20世紀――ヒトとコンピュータの対話の歴史』(2000・翔泳社)』▽『都倉信樹著『コンピュータシステム入門』(2002・岩波書店)』▽『大駒誠一著『コンピュータ開発史』(2005・共立出版)』▽『坂村健編『ユビキタスでつくる情報社会基盤』(2006・東京大学出版会)』▽『東海大学総合情報センター新情報教育プロジェクト編、前田陽二他著『ユビキタスコンピューティング――近未来社会の光と影』(2007・東海大学出版会)』▽『『コンピュータ白書』各年版(1965~1968・日本電子計算開発協会、1969~1972・日本経営情報開発協会、1973~1975・日本情報開発協会、1976・コンピュータ・エージ社、1977~1986・日本情報処理開発協会、1987年以降『情報化白書』に改題)』▽『日本情報処理開発協会編『情報化白書』各年版(1987~1992・日本情報処理開発協会、1993~2005・コンピュータ・エージ社、2006・BCN、2007・増進堂、2008~2009・翔泳社)』▽『日本情報経済社会推進協会編『情報化白書』各年版(2010~2011・翔泳社)』▽『村井純『インターネット』(岩波新書)』