ablog

不器用で落着きのない技術者のメモ

最前線UNIXのカーネル

最前線UNIXのカーネル

最前線UNIXのカーネル

OSの排他制御について調べていたのですが、この本の説明が良かったです。
歴史的な背景や、実装がどうなっているかだけでなくなぜそうなっているかという設計についての考察が書かれているところが良いです。

例えば、
マルチプロセッサ・システムでは単一プロセッサ・システム上では同期の必要がなかったあらゆるデータに関しても保護しなければならない。例えば、IPC資源テーブルはマルチプロセッサ・システムでは異なる2つのプロセッサ上で動作する2つのスレッドが同時にテーブルを参照する可能性あるため、ロックが必要になる。ロック操作も不可分 test-and-set などの命令を使って1つのスレッドしかロックを得られないようにしないといけない。割り込みのブロックも大域iplを管理するなど、他のプロセッサ上の割り込みハンドラをブロックする手法を提供する必要がある。
といったことが、従来の実装がどうで、どういう課題があるから、こういう実装になってきているというふうにわかりやすく書かれています。


以下は「はじめに」からの引用です。
P. v

設計の概観
本書は、システム設計の観点からUNIXカーネルに焦点を当てたものである。本書では多くの商用、研究用の各種のUNIXを述べている。カーネルの構成要素に関して、主要なUNIXシステムがどのような実装を選択し、他の実装と比べた際のその優劣や構成と設計の観点から探求した。このような比較的な取り扱いは本書を独特なものにし、読者がそのシステムを批判的な視点から吟味することができる。オペレーティング・システムを研究していく上で重要な点は、その長所と短所を明確にすることである。多数の各種のUNIXを分析することにより、このことが可能となるのである。

原題は「UNIX Internals: The New Frontiers」ですが、「Solaris Internals」ってこの本にインスパイアされたのかなって思ったので、

Solarisインターナル―カーネル構造のすべて

Solarisインターナル―カーネル構造のすべて

の「はじめに」を見てみると、

現在、UNIXカーネルについて詳細に説明された書籍が何冊か出版されている。特に Goodheart と Cox による [10]*1、Bach の [1]*2、そして Vahalia の [39]*3 は優れた内容であり、これらはUNIXの内部をより深く理解したい人々にとってバイブルともなってきている。しかし、残念なことに Solaris カーネルについて深く書かれた書籍はまだ見当たらない。

と書かれていました。

*1:

UNIXカーネルの魔法―System Vリリース4のアーキテクチャ

UNIXカーネルの魔法―System Vリリース4のアーキテクチャ

  • 作者: バーニーグッドハート,ジェームスコックス,Berny M. Goodheart,James H. Cox,桜川貴司
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/04
  • メディア: 単行本
  • 購入: 1人 クリック: 16回
  • この商品を含むブログ (2件) を見る

*2:

UNIXカーネルの設計

UNIXカーネルの設計

*3:

最前線UNIXのカーネル

最前線UNIXのカーネル