なぜ計算情報科学・技術を学ぶか ? unix (linux) / internet の歴史と...

56
なななななななな なななななな ? Unix (Linux) / Internet ななな ななななななななななななななな 林 林林 林林林林 林林林林林林林林 林林林林林林林林 [email protected] 林林林林 林林林林林 林林林 ・・ 林林林林林 林林林林林林林林 林林林林林林林林林 2009 林 04 林 17 林

Upload: sofia

Post on 13-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

なぜ計算情報科学・技術を学ぶか ? Unix (Linux) / Internet の歴史と 学問の情報化への展開を踏まえて. 林 祥介 神戸大学 大学院理学研究科・地球惑星科学専攻 [email protected]. 小高正嗣・石渡正樹・倉本圭 北海道大学 大学院理学研究院・理学院宇宙理学専攻. 2009 年 04 月 17 日. 目次. 目標 電子計算機から情報処理環境への発展 電子計算機の発展(1)汎用計算機 電子計算機の発展(2)情報処理装置へ Unix Internet X window system - PowerPoint PPT Presentation

TRANSCRIPT

なぜ計算情報科学・技術を学ぶか ?

Unix (Linux) / Internet の歴史と学問の情報化への展開を踏まえて

林 祥介神戸大学 大学院理学研究科・地球惑星科学専攻

[email protected]

小高正嗣・石渡正樹・倉本圭北海道大学 大学院理学研究院・理学院宇宙理学専攻

2009 年 04 月 17 日

目次• 目標• 電子計算機から情報処理環境への発展

– 電子計算機の発展(1)汎用計算機– 電子計算機の発展(2)情報処理装置へ

• Unix• Internet• X window system

– 電子計算機の発展(3)インターネット爆発と情報革命• おわりに: 知の爆発と情報革命

– ネットワークの発展– 計算機の発展(2) 情報処理環境へ

目標

高い理想• 計算機・ネットワークに関する高いスキル(技術と倫

理)を身につける– 各研究室で活躍– 各企業で活躍– 個人事業主として活躍

• 地球惑星科学の情報化へ貢献できる人材が(勝手に)生まれれる– 情報利用者から,情報提供者へ,そして,科学の情報インフラ

のデザイナーへ

地球惑星科学におけるさまざまな展開

• ネットワーク透過なデータ構造とユーティリティーの設計– http://www.unidata.ucar.edu/

• スーパーコンピューティング ,   GRID コンピューティング– 大規模シミュレーション・データ解析のための ネットワーク透過な並列計算・並列データ処理

• 遠隔計算・遠隔観測– 観測装置(望遠鏡など)の制御と観測– データの分散統合的利用

• 観測データを使った数値計算– 分散型リアルタイム気象データアーカイブ

• データをネットワーク上に分散させたまま あたかもひとつのデータセットして利用する• 例:米国で研究教育用の道具として開発中の

THREDDS• 知見情報アーカイブ

– 計算機に知識をおしえること

すばる望遠鏡

高い理想の実現には「時間」や「根性」や「熱意」や「才

能」も必要

全員ができるわけではない

全員にやってもらいたいものは。。。

立派な大人に なって欲しい

情報化時代の立派な大人• 自分のことは自分でできる

– 仕組みを(ある程度)理解している– 問題があったときに自分で解決できる

• 社会的な行動(人に迷惑かけない)ができる

• 以上を子供(他人)に教えることができる

• 計算情報環境の技術的基本(古典)概念– 計算機(パソコン)の金物の構造( CPU ・メモリ・…)– Unix (Linux) ・ Internet ・ X window system

を実体験し,自分の情報環境は自分で維持できるようになる

• 自分がおかれている情報環境の総体に思いをはせる– ネットワーク社会人(常識や作法を知る)– 安全性,安定性への理解

目標

電子計算機から情報処理環境への発展

なぜ歴史を知る必要があるのか• 物事を理解する基本手順 計算機・ネットワークを理解する上でも同じ

– UNIX, TCP/IP, X Window System, …

• 文化的背景を知る–良くも悪しくも米国文化– 「自力更生」

• これから進むべき道を模索する

界隈の歴史• 1988 :地球流体電脳倶楽部• 1989 : TISN東大国際理学ネットワークにまつわる東京大学理学部地球物理学科ネットワーク支援グループ

