[OSの歴史] えっとそれで今日はテキストがないから、やめてもいいんですけども、 えっとOSの、そのオペレーションシステムのあの歴史みたいな話を少ーし してみたいと思います。
皆さんが知っているOSの名前って、どんなの知っているんですか? OSってどういう?
(UNIX、MULTICS)
まあUNIX系ね。
(WINDOWS)
ああそうか。

で、あのーですね、で、ま、だからその今のワークステーション系の、 OSでいちばーん、その、古くからあって典型的なOSって言うと、やっぱりおそらく。 間違ってたら言って下さいね、ぼく嘘ついていること、ぼくあの、 故意にじゃないけれども、あの、あるかもしれない。
やっぱりUNIXだと思いますね。

で、UNIXっていうのは、だいたい、あの、現在のコンピュータってのは、 いつ頃出来たと思います?
(50年前)
そうそう、だいたいそれくらいだよね。で、UNIXっていうのは今も使われて、 ますよね、さかんに。
あるいはUNIXをベースにしたようなOSってのはずいぶん今も使われているけど。
UNIXっていつごろできたOSだと思いますか?
え?
あの、UNIXってのは今もおそらく、良く使われているOSだと思いますけれども、 えっと、あの決して新しいOSではないんですよね。

えっと、びっくりするくらいおそらく古くて、もう、UNIXも30年くらい 歴史があるOSです。
で、ほんかくてきなOSが、じゃあ汎用気の世界で本格的なOSが始まったのが いつごろかっていうと、本格的なOSは、まぁ僕が見て本格的なOSが今から 少しお話しようと思うのが今から35年くらい前になる。

だから、UNIXっていうのは今から30年くらい前ですから、ほとんどもう今から、 まあ、僕らが実際に仕事をしていた20年くらい前から見ると、UNIXとそれから、 あの、今売ってる汎用機の本格的なOSとは、UNIXはずいぶん新しい、と。
でも、もうこれだけ時間がたってみると、あの、UNIXも汎用機のOSも、 もう、時間的には、30年と、その、まぁ、35年ってのはもうちょっと、 嘘で、もうちょっと前にさかのぼることができますけれど、そういった くらいの古いOS。

で、あのー、OS、まあこういうOSのテキストもそうですけれども、 オペレーティングシステムの歴史上もっとも大きな影響を与えたOS。 あのおそらく、それもですね、今非常に、だから、時代が変わってるから、 よく分からない。あと、だから今からまた数十年たつとまた変わるかも しれないけど。今の目で見て、それから、現在非常にこう良く使われて 主流になっているOSが、これから何十年かたったときにどうなっているかって いうのは僕にもよく分かりませんけれども、まあ、こういうテキストに、 今こういうテキストは時間的に見るとやっぱりもう技術がだいたい 出来あがったようなことをベースにして書かれている。

テキストに書かれているようなという意味で、もっともその技術に、 その時代での技術に貢献したオペレーティングシステムっていうのは、 あの、こういうテキストに書かれているようなOSの技術は、 だいたいもう今から、そう、30年くらい前に提唱されて、その固まり、 始めた技術です。

で、あのー、で、歴史的に見て、ですから、OS、典型的なOSっていうと、 あの、一つは僕らから見ると、僕らから見るとと言わなくても誰から見ても、 ある程度OSのことを専門的にしている人が見ると、一つはOS360。
それからあの、これはまあどんなテキストにもそう書いてあるかも しれないけれども、僕らのような本当のOSを仕事としていた人間からみると、 あの、MULTICSって言うOSがあるんですね。

で、これはあの、ですからOSを実際に作ったことがなくて、おそらくまぁ、 こっから見るとOSのMULTICSなんてOSは名前くらいしか聞いたことがない。 と、いう人も。
清水さんですら、あるいはそうかもしれませんけれども。
あの、現在のOSの技術に一番の大きな影響を与えたのは、MULTICSという オペレーションシステムです。

