トップ よくある質問 作者ブログトップ お問い合わせ・ご注文

UNIX初期の歴史再検証 --- Part4

1.1次資料から読み取れること

   http://cm.bell-labs.co/who/dmr/には多数の文献が挙げられていますが、そのうちで、まずThe Evolution of the Unix Time-sharing Systemを見て行きます。

 ここには、以下の内容が書かれています。

・Unix was born in 1969 not 1974
  ---UNIXが1974年生まれと思っている人がいるようだが、1969年生まれである

・For computer science at Bell Laboratories, the period 1968-1969 was somewhat unsettled.
  --話は1968〜1969年にさかのぼる

・The main reason for this was the slow, though clearly inevitable, withdrawal of the Labs from the Multics project
  --ベル研がMulticsプロジェクトから段階的に撤退した

・Even though Multics could not then support many users, it could support us, albeit at exorbitant cost. We didn't want to lose the pleasant niche we occupied, because no similar ones were available; even the time-sharing service that would later be offered under GE's operating system did not exist.
  --その時点で、自分たちが使える程度のタイムシェアリングシステムができており、その便利さを失いたくなかった。

・Besides the financial agitations that took place in 1969, there was technical work also. Thompson, R. H. Canaday, and Ritchie developed, on blackboards and scribbled notes, the basic design of a file system that was later to become the heart of Unix.
  --1969年に、黒板に走り書きしたファイルシステムの概念があった

・he started work on a new operating system for the GE-645
  --彼(前後の文脈からケン・トンプソンのこと)はジェネラルエレクトリック社製のGE-645マシン上で、ファイルシステムを作る作業を開始した

・when it became clear that the lifetime of the 645 at the Labs was measured in months, the work was dropped.
  --GE-645が数か月以内に使えなくなることがわかり、作業は停止した。(参考:GE-645はMulticsプロジェクトに使うマシンであったため、ベル研がMulticsプロジェクトから撤退すれば、いずれ撤去されるはずであった。)

・Also during 1969, Thompson developed the game of 'Space Travel.'
  --同時にこの時期にトンプソンはSpace Travelというゲームを作った

・It did not take long, therefore, for Thompson to find a little-used PDP-7 computer with an excellent display processor; the whole system was used as a Graphic-II terminal.
  --ゲームに適したディスプレイを持つPDP-7がほとんど使われていないのを見つけた

・He and I rewrote Space Travel to run on this machine.
  --トンプソンとリッチーは、PDP-7上でSpace Travelを動かした

・Space Travel, though it made a very attractive game, served mainly as an introduction to the clumsy technology of preparing programs for the PDP-7. Soon Thompson began implementing the paper file system (perhaps 'chalk file system' would be more accurate) that had been designed earlier.
  --Space Travelの作成は、PDP-7に習熟するのに役立った。まもなく、トンプソンは黒板に書いたアイデアであったファイルシステム(冗談で「チョークファイルシステム」と書かれている)を実装し始めた。

・Then came a small set of user-level utilities: the means to copy, print, delete, and edit files, and of course a simple command interpreter (shell).
  --その後、copyなどのファイルシステムを使うユーティリティを作った

・Up to this time all the programs were written using GECOS and files were transferred to the PDP-7 on paper tape
  --最初のUNIXは、当初はGE製マシンのOSであるGECOS上で開発された

・Although it was not until well into 1970 that Brian Kernighan suggested the name 'Unix,' in a somewhat treacherous pun on 'Multics,' the operating system we know today was born.
  --この時がUNIX誕生の時である。ただし、1970年にカーニハン氏がUNIXと名前を付けるまで、名前はなかった

・the file system of PDP-7 Unix was nearly identical to today's
  --この最初のUNIXのファイルシステムは、今日(当該ドキュメントが書かれた1978年)のものとほとんど同じであった

・the system was not multi-programmed; only one program was in memory at a time
  --このUNIXはマルチプログラミングではなかった

・it was clear that the PDP-7, a machine we didn't even own, was already obsolete
  --UNIXが動いたPDP-7は古いマシンであった

・In early 1970 we proposed acquisition of a PDP-11, which had just been introduced by Digital.
  --1970年の初めごろに、DECから発表されたばかりのPDP-11の購入を提案した

・the amount of money (about $65,000)
  --価格は約$65,000であった

・the charter sought was not merely to write some (unspecified) operating system, but instead to create a system specifically designed for editing and formatting text, what might today be called a 'word-processing system.'
  --OS作成という目的は明記されず、ワープロを作成することが目的とされた

・an order for a PDP-11 was placed in May
  --5月に発注がされた

・The processor arrived at the end of the summer, but the PDP-11 was so new a product that no disk was available until December.
  --プロセッサーは夏の終わりに届いたが、ディスクは12月まで待たねばならなかった

・In the meantime, a rudimentary, core-only version of Unix was written using a cross-assembler on the PDP-7.
  --ディスクが届くまではPDP-7上のクロスアセンブラでPDP-11用のUNIX作成を進めた

