『カーニハンのUNIX回顧録』オンライン読書会第5回目

no extension

カーニハンのUNIX回顧録』オンライン読書会の第5回目に参加してきた。

今回は7章から9章の途中まで。 最後まで終わらなかった。 印象に残った部分をかいつまんで紹介する。

Unix 年表

8章に載っている「Unix 年表」は Wikipedia からの転載みたいなので探してみたらあった。

File:Unix timeline.en.svg - Wikimedia Commons (public domain)

すべての Unix 派生版が載っているわけではないが,大まかな系譜は見て取れるだろう。

研究所版 Unix が系譜の根であり,そこから大きくバークレー版(Berkeley Software Distribution; BSD)と商用版(System III & V)に分かれる。 両者は同じ祖先を持ちながら互換性がなく,また AT&T が BSD に対して知財権侵害で訴えた1 こともあり(BSD は AT&T からのコードを削除・書き換え,泥沼となる)まるで似て非なるものとなった。

Xenix

読んで面白かったのは Microsoft が1980年代に Xenix と呼ぶ Unix 派生バージョンを供給してたことで2,1980年代後半の Unix インストールマシン台数ではこれが一番多かったらしい。

もし Microsoft が自身の MS-DOS の代わりに Xenix を推していたら,そして,もし AT&T が見かけによらず取引しやすかったなら,今日の世界はどれだけ違っただろうか.

ホンマにな。 Xenix はのちに SCO (Santa Cruz Operation) に売却される。

Minix と Linux

AT&T と BSD の間の不毛な争いの間に「もっと自由に使える Unix」の機運が高まる。 ここで登場したのが Minix である。 Minix はシステムコールレベルでは互換だがゼロからコードを書いたもので,カーネルの構成が Unix とは異なる。 作者の Andrew Tanenbaum は Minix についての教科書を書き,ソースコードを無料公開した。 Minix は教育・研究目的で今も健在らしい。

そして Linus Torvalds による Linux が登場する。 この辺までくると私にもリアルな記憶になってくるな。

カーニハンのUNIX回顧録』には Usenet の comp.os.minix に投稿された Linus Torvalds 投稿(の翻訳)が載っている。

私は,386 (486) AT クローン向けの(無料の)オペレーティングシステムを作っています(単なる趣味で,gnu のように大きく,プロ向けなものにはしたくない).

この部分を読んで密かに笑ってしまった。 フィンランドの大学生が「単なる趣味で」作った Unix もどきが(ゼロからコードを書き,最初は数千行のサイズだったらしい),今やパソコンを除く多くの機器でメジャーな OS となった(スパコンも今や Linux 駆動だし Android も Linux ベースである)。 もっと言えば Linux を礼賛する本も出たりして,世の中というのは実に不思議である3

Unix の技術がもたらしたもの

カーニハンのUNIX回顧録』では Unix の技術がもたらしたものとして以下を挙げている。

  • 階層型ファイルシステム
  • 高水準実装言語
  • ユーザレベルのプログラム可能なシェル
  • パイプ
  • ツールとしてのプログラム
  • 普通のテキストが標準データ形式である
  • プログラムを書くプログラム
  • 専用言語

詳しくは9章を参照あれ。

Unix 哲学

Unix の技術がもたらしたものとして最後に「コンピュータを使った仕事にどのように取り組むか」というのが挙げられている4。 曰く

  1. それぞれのプログラムは一つのことをうまくやるようにせよ.新しい仕事をするには,新たな「機能」を追加して古いプログラムを複雑にするのではなく,改めて組み立てよ.
  2. すべてのプログラムの出力は,未知の別のプログラムの入力となることを想定せよ.出力を無関係な情報で散らかさないこと.厳格なカラム化やバイナリの入力形式は避けよ.対話型の入力を強要しないこと.
  3. ソフトウェアは,たとえそれがオペレーティングシステムであっても,早期に,できれば数週間以内に試用できるように設計し構築せよ.ぎこちない部分はためらわずに捨てて作り直すこと.
  4. たとえツール構築のために迂回する必要があったり,使い終わったらその一部を捨てることになると予想されようとも,プログラミング作業を楽にするためには,未熟な人の手助けよりもむしろツールの使用を優先せよ.

これは,今日では「Unix 哲学(Unix Philosophy)」として知られているものの,元になったものである。 4番目とか道具としての生成 AI を指してるような気がして,ちょっと面白かった。

参考

photo
リナックスの革命 ― ハッカー倫理とネット社会の精神
ペッカ ヒマネン (著), リーナス トーバルズ (著), マニュエル カステル (著), 安原 和見 (翻訳), 山形 浩生 (翻訳)
河出書房新社 2001-05-26
単行本
4309242456 (ASIN), 9784309242453 (EAN), 4309242456 (ISBN)
評価     

大昔に買ったんだけどうろ覚え。買い直そうかと思ったが邦訳は Kindle ではないのか。それにしても「リナックスの革命」とかいう頭の悪いタイトルはどうにかならなかったのだろうか。副題だけで十分ぢゃん。

reviewed by Spiegel on 2020-12-12 (powered by PA-APIv5)

photo
それがぼくには楽しかったから 全世界を巻き込んだリナックス革命の真実 (小プロ・ブックス)
リーナス トーバルズ (著), デビッド ダイヤモンド (著), 風見 潤 (翻訳), 中島 洋 (監修)
小学館プロダクション 2001-05-10
単行本
4796880011 (ASIN), 9784796880015 (EAN), 4796880011 (ISBN)

Linux の作者 Linus Torvalds の自伝的作品。

reviewed by Spiegel on 2017-01-23 (powered by PA-APIv5)


  1. カーニハンのUNIX回顧録』では Oracle vs. Google (Android/Java) の訴訟についても紹介している。この辺は割と真面目にブログ記事にしてるので「Google vs Oracle の訴訟の行方(最終章)」から遡って読んでみて。そもそもプログラムコードに著作権があるってのは(歴史的には)比較的新しい考え方なんだよ。 WCT (WIPO Copyright Treaty) が採択されたのが1996年。発効したのが2002年である。 ↩︎

  2. 「Microsoft の Xenix」という部分を見て「銭ックス」と脳内変換したのは私だけではない筈だ! ↩︎

  3. 私の印象でも1990年代までは「Linux はオモチャ」だった。それでも Unix ワークステーションの X 端末としては優秀だったので仕事でもよく使っていたが。 ↩︎

  4. BSTJ 57: 6. July-August 1978: UNIX Time-Sharing System: Forward. (McIlroy, M.D.; Pinson, E.N.; Tague, B.A.) : Free Download, Borrow, and Streaming : Internet Archive” p.1902 参照。 ↩︎