• 1994 :北海道大学地球環境科学研究科大気海洋圏環境科学専攻ネットワーク友の会

• 1995 :東京大学数理科学研究科・理学部数学科計算数学 ,  カリキュラム化

• 1998 :北海道大学理学研究科・理学部地球科学専攻 epnetfan, mosir (動画配信)

• 2007 :神戸大学理学研究科・理学部地球惑星科学科 ,  実習 ,  カリキュラム

• 2008 :惑星科学研究センター( CPS )人材育成プログラム

電子計算機の発展(1)汎用計算機

手回し計算機

山田学氏撮影( 2007.10.20 ) 於 国立天文台

電子計算機のはじまり• 計算機・情報理論の原理

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

Claude Elwood Shannon

ENIAC

ENIAC ( 1950.4.4 )

WexlerVon Neumann

Frankel

Namias

Freeman

Fjortoft

Reichelderfer

Charney

UCSD ECPC(Experimental Climate Prediction Center) 写真集より http://ecpc.ucsd.edu/general/pics/eniac-50.html

• Electronic Numerical Integrator And Calculator      Eckert & Mauchly (1946)• 計算に応じて配線を変える

– 水爆開発 (最初に走った プログラム )– 弾道計算– 気象計算 (順圧非発散二次元 渦度方程式,  岸保勘三郎 )

汎用計算機

• 汎用大型計算機 (Mainframe) 研究(軍事)機器から実用的な機器へいろいろな用途に使える計算機らしい計算機

– UNIVAC-1(1950)         米国国勢調査局に納入     開発したのは Eckert と Mauchly の会社  

– IBM701(1952)    IBM704, 1959

     =気象庁最初の数値予報( ? )       用計算機

http://www-1.ibm.com/ibm/history/exhibits/701/701_141512.html

高級プログラム言語の登場1950’ 高級プログラム言語の登場

コンパイラ (compiler) によって機械語に翻訳する

FORTRAN :数値計算 (FORmula TRANslator System, J. Backus, IBM,

1954)

COBOL :事務処理 (帳票 ) 計算(COmmon Business Oriented Language,

The Conference on Data System Languages

(CODASYL), 1959)

計算機は計算のための道具として普及しはじめる

• IBM360(1964)– OS= Operating System( 基本ソフ

ト )• バッチシステム (batch

systems) 計算作業の順番待ちを自動化するソフトウェアとしてはじまる

– I/O(Input/Output) の標準化デバイスドライバー (device

driver)

– 世界的な大ヒット• ビックブルーの威力• IBM は計算機の代名詞になる

(2001 年宇宙の旅の HAL9000)

汎用計算機=標準化・仮想化

http://www.computermuseum.li/Testpage/IBM-360-1964.htm

紙テープ

山田学氏撮影( 2007.10.20 ) 於 国立天文台

パンチカード

山田学氏撮影( 2007.10.20 ) 於 国立天文台

高速カードリーダhttp://museum.ipsj.or.jp/computer/device/paper/0036_win01.html (コンピュータ博物館  http://museum.ipsj.or.jp/ )

磁気テープ

FACOM 602磁気テープ装置  FACOM 241D に接続された FACOM 602 ( 1962頃)コンピュータ博物館 

http://museum.ipsj.or.jp/computer/device/magnetic_tape/0002.html 

汎用機のその後

• OS の発展– 1960 年代:国防総省 ARPA (Advanced Research Projects Age

ncy, 今の DARPA.核戦略・防衛兵器のための基礎研究を推進)プロジェクト

– 「多くの人がパーソナルに使いやすい計算機を」   GUIベースの OS、マルチウインドウ、後の Mac、Windows

へ– 「大型計算機を複数の人間で共有したい」: Multics  バッチ処理からタイムシェアリグシステム、後の Unix へ

• ハードウエアの発展– 1971 :マイクロプロセッサ (CPU の回路を 1 つのチップに収め

たもの )4004 開発– 計算機のダウンサイジング:パーソナルな計算環境へ– IBM が焦って(?)パーソナル市場へ  チップはインテル、 OS は「マイクロソフト社」の MS-DOS   互換機の誕生、帝国の崩壊へ