それから、もうひとつは、これはあんまり、あの、ほんとうのOSのカーネルの 技術に対して影響を与えたOSかどうかはわからないけど、UNIXってのが 歴史的には価値があるオペレーティングシステムです。
で、OS360、MULTICS、UNIXっていうのが、非常にその、OS、 これまでのOSの発展、には大きな技術的な影響を与えた オペレーティングシステムです。

あの、ここ、十年ほどその、ダウンサイジング以降、いろんなOSが出てきてます。 あの、コマーシャルベースでは出てきてますけれども、あの、 それがどういった技術的なインパクトを与えたかって言うことは、 まだこういうテキストには盛り込まれていませんし、それからそういう中で、 あの、これがあたらしい技術だっていうような事はおそらくあんまりないん でしょう、と思います。
特にOSのそのカーネルという立場からみるとあんまりないのかと思います。

で、あのー、えっとこれが大体いつ頃かって言いますと、 OS360っていうのは発表になったのがまあ1964年くらいなんですね。
っから、MULTICSっていうのが1965年くらい。
っから、UNIXっていうのが1968年くらいからあの、開発が始まっている、 あのー、という感じ、です。
もう、どれも、だから今から見ると30何年かくらい以前からその開発が 始まったり、あるいは使われたりしているオペレーティングシステムです。
で、それぞれどんなOSだったかっていうことを言いますと、あのー。

益田先生3 まず非常にそのコマーシャルベースのオペレーティングシステム っていうのはOS360。
OS360って聞いたことのありますか?ない。
だからもう、ないんですよね。
で、OS360っていうのが、いわゆる汎用機のOSの一番の大元。
だから、今の大型計算機センター。今度できたら見てもらいたい。
そこにあるOSは元をたどるとOS360。
東大の大型計算機センターは、えっと、昭和40年。ですからまだ、 皆さんがた生まれてないん、ですよね。

あの、昭和40年に出来て、で、あのー、だからそういう意味では僕らは非常に、 そういう意味では非常に恵まれて、いて、コンピュータのあの、 歴史とともにずっと生活をしてきた。
僕達よりも、あと、えっと、10ねん、早くコンピュータの業界に入った人は、 日本で最初にコンピュータを作った人です。
10年よりもっと短いですね。というような、あの、時代。
で、僕らは、僕は、大学の修士を出てメーカーに入りましたけど、 僕らはあの、ようやく、その、コマーシャルベースのコンピュータを 日本で作り始めた、で、数年たった頃。

というのが僕らがメーカーに入った頃ですので、あの、非常にその、 たとえばオペレーティングシステムなんかを初期の頃からずっと見ていた。
日本で言うと、ですからそれは、東大の大型コンピュータセンターと いうのができたのが昭和40年です。で、昭和40年って言うと1965年ですよね。
で、あのさっきちょっと言いましたけれども、現在のコンピュータが、 今のような、そのいわゆるストアドプログラム方式のコンピュータ、 フォンノイマンアーキテクチャ型のコンピュータが出来て始めたのが 第二次世界大戦の後ですから、1940年代の非常に後の方から1950年 くらいにかけて。

ああ、今日、本持ってこようと思って忘れちゃったな。

あの一番始めのころのコンピュータは、あの、もうそれは、話では皆さん聞いて いらっしゃると思いますけど、えっと、要は、この部屋で入りきらないくらいの、 で、真空管を何万本使ってうんぬんって話を聞かれると思いますけど、アメリカの いくつかの大学とかイギリスの大学とか、そこらへんで作られた訳ですね。
で、あの、今日本持ってこようと思って忘れちゃったっと言ったのは、そのうちの 一台のコンピュータ、世界で一番最初ではありませんけど、

EDSACなんて言うコンピュータがあって、これはイギリスのなんとか大学って、 ウィルクスって、ウィルクス先生なんて言うのは、おそらく今でも まだこういう業界で仕事をされていると思うんですね。
で、世界で一番初めにコンピュータを作った人が、まだこういう業界で 仕事をしてくるっていうくらいコンピュータの歴史は浅い訳です。

