560 likes | 658 Views
なぜ計算情報科学・技術を学ぶか ? Unix (Linux) / Internet の歴史と 学問の情報化への展開を踏まえて. 林 祥介 神戸大学 大学院理学研究科・地球惑星科学専攻 shosuke@gfd-dennou.org. 小高正嗣・石渡正樹・倉本圭 北海道大学 大学院理学研究院・理学院宇宙理学専攻. 2009 年 04 月 17 日. 目次. 目標 電子計算機から情報処理環境への発展 電子計算機の発展(1)汎用計算機 電子計算機の発展(2)情報処理装置へ Unix Internet X window system
E N D
なぜ計算情報科学・技術を学ぶか? Unix (Linux) / Internet の歴史と学問の情報化への展開を踏まえて 林 祥介 神戸大学 大学院理学研究科・地球惑星科学専攻shosuke@gfd-dennou.org 小高正嗣・石渡正樹・倉本圭 北海道大学 大学院理学研究院・理学院宇宙理学専攻 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)人材育成プログラム
手回し計算機 山田学氏撮影(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(1950.4.4) Namias Fjortoft Frankel Wexler Charney Von Neumann Freeman Reichelderfer ENIAC • Electronic Numerical Integrator And Calculator Eckert & Mauchly (1946) • 計算に応じて配線を変える • 水爆開発 (最初に走った プログラム) • 弾道計算 • 気象計算 (順圧非発散二次元 渦度方程式, 岸保勘三郎) UCSD ECPC(Experimental Climate Prediction Center) 写真集よりhttp://ecpc.ucsd.edu/general/pics/eniac-50.html
汎用計算機 • 汎用大型計算機(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) 於 国立天文台
パンチカード 高速カードリーダhttp://museum.ipsj.or.jp/computer/device/paper/0036_win01.html (コンピュータ博物館 http://museum.ipsj.or.jp/ ) 山田学氏撮影(2007.10.20) 於 国立天文台
磁気テープ FACOM 602磁気テープ装置 FACOM 241Dに接続されたFACOM 602(1962頃) コンピュータ博物館 http://museum.ipsj.or.jp/computer/device/magnetic_tape/0002.html
汎用機のその後 • 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) のベル研究所 の共同開発) • 強固なセキュリティ機能 • 速度があまりに遅く使い物にならない. ベル研
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 による日本語表示
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 とは国際的な共同運営団体に加盟し, 整合性を保ったアドレス管理, 経路制御などの運営をしているものたちである.
日本のインターネットは大学から • Internet の黎明: ネットワーク研究接続 • 日本のInternetは大学のネットワーク研究活動に端を発し, 科学一般の研究室がワークステーションを使いだした時代と一致して急速に広まった • 文化的背景:Unix文化の継承=基本的に古きよき大学の精神 • 自力更生(自分のことは自分でやる) • 自分で自分の環境を構築できる. 自分の責任において何をやっても良い. • 無保証 • ボランティア(相互扶助) • 研究室から学科, 学部, 大学, 研究所, そしてそれら相互のnetwork 同士を接続し, 自分のネットワーク上を他人のパケットが通過することを許容することにより総体として Internet を作っていっていった
日本におけるインターネットの黎明 • Internet の黎明: 研究実験接続の時代 • WIDE 1988 年-現在 (村井純) • ネットワーク接続実験 • TISN 1989 年 ~ 1996 年(釜江常好) • 日本のインターネットの拡大には高エネルギー物理学がリード(∵金持ちでDEC持ち) • 東京大学国際理学ネットワーク • 最初の日米回線、 つまりInternet http://biography.sophia-it.com/imgb/bimu001.png http://www.slac.stanford.edu/slac/faculty/hepfaculty/kamae.html
日本における 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 • MIT:産官学共同研究開発の中心 (MIT X コンソーシアム) • ワークステーション • 三種の神器BSDUnix+TCP/IP+Xを備えた机上サイズ計算機
X window systemの偉大な点 • 規格化(標準化)とサーバー・クライアント • 個々の命令セットが体系化され標準規約化:Athena Widget • ディスプレー, マウス, キーボード, スピーカーなどの人間機械インターフェースを支配するサーバ • 文字の表示, 絵の表示, 音の発生等々は個々のソフトウェア(クライアント)が担当 • ネットワーク透過(network transparent) • 遠方の資源を仮想資源として利用. • ウインドウを飛ばす • 日本語が表示できるようになった • ようやく日本でも計算機から情報処理環境(文房具)へ • それまでは文字処理と数値処理はまったくの別物 • UNIX、Xのアイディア・技術は他のOSの発展にもつながる
計算機の発展(3)インターネット爆発と情報革命計算機の発展(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)の夢が実現?