電子計算機の発展(2)情報処理装置へ

Unix

UNIX前夜• 複数のユーザによる計算機の共有

– ARPAプロジェクトの Multics (ゼネラル・セントリック、 MIT、 米国電信電話会社 (AT&T) のベル研究所 の共同開発 )– 強固なセキュリティ機能– 速度があまりに遅く使い物にならない.

ベル研

UNIX

• Thompson & Ritchie がベル研でお古になっていた DEC 社 PDP-7 で遊んだのが始まり

• 1969: Multix に対する Unix  ( Uniplexed Information and Computing

System )– 所内のプログラム開発・計算環境として広まる・認知される

http://en.wikipedia.org/wiki/Ken_Thompson

UNIX の画期的な側面=情報処理• 情報=文字を処理する(計算しない計算機)

– プログラムを書く人に幸せな環境– 文字(アルファベット)処理をさせたい

• 文字処理→ 1byte(=8bit)単位の処理• 数値処理→ 1word(=4byte)単位の処理

– プログラム( =文字列)開発環境• ファイルエディター• 文字やファイルの処理

– プログラムのドキュメンテーション(解説文章作成)環境• roff とオンラインマニュアル

– 文字処理を得意とするプログラミング言語 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 の歴史と不可分

日本では Unix はなかなか流行らなかった

• Unix が輸入されたのは 1970 年代後半 (東大和田研 )だったが , 情報科学研究者以外は使わない・使えない– Unix は英語しか喋らない

• ワープロやパソコンのほうが先に日本語(1980年代前半)– 貧乏

• 研究室で計算機なんてありえない• Unix が動く米国製計算機( DEC )は高くて買えない

– 拠点大学には大型計算機センターが設置され ,  良質な計算環境を提供

• 情報科学者と科学計算ユーザとが分離• 情報科学が遅れる原因

→1980年代後半のワークステーション時代に初めて普及– X Window System による日本語表示

Internet

ARPAnet• 1957 年:ソ連が人工衛星スプートニク  打ち上げ成功• 1960’s終りから核戦争を想定した防衛  システム基礎研究として ARPA が行う  パケット通信計算機接続の研究

– スタンフォード研究所 (SRI)、カリフォルニア大学、ユタ大学– 1967 年: UCLA と SRI で最初のデータ通信– 1983 年:研究目的ネットワークとして独立

• 基本設計– 中心のないシステム , 分散統合システム

• どこのホストコンピュータが核攻撃によって 蒸発してもどこかのコンピュータが生き残り , ネットワーク全体としては機能が維持される

– パケットによる通信– プロトコルの標準化

• TCP/IP(Transmission Control Protocol / Internet Protocol)

初期の接続経路

http://www.cybergeography.org/atlas/arpanet_sept1973_large.gif

An atlas of cyber spaces

ARPAnet のプロトコルの標準化

•  国防総省 ARPA が  OS としてバークレー版Unix (BSD Unix) を採用→ Unix と ARPAnet の諸々の技術が結合

TCP/IP が事実上の標準に• 1980 年 , バークレー版 Unix (BSD Unix) が TCP/

IP を実装 ,   TCP/IP は Unix を OS にしている機器に一挙に広まる

• Unix は米国の研究高等教育機関現場にすでにある程度ひろまっていたので , TCP/IP は米国研究教育業界での通信プロトコルの事実上の標準 (Defuct Standard) となった

ARPAnet と TCP/IP と Unix (1980)

Internet へ (1)

• TCP/IP でつながれたネットワークの集まり , メタネットワークのことをいう .– 複数の network を相互につないだもの ( 米国では高速道路網を interstate という , そのもじり ).

• TCP/IP 接続の特色はこのメタネットワークがあたかも一つのネットワークのごとく利用者からは見えるところにある .– 複数のネットワークが接続されてできていることを全く意識しないで良い .

internet ( 小文字 ):

Internet へ (2)

• TCP/IP で接続されたネットワークのうちの , ARPAnet をルーツに持つネットワークのことをいう .– Internet とは国際的な共同運営団体に加盟し , 整合性

を保ったアドレス管理 , 経路制御などの運営をしているものたちである .

I nternet ( 大文字 ):

日本のインターネットは大学から

