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

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

 続いて、同じ1.1次資料のうち、リッチーがC言語の発祥について書いた、 The Development of the C Languageの内容を見ます。
これは1993年に開かれた、History of Programming LanguagesというACMのカンファレンスでの講演の内容です。

・Multics project [Organick 75], which had started as a joint venture of MIT, General Electric, and Bell Labs
 --MulticsはMITとGEとベル研の共同研究であった

・Even before the GE-645 Multics machine was removed from the premises, an informal group, led primarily by Ken Thompson, had begun investigating alternatives.
 --Multicsで使われたマシンであるGE-645が撤去される前に、代替となるものを探した

・the DEC PDP-7 on which he started in 1968 was a machine with 8K 18-bit words
 --1968年にPDP-7で作業を始めた。これは18bitマシンで8Kワード(約16KB)のメモリのマシンであった。(注:この1968年という年号は前回"The Evolution of the UNIX Time-Sharing System"にある1969年と符合しない。どちらが正しいのかは不明)

・that ran on an 18-bit machine with 4K words of user address space.
 --このうちで4Kワードがユーザースペースである。つまり、OSは4Kワード=8KB程度のサイズである。

・At the start, he did not even program on the PDP-7 itself, but instead used a set of macros for the GEMAP assembler on a GE-635 machine.
 --当初はPDP-7の上でプログラミングしたのではなく、GE-635の上でクロスアセンブルした。

・After a rapidly scuttled attempt at Fortran, he created instead a language of his own, which he called B.
 --he(トンプソンのこと)がB言語を作った

・Thompson went a step further by inventing the ++ and -- operators
 --トンプソンが++や--という演算をB言語で発明した

・People often guess that they were created to use the auto-increment and auto-decrement address modes provided by the DEC PDP-11 on which C and Unix first became popular. This is historically impossible, since there was no PDP-11 when B was developed.
  --PDP-11の特徴から++や--が作られたと考える人がいるようだが、当初PDP-7上でB言語が作られたときにPDP-11はまだ発売されておらず、そのようなことは原理的に不可能である。

・On the PDP-7 Unix system, only a few things were written in B except B itself, because the machine was too small and too slow to do more than experiment
  --B言語は速度が遅かったため、B言語で書かれたものは少ない。

・rewriting the operating system and the utilities wholly into B was too expensive a step to seem feasible
  --OSや各種ユーティリティを全面的にBで書き直すなどと言うのは考えられなかった

・Still, some utilities written in B appeared, including an early version of the variable-precision calculator dc familiar to Unix users
  --dcなどのごく少数のものだけがB言語で書かれた

・Thompson recoded the Unix kernel and some basic commands in PDP-11 assembly language.
  --トンプソンはPDP-11用にUNIXを書き直した

・Of the 24K bytes of memory on the machine,
  --PDP-11は24KBのメモリを積んでいた

・the earliest PDP-11 Unix system used 12K bytes for the operating system, a tiny space for user programs, and the remainder as a RAM disk. This version was only for testing, not for real work;
  --開発初期のPDP-11用UNIXは12KBであった。ただし、これはテスト用のものであり、正式なリリース版ではない

・By early 1973, the essentials of modern C were complete.
  --1973年の初頭までにCの本質部分が完成した

・The language and compiler were strong enough to permit us to rewrite the Unix kernel for the PDP-11 in C during the summer of that year.
  --1973年の夏にC言語でUNIXが書き直された

・Thompson had made a brief attempt to produce a system coded in an early version of C--before structures--in 1972, but gave up the effort.
  --1972年に構造体を持たない初期のC言語でUNIXを書き直そうとしたが失敗した

 以上の内容は前述の"The Evolution of the UNIX Time-Sharing System"とおおむね符合します。

 PDP-7やPDP-11のマシンが持つメモリが明記されているのが、新しく得られた情報です。 PDP-11のメモリが24KBということは、先の資料にある、OSが16KB・ユーティリティが8KBという分類のうちユーティリティの8KBすべてがUNIXに使われていないはずである(でないと何の作業もできなくなる)という解釈ができます。



前回へ      次回へ