で、このEDSACなんていうコンピュータもあの、世界的に一番初期の 頃のコンピュータですけれども、EDSACが非常に有名になったのは、 その、これに関して、あの、一冊のテキストが書かれているんですね。
で、そのテキストを持って来ようと思って忘れてしまったと言いましたけど、 あの、その、EDSACはどういうアーキテクチャのコンピュータで、で、 そのアーキテクチャを使って、あの、コンピュータがこういう風に 有効な道具なんですよっていうようなことが、一冊の本の中に、 EDSACのアーキテクチャ、それから、EDSACの命令語の説明、 それからもろもろのライブラリですね。

当時は、やっぱり、数値解析がコンピュータの主な使う目的、 でしたので、あの、計算ですね。
それが一冊の本になっている。
で、とくにあの、ここでもえっと皆さんに宿題にでも出して、 計算機が好きな情報科学科の学生の方たちなので勉強してもらいたい。
あの、コンピュータが好きな人だと、EDSACのアーキテクチャなんてのは、 この本読んでもらうとおそらく何時間かで読めると思う。

で、一番その中で面白いのが、これのイニシャルローダって言うのがあって、 えっと、イニシャルローダってのは何かというと、まあ、当時の コンピュータは非常に主記憶が小さいんですね、大体数百ワード、 それくらいしかない。
だから、僕らが最初にコンピュータ業界に入ったときも、あの、 フォートランコンパイラを1キロワード。4キロバイト。 1キロのコンパイラを作るとか、千行でコンパイラを作るとか、 そういうので一台だった訳ですけども、EDSACなんてのはもっと主記憶が小さい。

その頃だから、どういう技術が僕らにとって重要だったかって言うと、 要はある程度のプログラムをいかにして1ステップでも短くするか。 6ヶ月間かけてあるプログラムを一行短くしたなんて人がいましたけれども、 それくらいメモリってのが貴重であった訳です。
で、EDSACのイニシャルローダってのが何かって言うと、一番最初 コンピュータを立ち上げる時に、ブートストラップなんて言い方をしますが、 あの、要は、やっぱり主記憶の中に何かプログラムがないと、 何かプログラムがないとコンピュータって言うのは立ち上がらない。

で、一番最初、立ち上げるためのプログラムをマニュアルで、 あの、コンソールのボタンを操作しながら、コンピュータの中に 10ワードとか何ワードとか覚えこませる様なことをして、で、 それが読みこんだプログラムがもう少し大きいプログラムを読みこんで、 それを使ってさらに次の大きなプログラムを例えば二次記憶から 持って来たりなんていうやりかたを当時は良くした訳ですけれども、 あの、EDSACって言うのは要は一番始めのコンピュータですから、 いわゆるその、今、あの、皆さんがたが使っていらっしゃるような 環境とは全然違う。

でも、一番最初のシステムプログラムっていうのがEDSACにはあるんですね。
で、それは今のような高級言語、ではない。あの、 高級言語ではなくて、アッセンブリ言語、だからちょうど あの駒場の4学期でやったような。
EDSACにはやっぱりアッセンブリ言語っていうのがある訳です。
だから、アッセンブラっていうのがある。
アッセンブラっていうのは、アッセンブリ言語でかかれた プログラムを読みとって、アッセンブラを通して。アッセンブラ だから本当の機械語で動作されていない。
あの、それを機械語に直す、そういうアッセンブラがある。

EDSACはそういうアッセンブラ、ニモニックなコード、 あの人間にとって分かりやすいコードを持っているような アッセンブラを持っている。
アッセンブラって言っていいのかどうかわかんないけど、 アッセンブラに非常に近いものを持っている。
それから、あの、紙テープベースのコンピュータ。紙テープを読む。
でも、紙テープをたとえば読んできたら、あの、 制御コードって言いますけど、ある所まで読んだら、そこでカタっと止める。
それから、こっから先。ここまではプログラムでこっから先はデータですよとか。
そんな諸々の制御コード。の、プログラム。