・the first version of Unix for the PDP-11 represented a relatively minor advance over the PDP-7 system
  --PDP-11上で動いた最初のバージョンのUNIXは、PDP-7上のUNIXと大差なかった

・there was no multi-programming; only one user program was present in core at any moment
  --マルチプログラミングではなかった

・the most interesting thing about the enterprise was its small size: there were 24K bytes of core memory (16K for the system, 8K for user programs)
  --メモリは24KB必要であった

・The experiment was trying but successful. Not only did the Patent department adopt Unix, and thus become the first of many groups at the Laboratories to ratify our work, but we achieved sufficient credibility to convince our own management to acquire one of the first PDP 11/45 systems made.
  --開発は成功し、UNIXは特許部に採用された。これにより、ベル研上層部の信用が得られ、PDP-11/45の最初期出荷マシンを買ってもらえることになった

・Every program for the original PDP-7 Unix system was written in assembly language
  --最初のUNIXはアセンブリ言語で書かれた

・Thompson decided that we could not pretend to offer a real computing service without Fortran
  --トンプソンはFortranが必要たと思った

・As I recall, the intent to handle Fortran lasted about a week. What he produced instead was a definition of and a compiler for the new language B
  --結局FortranではなくB言語が作られた

・a version of the multi-precision `desk calculator' program dc was one of the earliest programs to run on the PDP-11
  --PDP-11上で作られたdcのあるバージョンはB言語で書かれた

・Only passing thought was given to rewriting the operating system in B rather than assembler, and the same was true of most of the utilities.
  --OS自体をBで書こうなどとは考えられもしなかったし、ほとんどのユーティリティもBではなくアセンブラで書かれた

・This approach was taken mainly because of the slowness of the interpretive code.
  --これはBで書いたプログラムが動作が遅かったのが主たる理由である

・in 1971, work began on what was to become the C language
  --1971年にB言語はC言語に変化し始めた

・the most important watershed occurred during 1973, when the operating system kernel was rewritten in C.
  --1973年にOSがCで書き直された

・the most far-reaching change was the introduction of multi-programming
  --その時にUNIXはマルチプログラミングOSになった

 以上の事柄のうち、重要な箇所をまとめます。

・first Editionのマニュアルに書かれているUNIXはPDP-11上で動いた。
・PDP-11向けの最初のUNIXはメモリが24KB必要であった。
・first Editionの表紙に書かれている日付は1971年11月であるが、その前の1969年にPDP-7向けにUNIXが作られていた。
・その時にPDP-7上でゲームSpace Travelを作った経験が生きた。ただし、Space TravelとUNIXとが直接関係しているとは書かれていない。
・さらにその前にMulticsの経験があった。
・ベル研がMulticsプロジェクトから撤退した正確な年月日は明示されていないが、1969年のどこかであり、撤退は段階的に行われた。
・当初はUNIXはマルチプログラミング環境ではなかった。のちにC言語で書き直されたとき(バージョン4のとき)にマルチプログラミングになった。
・UNIXが作られる過程で、B言語とC言語ができた。
・UNIXをB言語で作るという試みはなかった。

 以上の事柄を解釈します。

・バージョン1以前にPDP-7用のUNIXがある。これを当ブログではバージョン0と記述する。
・バージョン1が作られた時点ではPDP-11は初期版の1機種しかないことが、Gordon Bell他著の"Computer Engineering"の表からわかり、これはPDP-11/20と呼ばれるものであるから、バージョン1の対応機種はPDP-11/20である。
・バージョン1の使用メモリは24KBである。このうちシステムだけで16KBを占める。
・UNIXはもともとはシングルプログラミング環境であったことが、UNIが名称に着いた理由のうちの一つかもしれない。
・1次資料から、バージョン2のUNIXではPDP-11/45には対応していないようであり、バージョン2もPDP-11/20が対応機種だろう。
・Space TravelというゲームとUNIXの関係だが、"Space Travel, though it made a very attractive game, served mainly as an introduction to the clumsy technology of preparing programs for the PDP-7"という表現から見て、ゲームを作ることでPDP-7に慣れたというだけのことで、直接の関係はないだろう。たとえば、ゲームのスコアを記録するためにファイルシステムを作ったというようなことではなさそうである。
・PDP-7上でUNIXを作り始めた時にはGEのマシンを使っていることから推測するに、ベル研がMulticsプロジェクトからの撤退を決めても、しばらくはGEのマシンは使えたようである。

ここまでをまとめると次の表のようになります。

バージョン日付 台数 ハード メモリ
バージョン0 1969 1 PDP-7  
バージョン1 1971/11 10 PDP-11/20 24KB
バージョン2 1972/6 6 PDP-11/20  
バージョン3 1973/2 4    
バージョン4 1973/11 30    
バージョン5 1974/6      
バージョン6 1975/5   PDP-11/40  
バージョン7 1979/1   PDP-11/45,70  


前回へ      次回へ