Life with UNIX

tumblrでだれかがquoteしていた"Life with UNIXを買った。


1989年に書かれた本で、もう20年近く前のところからさらに昔のはなしが書かれている。そもそも"UNIX以前"を知らないのでUNIXの先進性としてあげられているものにまず驚く。

  1. ファイル、デバイス、プロセス間I/Oの統合(open, read, write, closeで全部操作できるということ)
  2. パイプ
  3. 階層的ファイルシステム

これらはUNIX以前の世界にはなくて、フラットなファイルシステム(というのはディスクも一次元のメモリみたいに扱うということなんだろうか)だったと書いてある。

UNIXの移植のはなし。UNIXは1977年にInterdata 8/32(というハードウェア), Interdata 7/32, VM/370(これはIBMの360の後継機?)にUNIXを移植した。

こうした移植のどれもがすごい業績と見なされた。3つのマシンはすべて、PDP-11とは内部構造が非常に異なっていたからだ。事実、問題はこの点だけなのである。そもそもオペレーティングシステムは、複数の機種のコンピュータで動作するようには設計されていない。同様にコンピュータも、特定のオペレーティングシステムを念頭に置いて設計される場合がほとんどなのだ。

いまではふつうにいろんな環境でLinuxが動いているけれど、UNIX以前の時代はそうではなかったらしい。この(UNIXを作った)DennisとKenの成功は、カーネルをCで書き換えたこと、それまで全部アセンブラで書かれているのがあたりまえだったところをCで実装して性能と実用性のバランスによってもたらされたと書かれている。



あとはざっとしか読んでない。UNIXの政治的側面、はあとでちゃんと読む。心に残っているのは、この時代のマシンはメインメモリが250KBで500KBのディスクが読めますとかいう冗談みたいなやつなのに、それでもふつうに仮想記憶をサポートしていたりEthernetが繋がっていてビットマップが表示できたりする(値段が冗談みたいに高いけどそれでも100万円ぐらい)。

データベース動かすのにUNIX使うなんてあり得ないよ、だってUNIXは...というのはLinuxのときにもおなじようなセリフを聞いた。


emacsのはなしが載っている。当時はemacsの商用バージョンを販売している会社があったそうだ。10くらいの製品と作っている会社が紹介されている。ひとつも知らない。ほかにもところどころで製品が紹介され、作っている会社が紹介されている。AT&T, Sun, Cray, IBMを除いてことごとく知らない会社名だった。

UNIXで利用できる言語がリストされていた。自分がほとんどプログラミング言語を知らないというのが大きいけど、聞いたことないやつとか、それって歴史上の言語じゃなかったの、というのがでてくる。ADA,APL,Basic,C,COBOL,Dibol,Forth,Fortran,Lips,Modula-2,Mumps,Pascal,PL/M,Peolof,RPG,Smalltalk,Snobol

この時代にはすでにLotus1-2-3があったらしい。

Whenever possible, steal code. -- Tom Duff


レイヤとアプリケーションが変わりつつも、あ、なんかこのの部分はいまのこの状況に似ている、と思うところがあったりして、アイディア本というか、歴史書として楽しめました。

とりあえず本はreblogできるようにならないといけない。線引いてもどこに引いたのか分からないし本開かないと分からない。本はいい位置取ってると思う。音楽はコピーされまくってるけど本はコピーしにくいのでぜんぜんコピーされない。ふざけんな。