それから、さっき言った、その一番最初そのプログラムをロードする。 あのー、あるソフトウェアを、例えば、あの、ユーザプログラムを 主記憶にロードする。ロードして、アッセンブルして、それから それを実行する。そういう一連のソフトウェアがあるんですけれども、 その一連のソフトウェアがイニシャルローダというEDSACの ソフトウェアなんです。

で、ところがなんと、あの、これはだからアッセンブラの機能も 持っているし、それかそういう制御コードを。あの紙テープに、 ユーザが書いたコードの間にある制御コードを、あの、 うまいこと取り扱うような機能も持ってますし、それから プログラムをロードする機能、等。いろんな機能を持ってますけど、 このプログラムが機械語で書かれていて、えっと、 30何ステップかのプログラムなんですね。40ステップ、 正味無かったと思いますけど、要は、あの、それくらいのプログラム。

だから、あの、こういう、えっと、その、教科書を、 こういうテキストを開くと、本を開くと両側のページに イニシャルローダが入っている、プログラム。
そういう、30何行かのプログラムがいわゆるアッセンブラであり、 ローダであり、それからその、制御コードの解読プログラム。
そういうシステムプログラムが30何行でアッセンブラの機能を持っている。
そういうプログラムがこのイニシャルローダで。あの、 ソフトウェアが好きな、機械語とかそういうことをこちょこちょ 見たりいじったりするのが好きな方はぜひこの、アーキテクチャ 理解するのは数時間。非常に単純なアーキテクチャですから。 イニシャルローダのプログラムを解読してもらうと、 非常に面白いと思います。

でも、30数行だから、ぱっと読んですぐ分かるかっていうと、 なかなか、とても、分からない。なぜ分からないかっていうとですね、 要はさっき言った様に、出来るだけ小さいプログラムを書きたい訳ですね。
そのために、あの、いろんな事をうまいこと使いこなしている。
あの、この30何行かって言うのは、ふつう皆さんがたが同じ機能を 持ったプログラムをかいたら、まあ、わかんないけど、あの、 はるかにたくさんの行数が必要になると思います。

で、この30何行かのプログラムっていうのは、要は、その、 ある一行をある時は命令として見る、である時はそれをデータとして見る。 で、はっと気がついたら、最初に書かれていた命令がいつのまにか データに書き換えられている。で、つまり、自分自身で自分自身の プログラムをしょっちゅう書き換えながら、こう、そこにまた 存在しているビットパターンをうまいこと使いながら、短ーい プログラムにしている。非常にもう、非常ーに巧妙なプログラム。

あの、せっかく情報科学科にいらしたのだから、あの、 コンピュータが好きな方は、本、ありますので、是非一度 読んでみてくださるといいと思います。
あの、興味があったらあのー、その、アーキテクチャの エミュレータって言うかシミュレータ、そんなのは簡単に みなさんだったら作れると思いますので、イニシャルローダっていうのを この上で動かしてごらんになってもいいのではないかと思います。

あの、このイニシャルローダだけじゃなくて、EDSACについている その色々なライブラリがありますのであの、それを走らせてみる、 なんていうことをやってみてもいいのではないかと思います。

で、あの、この学科のあの事で言いますと、情報科学科っていうのは、 理学部に当然できたわけですけども、通常の大学は工学部に 情報工学科っていうのがあるんですね。

でも、なぜ、東大に理学部に情報科学科っていうのができて、 いわゆるコンピュータサイエンス係は東大は理学部でやることに なっていたかって言うと、あの、やっぱりここの物理の先生方が、 理学部っていうのは、非常にいい伝統を持っている。
物理も昔、高橋秀俊っていう先生、まあ僕らは学生時代まだ現役の 先生でしたけれども、非常に立派な先生がいらして、あの、 高橋先生、それからその直系の大学院生だった後藤英一さん。 で、後藤先生はつい何年か前までここの学科にいらっしゃいました。

