THE DESIGN OF THE UNIX OPERATING SYSTEM - Maurice J. Bach 📘

本棚を整頓していたら 『THE DESIGN OF THE UNIX OPERATING SYSTEM - Maurice J. Bach』 が出てきた

f:id:hiboma:20210916223931j:plain

1986年出版である。古典。

Classic description of the internal algorithms and the structures that form the basis of the UNIX operating system and their relationship to programmer interface. The leading selling UNIX internals book on the market.

UNIX オペレーティングシステムの基盤となる内部アルゴリズムや構造体、およびそれらとプログラマのインターフェースとの関係についての古典的な記述。市場で最も売れているUNIXインターナルの本です。 ( DeepL翻訳 )


表紙のデザインが気に入っている

2013年にペーパーバック版を買っていて、その後、どうしてもハードカバー版が欲しくなって買い足したものだ。表紙がかっこいいから飾りたかった! ただそれだけのために!

hiboma.hatenadiary.jp

ペーパーバック版はこんなん。(2013年に撮影)

ペーパーバック版は書き込みをしつつ読み込んだ。本棚には見当たらない。行方不明になってしまった。


肝心の中身の話。

UNIX System V Release 2 をベースにしているらしいが、図解や擬似コードを添えて説明が続く。

f:id:hiboma:20210916222351j:plain システムコールを呼び出す C のサンプルコードも出てくる。


擬似コード =骨格だけに削ぎ落として Design =「設計」にフォーカスした教科書と言えるんだろうか。擬似コードのアルゴリズムは素朴に書かれている。

実際の 「実装」= ソースコードには些末な処理が含まれたり、変数、型や関数名などにも気を取られたりして、本質的な理解の妨げることもあるからなぁ


古い本だから 令和のこの時代に読む必要ないか ... というとそんなこともない

プロセスのモデルやシステムコールのインタフェースは 現代の *nix と同じだ

f:id:hiboma:20210917002335j:plain


そういえば、最近、デバンドページングとコピーオンライトを調べ直す機会があった

hiboma.hatenadiary.jp

この本にも載っている

System V Release 2は1984年4月にリリースされた[1]。シェル機能とSVIDが導入されている。新たなカーネル機能として、ファイルロック、デマンドページング、コピーオンライトが導入された[3]。

引用: https://ja.wikipedia.org/wiki/UNIX_System_V

f:id:hiboma:20210916222335j:plain


2013年当時、この本を読んだことで Linux カーネルを(ちょっとだけ)理解する基礎体力づくりにはなったよなぁと思い返していた