• Internet の黎明 : ネットワーク研究接続– 日本の Internet は大学のネットワーク研究活動に端

を発し , 科学一般の研究室がワークステーションを使いだした時代と一致して急速に広まった

– 文化的背景: Unix文化の継承=基本的に古きよき大学の精神

• 自力更生 ( 自分のことは自分でやる )• 自分で自分の環境を構築できる . 自分の責任において何をやって

も良い .• 無保証• ボランティア (相互扶助 )

– 研究室から学科 , 学部 , 大学 , 研究所 , そしてそれら相互の network 同士を接続し , 自分のネットワーク上を他人のパケットが通過することを許容することにより総体として Internet を作っていっていった

• Internet の黎明 : 研究実験接続の時代– WIDE 1988 年-現在 (村井純 )

• ネットワーク接続実験

– TISN 1989 年 ~ 1996 年(釜江常好)• 日本のインターネットの拡大には高エネルギー物理学がリード(∵金持ちで DEC持ち)

• 東京大学国際理学ネットワーク• 最初の日米回線、 つまり Internet

日本におけるインターネットの黎明

http://www.slac.stanford.edu/slac/faculty/hepfaculty/kamae.html

http://biography.sophia-it.com/imgb/bimu001.png

日本における Internet の発展 : プロバイダへ

• プロバイダ= Internet 接続サービスの提供「組織」– 組織のネットワークを接続するためのネットワークが分化

• SINET (1991 年末 ) :大学・研究機関– 本格的に整備されたのはこの 1994 年春あたり .– 文部科学省による研究組織間接続のための業務レベル基幹ネットワー

ク .– 学術情報センター ( 現在の情報学研究所 ) が管理運営 .– SINET の下に各大学が独自のキャンパスネットを運営

• HINES, UTnet, Kuins, ...

• ISP ( Internet Service Provider) 個人や企業– IIJ が 1992 年末 , 開業

• 研究とは関わりのない業務で Internet に参加し通信をおこなうことができることになった .

– 1995 年は Internet 元年と日本では呼ばれている• プロバイダにより , 個々人や企業などが契約さえすれば Internet

へのアクセス提供を実質的にうけられるようになったからである .• web と ブラウザの普及により一般に見えるようになった

日本の大学におけるネット環境• 日本における Internet の発展に大学や研究者個々人の

活動は触媒として有効に機能した . – WIDEプロジェクトの役割が非常に大きい– Unix のワークスステーションとしての普及と同時期に開始 ,  むしろネットワーク接続のために Unix を導入するようになる

– 日本の大学の触媒機能• 情報科学発展に対してはいまいち(各業界との交流があまり生ま

れなかった)• 大型計算機・スーパーコンピュータの発展には大きく寄与• Internet の発展には本質的に寄与

• このことが逆に大学におけるネットワークの運用を現在困難にしている– 予算がないこともあり昔と同じままの体制(使う人が作る人=

利用者は高いモラルと技術知識を持っていることが前提)

X window system

• ビットマップディスプレー : 文字と絵を同時に扱かえる– それまではキャラクターディスプレーとグラフィックディ

スプレーを別個に– マルチウィンドウ=ディスプレーをいっぱい持ってるのと同じ

• X Window System– MIT :産官学共同研究開発の中心 (MIT X コンソーシアム )

• ワークステーション– 三種の神器 BSDUnix+TCP/IP+X  を備えた机上サイズ計算機

文字を書く計算機から絵を描く計算機へ

X window system の偉大な点• 規格化 ( 標準化 ) とサーバー・クライアント

– 個々の命令セットが体系化され標準規約化: Athena Widget– ディスプレー , マウス , キーボード , スピーカーなどの人間機械

インターフェースを支配するサーバ– 文字の表示 , 絵の表示 , 音の発生等々は個々のソフトウェア ( ク

ライアント ) が担当

• ネットワーク透過 (network transparent)– 遠方の資源を仮想資源として利用 .– ウインドウを飛ばす

• 日本語が表示できるようになった– ようやく日本でも計算機から情報処理環境(文房具)へ– それまでは文字処理と数値処理はまったくの別物

• UNIX、 X のアイディア・技術は他の OS の発展にもつながる

計算機の発展( 3 )インターネット爆発と情報革

