なぜ情報実験か? Unix (Linux) / Internet の歴史と 学問の情

Download Report

Transcript なぜ情報実験か? Unix (Linux) / Internet の歴史と 学問の情

なぜ情報実験か?その1
Unix (Linux) / Internet の歴史
を踏まえて
北海道大学理学院
宇宙理学専攻
石渡 正樹
[email protected]
2008年04月11日
目次
• 情報実験では
• 電子計算機から情報環境への発展
– 電子計算機の発展(1) 黎明期~Unix の開発
– ネットワークの発展
– 計算機の発展(2) 情報処理環境へ
情報実験では
情報実験の目標
• 計算情報環境の技術的基本概念を構成している
– Unix (Linux)
– Internet
– X window system
を体験し,自分の情報環境は自分で維持できるようになる
• 自分がおかれている情報環境の総体に思いをはせる
– ネットワーク社会人(常識や作法を知る)
– 安全性,安定性への理解
• 地球惑星科学の情報化へ貢献できる人材が生まれれるきっ
かけになれば幸い
– 情報利用者から,情報提供者へ,そして,科学の情報インフラのデ
ザイナーへ
インターネットとは?
• 世界中の全ての計算機(コンピュータ)をつな
ぐ計算機ネットワーク
– 冷蔵庫もネットワーク接続
– 携帯メールだって「インターネット」使ってる
http://www.crdc.gifu-u.ac.jp/
~tomida/inter/sekai.html
世の中における計算環境の普及
• 世の中みんなネットワーク・計算機
– DS-light もPS3も Wii も「高性能計算機」
– 本を買うのもアニメを見るのもインターネットで
• 情報化時代
http://www2.ttcn.ne.jp/
~honkawa/6200.html
地球惑星科学における展開
• 現在まさに研究開発中のさまざまな活動
– ネットワーク透過なデータ構造とユーティリティーの設計
• http://www.unidata.ucar.edu/
– スーパーコンピューティング, GRIDコンピューティング
• 大規模シミュレーション・データ解析のための
ネットワーク透過な並列計算・並列データ処理
– 遠隔計算・遠隔観測
• 観測装置(望遠鏡など)の制御と観測
• データの分散統合的利用
– 観測データを使った数値計算
• 分散型リアルタイム気象データアーカイブ
すばる望遠鏡
– データをネットワーク上に分散させたまま
あたかもひとつのデータセットして利用可能にする
– 例:米国で研究教育用の道具として開発中のTHREDDS
– 知見情報アーカイブ
• 計算機に知識をおしえること
情報実験の高い理想としては
• 計算機・ネットワークに関する高いスキルを身につける
– 各企業で活躍
– 各研究室で活躍
– 個人事業主として活躍
• しかし、それには「才能」も必要
– 全員ができるわけではない
• 情報実験において全員にやってもらいたいものは。。。
立派な大人に
なって欲しい
情報化時代の立派な大人
• 自分のことは自分でできる
– 問題があったときに自分で解決できる
– 仕組みを理解している
• ハードウエア
• ソフトウエア
• 人に迷惑かけない
– 詳しくはINEX 後半にて?
• 以上を子供(他人)に教えることができる
電子計算機から情報環境
への発展
なぜ歴史を知る必要があるのか
• 計算機・ネットワークの姿、仕組みを理解する
– UNIX
– TCP/IP
• 文化的背景を知る
– 日本の大学では「自力更生」
• これから進むべき道を模索する
–
電子計算機の発展(1)
黎明期~Unix の開発
電子計算機のはじまり
• 計算機・情報理論の原理
Turing (1936) :
万能計算機の理論的可能性を指摘
(Turing Machine)
Shannon (1948) :
情報理論「全ての情報はビットにコード化できる」
• (配線型)電子計算機
ABC
(Atanasoff Berry Computer, Atanasoff & Berry, 1939)
裁判所には世界で最初の電子計算機と認定された
ENIAC(Eckert & Mauchly, 1946)
• ノイマン型(プログラム内蔵型)計算機
Neumann (1946): プログラム内蔵型計算機の提案
EDSAC (Wilkes, 1949) 世界初のノイマン型計算機(英)
EDVAC (Eckert , Mauchly, Neumann) 1951
ENIAC
• Electronic Numerical Integrator And Calculator
• Eckert & Mauchly (1946)
• 計算に応じて配線を変える
– 水爆開発
(最初に走った
プログラム)
– 弾道計算
– 気象計算
(順圧非発散二次元
渦度方程式,岸保)
ENIAC(1950.4.4
Namias
Frankel Fjortoft Charney
Wexler
Reichelderfer
Von Neumann
Freeman
UCSD ECPC(Experimental Climate Prediction Center) 写真集より http://ecpc.ucsd.edu/general/pics/eniac-50.html
計算機としての計算機、そして汎用機へ
• UNIVAC-1(1950)
アメリカ国勢調査局に納入
開発したのは Eckert と Mauchly
の会社
• IBM701(1952)
ちなみに気象庁最初の
数値予報?計算機IBM704, 1959
• IBM360(1964)
http://www-1.ibm.com/ibm/history/exhibits/701/701_141512.html
– 汎用大型計算機(Mainframe) :
研究(軍事)機器から実用的な機器へ
– 世界的な大ヒット(ビックブルーの威力).
IBM は計算機の代名詞に.(2001年宇宙の旅のHAL9000)
– OS= Operating System(基本ソフト)
計算作業の順番待ちを自動化するソフトウェアとしてはじまる
バッチシステム(batch systems)
– I/O(Input/Output)の標準化
デバイスドライバー(device driver)
計算機としての計算機
1950’ 高級プログラム言語の登場
コンパイラ(compiler)によって機械語に翻訳する
FORTRAN:数値計算
(FORmula TRANslator System, J. Backus, IBM, 1954)
COBOL:事務処理(帳票)計算
(COmmon Business Oriented Language,
The Conference on Data System Languages
(CODASYL), 1959)
計算機は計算のための道具として普及しはじめる
汎用機のその後
• OSの発展
– 1960年代:国防総省 ARPA (Advanced Research Projects
Agency, 今の DARPA.核戦略・防衛兵器のための基礎研究を推進)
プロジェクト
– 「多くの人がパーソナルに使いやすい計算機を」
GUIベースのOS、マルチウインドウ、後のMac、Windows へ
– 「大型計算機を複数の人間で共有したい」:Multics
バッチ処理からタイムシェアリグシステム、後のUnix へ
• ハードウエアの発展
– 1971:マイクロプロセッサ(CPUの回路を1つのチップに収めたも
の)4004 開発
– 計算機のダウンサイジング:パーソナルな計算環境へ
– IBMが焦ってパーソナル市場へ
チップはインテル、OSは「マイクロソフト社」のMS-DOS
互換機の誕生、帝国の崩壊へ
UNIX
• 複数のユーザによる計算機の共有
– ARPAプロジェクトのMultics
(ゼネラル・セントリック、 MIT、
米国電信電話会社(AT&T) のベル研究所
の共同開発)
– 強固なセキュリティ機能
– 速度があまりに遅く使い物にならない.
– 1969:ベル研究所でセキュリティ機能を取り外して
所内の計算環境として使用開始.
これがUNIX の最初
– ソースコードをタダで公開, 改変, 再配布することも許容.
• 文字処理:計算しない計算機
– 計算する機械に文字(アルファベット)処理をさせたい
– プログラム(=文字列)開発環境(ファイルエディター,文字やファイルの処理)
– プログラムのドキュメンテーション(解説文章作成)環境
• 1byte(=8bit)単位の処理 vs. 1word(=4byte)単位の処理
– 文字処理を得意とするプログラミング言語 C
Unixの普及
• 情報科学研究者に便利なプログラミング
環境
– 自分たちに都合よく改編可能.
– 米国の情報科学科でソースコードが教科書として
利用され広まる.
– 使う人が作る人 (/usr) :お互いに資源を出し合い,
使いあい, 修正改良しあう
– Internet, Linux へ続くフリーウェア文化, オープン
開発文化
Digital‘s VT100 video terminal (1978)
http://vt100.net/
Unixの普及:一般研究業界
(計算機を使う)一般科学者の研究用環境として普及
• 文房具へ:プログラム開発環境+ドキュメント処理機能
–
–
–
–
–
ソフトウェアが作りやすい
計算ができる(そもそも計算機)
マニュアル作成ユーティリティーを使えば文章(論文)が清書できる
その整理(情報処理)ができる
計算機から情報処理環境(=文房具)へ(ただし英語だけ)
米国の大学では1970’ 後半にはUnixが普及
– 科学技術用計算機が Unix (Linux)を OS とするようになったルーツ
• 科学諸分野と情報科学分野とが交流する土台
– 情報科学が目指していることが他分野にも流れ出しそれぞれの分野で
の情報化を促す
– 今日の科学の情報化に結びつく基盤,グローバリゼーションの土台
Unixの普及:軍によるサポート
• 米国での諸々の活動のスポンサーは軍
• ソースコードが公開されていることは軍にとっ
ても望ましい.
– 特定企業に国防「情報」が支配されてはいけない
• よって大学に委託.
– 結果として軍がオープン開発を支援
– カリフォルニア大学バークレー校 (UCB)→BSDUnix, Free
BSD,MIT, CMU, SU, …
• 70年代から80年代にUnixは大学で大きく発展
– 1980年代後半には研究環境といえばUnix
– その後はInternet の歴史と不可分
ネットワークの発展
ARPAnet
• 1957年:ソ連が人工衛星スプートニク
打ち上げ成功
• 1960’s終りから核戦争を想定した防衛
システム基礎研究としてARPAが行う
パケット通信計算機接続の研究
– スタンフォード研究所(SRI)、カリフォルニア大学、ユタ大学
– 1967年:UCLAとSRIで最初のデータ通信
– 1983年:研究目的ネットワークとして独立
• 基本設計
– 中心のないシステム, 分散統合システム
• どこのホストコンピュータが核攻撃によって 蒸発してもどこかのコン
ピュータが生き残り, ネットワーク全体としては機能が維持される
– パケットによる通信
– プロトコルの標準化
• TCP/IP(Transmission Control Protocol / Internet Protocol)
初期の接続経路
An atlas of cyber spaces
http://www.cybergeography.org/atlas/arpanet_sept1973_large.gif
ARPAnetのプロトコルの標準化
ARPAnetとTCP/IPとUnix (1980)
• 国防総省 ARPA が OSとしてバークレー版Unix
(BSD Unix)を採用
→ Unix と ARPAnet の諸々の技術が結合
TCP/IP が事実上の標準に
• 1980 年, バークレー版 Unix (BSD Unix) が TCP/IP を
実装, TCP/IPはUnixをOSにしている機器に一挙に広
まる
• Unixは米国の研究高等教育機関現場にすでにある程
度ひろまっていたので, TCP/IPは米国研究教育業界で
の通信プロトコルの事実上の標準 (Defuct Standard)
となった
Internetへ(1)
internet (小文字):
• TCP/IP でつながれたネットワークの集まり, メタネット
ワークのことをいう.
– 複数の network を相互につないだもの (米国では高速道
路網を interstate という, そのもじり).
• TCP/IP 接続の特色はこのメタネットワークがあたか
も一つのネットワークのごとく利用者からは見えるとこ
ろにある.
– 複数のネットワークが接続されてできていることを全く意識
しないで良い.
Internetへ(2)
Internet (大文字):
• TCP/IP で接続されたネットワークのうちの,
ARPAnet をルーツに持つネットワークのことをいう.
– Internet とは国際的な共同運営団体に加盟し, 整合性を
保ったアドレス管理, 経路制御などの運営をしているものた
ちである.
• 日本では
–
–
–
–
JUNET(1984慶応ー東工大)
WIDEプロジェクト(村井純,1988)
TISN(釜江常好,1989,東大ーHawaii)
民間プロバイダ1992
日本の大学環境(1)
• 計算機は計算機 (目的は数値計算)
– 計算機は高価=自前の計算機なんて夢のまた夢
– 計算といえば大型計算機センターへ
• Unix は, なかなかはやらなかった
– Unix が輸入されたのは結構古くて 1977 年ごろ 東大和
田研などだが, ワークステーション時代(1980年代末)にな
るまで Unix は情報系以外の人々が使うことはほぼな
かった
– Unix が走るマシン(DEC の機器)は高価だった.
– Unix は 英語しかしゃべれなかった.
– そうこうしているうちにワープロ・パソコン時代へ
日本の大学環境(2)
• 日本のインターネットは大学から
– 文化的背景:Unix文化の継承=基本的に古きよき大学
の精神
•
•
•
•
自力更生(自分のことは自分でやる)
自分で自分の環境を構築できる. 自分の責任において何をやっても良い.
無保証
ボランティア(相互扶助)
– 研究室から学科、学部、大学、研究所へ
– それらの相互のnetwork同士を接続
– 他人のパケットが通過することを許容
• Internet の黎明: 研究実験接続
– WIDE 1988 年-現在
(村井純http://www.wide.ad.jp/ )
– TISN 1989 年 ~ 1996 年
日本の大学環境(3)
日本のInternetは大学から
• 日本における Internet の発展に大学や研究者個々人の活
動は触媒として有効に機能した.
– WIDEプロジェクトの役割が非常に大きい
– Unixのワークスステーションとしての普及と同時期に開始, むしろ
ネットワーク接続のためにUnixを導入するようになる
– 日本の大学の触媒機能
• 情報科学発展に対してはいまいち(各業界との交流があまり生まれな
かった)
• 大型計算機・スーパーコンピュータの発展には大きく寄与
• Internet の発展には本質的に寄与
• このことが逆に大学におけるネットワークの運用を現在困難
にしている
– 予算がないこともあり昔と同じままの体制(使う人が作る人=利用者
は高いモラルと技術知識を持っていることが前提)
日本における Internet の発展: プロバイダへ
• プロバイダ=Internet 接続サービスの提供「組織」
– 組織のネットワークを接続するためのネットワークが分化
• SINET (1991 年末):大学・研究機関
–
–
–
–
本格的に整備されたのはこの 1994 年春あたり.
文部科学省による研究組織間接続のための業務レベル基幹ネットワーク.
学術情報センター(現在の情報学研究所)が管理運営.
SINET の下に各大学が独自のキャンパスネットを運営
• HINES, UTnet, Kuins, ...
• ISP ( Internet Service Provider)個人や企業
– IIJ が1992 年末, 開業
• 研究とは関わりのない業務でInternet に参加し通信をおこなうことがで
きることになった.
– 1995 年は Internet 元年と日本では呼ばれている
• プロバイダにより, 個々人や企業などが契約さえすれば Internet への
アクセス提供を実質的にうけられるようになったからである.
• web と ブラウザの普及により一般に見えるようになった
計算機の発展(2)
情報処理環境へ
絵を描く計算機(マルチウインドウ)
• ビットマップディスプレー: 文字と絵を同時に扱かえる
– それまではキャラクターディスプレーとグラフィックディスプ
レーを別個に
• X Window System
– MIT:産官学共同研究開発の中心 (MIT X コンソーシアム)
• ワークステーション
– 三種の神器 BSDUnix+TCP/IP+X を備えた机上サイズ
計算機
X window systemの偉大な点
• 規格化(標準化)とサーバー・クライアント
– 個々の命令セットが体系化され標準規約化:Athena Widget
– ディスプレー, マウス, キーボード, スピーカーなどの人間機械インター
フェースを支配するサーバ
– 文字の表示, 絵の表示, 音の発生等々は個々のソフトウェア(クライアン
ト)が担当
• ネットワーク透過(network transparent)
– 遠方の資源を仮想資源として利用.
– ウインドウを飛ばす
• 日本語が表示できるようになった
– ようやく日本でも計算機から情報処理環境(文房具)へ
– それまでは文字処理と数値処理はまったくの別物
• UNIX、Xのアイディア・技術は他のOSの発展にもつながる
文房具としての計算機
• ハードウエアの進歩、普及と低価格化→ダウンサイジング
(downsizing)
• ダウンサイジング第一期:1980 年代後半~1990 年代前半
– 汎用機からワークステーションへ
– 計算作業環境の変遷
• 計算機の配線
• メディア:紙テープ, カード
• 端末
• ダウンサイジング第二期: 1990 年代後半
– ワークステーションからパソコン(Macintosh, WindowsとAT互換機)へ
– ワークステーションは特殊用途へ
– ほとんどの作業はPCで
• パソコンの登場は1980年代, どちらかというとゲームから出発し, 文房具
(清書道具)として実務で本格的に使われるようになったのは1980年代後
半(DOSの登場と一太郎などのワープロソフト)
Internetの大発展
• 1990年代後半の爆発
– 下地
• Windows と AT 互換機 (MS-Intel 帝国)の普及
• Internetの民営化 (ISP, 日本では 1992)
– 起爆剤=WWW (サーバ)と ブラウザ(クライアント)
• CERN → Apache
• NCSA mosaic → Netscape
• WWW = W3 = World Wide Web
• html = hypertext markup language
• 検索エンジン:1990 年代後半
– Yahoo1995
– Google1998
• Bush (1945)の夢が実現?
V.Bush (1945)
• V. Bush:
• MITの副学長, 第二次大戦中は国防研究委員会議長, レーダーから対
潜水艦作戦, マンハッタン計画にいたるまでの兵器開発計画の監督.
• 人類にとっての真の挑戦は原子をさらに細かく調べたり生命
の複雑さを探求したりすることではなく, 科学技術が氾濫さ
せる情報のよりよい管理方法を発見することだ.
• 「メメックス」(memex)
– 関連がある異種の情報を一つに結び付ける装置で, これにより, 誰も
が自分専用の情報を整理蓄積できるようになる.
– 弁護士はボタンを押すだけで, 彼自身の経験ばかりでなく 友人や関係当局
の経験から得られた関連意見や決定を呼び出せる. 弁理士も依頼人の希
望に応じて, 数百万件もの特許を即座に調べることができる. 医師も診断に
迷った場合には類似した症例を手早く調べたうえ, ついでに解剖学や組織学
などの書物まで参考に引くことができる. 膨大な記録を整理して誰もが活用
できるようにすることによろこびを見いだす, 先駆的な新しい職業も生まれて
くるだろう.
結局、「計算機」とは?
• 昔は文字通り「計算をする機械」だった:大きな電卓
• 今やなんでも計算機
– 日常生活の必需品になりつつある(なった?)
• 電話とか水道とかのように
– 文房具
– 知識・知見を処理する(ためておく・整理する・教えてくれる)
機械でもある
• でも電話とか水道とかは違う
– 世界中とつながっている:大きな利便性と大きな危険性
– 基本は「自分のことは自分で」(だった?)
– これからも大きく変わる可能性がある
情報化時代の科学とは
• 科学者
– 新たな知見を見出す人
– 情報を作る人
– 一次生産者
• 情報化時代の科学(V.Bush1945)
– 細分化専門化,情報の爆発
– 情報の流通,加工,掌握が科学においても大きな役割
• 「先進国」の要件
–
–
–
–
情報の掌握
情報利用者だけの国は先進国から脱落
グローバリゼーションの恐怖
日本では大幅な出遅れ
V.Bush (1945)の実践
• 計算機に地球惑星科学の知識を教えていく
– 我々の知識の形を明らかにすること
– コンピュータが相互にやり取りできる知識データ
の構造
– それぞれの専門分野の人々が情報科学の発見
発明を実際に活用して行うことが必要
• 地球惑星科学の情報化
まとめ
• 計算機・ネットワークとは
– 知識・知見を蓄えその情報を整理する道具
– Bush の夢を実現するもの
• その発展をもたらしたのはゆる~いルール
– プロトコル
– 分散管理
• 更なる発展のためには
– 自分の情報環境に対する理解、適切な態度
– 日本の場合「自分のことは自分で」
• 以上を体でおぼえるのが「情報実験」
– 少なくとも立派な大人にはなろう
参考書, 参考文献
• Bush, V., 1945: As we may think. Atlantic Monthly, 1945
July, 101-108.
• 村井純, 1997: インターネット, 岩波新書 新赤 416, 岩波書
店.
• 村井純, 1998: インターネットII, 岩波新書 新赤 571, 岩波書
店.
• 歌田明弘, 2000: 本の未来はどうなるか 新しい記憶技術の
時代へ, 中公新書 1562, 中央公論新社
• D. Libes & S. Ressler 著, 坂本 文 訳, 1990: Life with Unix,
アスキー.
• 坂村健, 2002: 痛快! コンピュータ学, 集英社文庫.
• 山口 英, 2002: ブロードバンド時代のインターネットセキュリ
ティー, 岩波科学ライブラリー85