あの、僕がここに呼んで頂いたのはいまから11年前でしたけれども、 そのころ、それから何年かもここで現役の教授をなさって、 そして、あの、僕らなんかよりもちょっと年齢が上ですけれども、 その理学部の高橋さんとか後藤さんが、あの、非常に やっぱり物理の先生でしたけれども、コンピュータに興味を 持たれて、後藤さんは本当の物理屋さんで、トランジスタに あの対抗するような、あのパラメトロンなんていう新しい素子を 開発されて、で、パラメトロンを使って理学部ででコンピュータを作られた。

PC1とかPC2なんていうコンピュータを作られたんですね。 で、高橋さんと一緒になって パラメトロンコンピュータを作ったわけです。
で、理学部でだからそういう初期の頃、だからそれが、 ちょうどやっぱり、そのEDSACができた何年間か後ですよね、 で、その高橋さんなんかがえっとそのウィルクスの書いた the preparation of なんとかかんとか、EDSACのテキスト、 それをもう、本っ当にバイブルのようにして隅から隅まで 読まれたっていう話をよーく僕ら若い頃聞きました。

あの、だからこういう、あの、高橋さんとか後藤さんはむこうの、 やっぱり、その辺は悔しいけれども、欧米に比べて日本は 最初から遅れていた訳ですけれども、あの、EDSACのその テキストなんかを非常に丁寧に読まれて、で、おそらくPC1 やPC2のアーキテクチャなんかにもあの、それを反映されたの ではないかと、確かではありませんけれども思いますし、から、 そういう上でどういうソフトウェア、プログラムを動かすか、 プログラムの作り方とうなんかは、EDSACを非常に参照されたの ではないかと思います。

で、そういう経緯で、あの、理学部に、最初はおそらくだから 物理あたりでコンピュータを作った、で、そのあとだんだんその 理学部の付属の情報科学研究施設なんて言うのができて、あの、 それがまたずーっと続いて、で、今から20年くらい前でしょうか、 もうちょっとになるかしら、情報科学科っていう非常に小さな学科 ですけれども、できた訳、です。

で、一方、工学部は、ですね、あの、やっぱり、その、えっと、 高橋先生のちょっと年下かな、まだ非常にその、お元気です。
森口先生って方がいらして、僕は、あの、工学部の応物出身、 なので、あの、我々のむしろ先生にあたる方ですけれども、あの、 情報っていうかコンピュータの分野っていうのは、undergraduate からやる必要がないっていうのが、それは今でも今でも工学部の 基本精神になっているんですね。

あの、コンピュータサイエンスっていうのは、あの、ある分野、 たとえば電気とか、機械とか、計数とか、まあそれぞれの工学、 ある分野を、少なくともundergraduateで、マスターして、で、 大学院レベルであの情報の分野はやるのがいいんだっていうのが 工学部の基本的な哲学これまで。そういうの横型って言うんですけどね。
で、それが反映されたのは、だから東大の場合は工学部に 情報工学科がない。

で、工学部ではあの、情報工学独立専攻っていう、あの、 学部を持たないundergraduateを持たない、大学院だけの専攻。
電気とか機械とか計数が協力して講座を出して、あの、非常に、 工学部全体にこう、行き渡るような横型の専攻を大学院レベルで 作って行くんですね。

で、理学部ではさっき言ったようにあの、非常に、その、 コンピュータに非常に強い興味を持っていらっしゃる先生方が 理学部でコンピュータを作るっていう所から始めて、それを 学科に発展させたのが情報科学科。で、ある、訳です。
で、あの、話があの、本当に雑談になってますけれども、 ぼくがここの学科に呼んで頂いたのはさっき言ったように、 ま、今からちょうど11年前で、まだ非常に小さな学科で、ま、 いまもここはきわめて小さい訳ですが、えっと、講座数が4講座、 あ、教授が4人、で、学生がですね、まだ学部学生が十数人、 大学院生は毎年修士が8人、ぐらい、というような小さな学科。