情報処理装置としての計算機• ハードウエアの進歩、普及と低価格化→ダウンサイジン

グ (downsizing)• ダウンサイジング第一期: 1980 年代後半~ 1990 年代前半– 汎用機からワークステーションへ– 計算作業環境の変遷

• 計算機の配線• メディア:紙テープ , カード• 端末

• ダウンサイジング第二期: 1990 年代後半– ワークステーションからパソコン (Macintosh, Windows と AT互換機 )

へ– ワークステーションは特殊用途へ– ほとんどの作業は PC で

• パソコンの登場は 1980 年代 , どちらかというとゲームから出発し , 文房具(清書道具)として実務で本格的に使われるようになったのは 1980 年代後半( DOS の登場と一太郎などのワープロソフト)

PC9801

NEC府中事業所の応接棟内展示山田学氏撮影( 2007.10.20 ) 於

世の中における計算環境の普及• 世の中みんなネットワーク・計算機

– DS-lite も PS3 も  Wii も「高性能計算機」– 本を買うのもアニメを見るのもインターネットで

• 情報化時代

http://www2.ttcn.ne.jp/

~honkawa/6200.html

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)の夢が実現?

おわりに知の爆発と情報革命

一連の流れの背景思想Vannevar Bush (1945) MIT の副学長 , 第二次大戦中は国防研究委員会議長 , レーダーか

ら対潜水艦作戦 , マンハッタン計画にいたるまでの兵器開発計画の監督 .

人類の課題=知の爆発への対応

http://en.wikipedia.org/wiki/Vannevar_Bush

メメックス (memex)

• V. Bush:– 人類にとっての真の挑戦は原子をさらに細かく調べたり生命の複雑さを探求したりすることではなく , 科学技術が氾濫させる情報のよりよい管理方法を発見することだ .

– Memex= 関連がある異種の情報を一つに結び付ける装置で , これにより , 誰もが自分専用の情報を整理蓄積できるようになる .

• 弁護士はボタンを押すだけで , 彼自身の経験ばかりでなく 友人や関係当局の経験から得られた関連意見や決定を呼び出せる . 弁理士も依頼人の希望に応じて , 数百万件もの特許を即座に調べることができる . 医師も診断に迷った場合には類似した症例を手早く調べたうえ , ついでに解剖学や組織学などの書物まで参考に引くことができる . 膨大な記録を整理して誰もが活用できるようにすることによろこびを見いだす , 先駆的な新しい職業も生まれてくるだろう .

情報化時代の科学とは• 科学者

– 新たな知見を見出す人– 情報を作る人– 一次生産者

• 情報化時代の科学( V.Bush 1945)– 細分化専門化,情報の爆発– 情報の流通,加工,掌握が科学においても大きな役割

• 「先進国」の要件– 情報の掌握– 情報利用者だけの国は先進国から脱落– グローバリゼーションの恐怖– 日本では大幅な出遅れ

• 計算機に地球惑星科学の知識を教えていく–我々の知識の形を明らかにすること

• われわれが何を知っているかを知ること

– コンピュータが相互にやり取りできる知識データの構造

• 知識の標準化

– それぞれの専門分野の人々が情報科学の発見発明をそれぞれの分野の知識の集積に対して実際に活用して行うことが必要

V.Bush (1945) の実践地球惑星科学の情報化

参考書 , 参考文献• Bush, V., 1945: As we may think. Atlantic Monthly, 1945

July, 101-108.• 朝日ジャーナル編1989:世界経済三国志:覇権の150年 , 42節 , 朝日新聞社

• 村井純 , 1997: インターネット , 岩波新書 新赤 416, 岩波書店 .

• 村井純 , 1998: インターネット II, 岩波新書 新赤 571, 岩波書店 .

• 歌田明弘 , 2000: 本の未来はどうなるか 新しい記憶技術の時代へ , 中公新書 1562, 中央公論新社

• D. Libes & S. Ressler 著 , 坂本 文 訳 , 1990: Life with Unix, アスキー .

• 坂村健 , 2002: 痛快 ! コンピュータ学 , 集英社文庫 .• 水村美苗 , 2008: 日本語が亡びるとき―英語の世紀の中

で ,筑摩書房 , 330pp.• ITホワイトボックス http://www.nhk.or.jp/itwb/