だから、僕が来てやった一番大きな仕事は、むしろ、学科を大きくすること。
なかなか、あの、教官の数を増やすという事は、非常に 国に概算要求して認めてもらわないといけないのでできない。
それでもまあ、ちょっとは大きくなりましたけれども。あの、 学生の数を、なんとか増やす。したい。っていうこと。
で今非常にあの、ここの学科は教官と学生の数のバランスが 他学科に比べると、あの、学生の方から見ると、あの、 マスプロ教育っていうことになっていると思いますね。

あの、例えばあの、ここの物理でみると、物理は講座数で いうと20何講座。ですよね? で、学生の数は、80人くらい?
だから、1講座辺りの学生の数で言うと3.いくつから4人ぐらい。
生物系行くとこれがもっと小さいと思うんですね。
で、情報科学科はあの、学生の数、今、毎年30何人、取ってますよね。
だから、えっと、7人から8人になっている訳です。
あの、講座あたりの、あのundergraduateの学生の数。
だから非常にこう、文部省の定員に比べて、あの駒場からの 進振り定員とか大学院の定員っていうのは、学内のいろんな 運用で大きく取っているって言うのが、あの、僕らとしては、 教官のサイズをもっと、ぜひ、大きく、しなきゃいけないと 思っていますけれども。まあそういうところ、新しい組織 なんかも色々考えようとしているけれども、なかなか、教官の サイズにはそれを反映するということが難しい。

で、あの、そういう経緯で、その、理学部に情報科学科が出来た、 というわけで、で、あのー、さっきも、やっぱり、この学科の 最初を作られた高橋先生とか後藤先生とかっていうのは非常ーに、 僕らから見ても、少なくとも日本の中で非常に著名な、先生でしたし、 あの。僕らが学生の頃でもまだ後藤先生なんて言うのは二十歳代、 ぐらい、でしたけれど、僕らが学生の頃でも、今あの、東京大学で ノーベル賞もらうとしたら、後藤君だねっていう事をみんなが 言ってましたから、それくらい、やっぱり有能な天才肌の先生でした。
今も、あの、ご健在ですけど、ここの学科は、何年か前に、 定年になられました。

あの、えっと、どこから話が飛んじゃったか忘れてしまったけれども。
あの、ま、こういうのが、だから、今のコンピュータが出来たのは 第二次大戦が終わった後、で、あの、こういうコンピュータも そのうちの一つで、ぜひ、そういうあの、ソフトウェア、 一番最初のシステムソフトですから、機会があったら、 ぜひ読んで欲しいと思います。
で、あと、そのコンピュータの歴史で、あの、歴史的に コンピュータを見ると、最近はそういう言葉があまり 使われなくなりましたけれども、あの、世代っていう 言葉がよく使われるんですね。使われました。

世代っていうのはジェネレーション。
あの、最近はあんまりこういう言葉は使わないと思いますが、 ジェネレーション。だから第一世代のコンピュータ。 第二世代のコンピュータ。第三世代のコンピュータ。 そこまでは非常に、はっきり。あの、で、これはみんなOS360とか、 MULTICS、UNIX、これは、みんな第三世代に入ります。
って言うか、あの、OS360で第三世代が始まったというような、 あの、評価付けになっています。

第一世代っていうのはどういう時代かっていうと、だいたいで言うと、 あの、えっと、コンピュータの素子として、真空管なんかを 使っていた、時代、ですね。で、あの、メモリもそれに 対するような磁気遅延線とかそんなものを使っていた。
一番最初の、まだコンピュータがコマーシャルベースに なるかならないかっていう、あの。

それから、第二世代っていうのは、あの、素子としてトランジスタを 使いますね、だから 1960年頃。

で、第三世代が、あの、だからこれは、ここからOS360が、 その線で言うと、第三世代のでハードウェアである。


Prev Next

 

〔トップページへ〕 〔オペレーティングシステムの仮想講義のindexページへ〕
<vu@is.s.u-tokyo.ac.jp>

Last updated on 7 May, 1999