推薦図書/必読書のためのスレッド#2

このエントリーをはてなブックマークに追加
845仕様書無しさん
>>836
いや、仮想記憶や I/O がらみの部分は、かなりドラスティックに変
わっています。一番、変更が大きい分野かもしれない。

比較的最近の話に絞っても 4.3BSD の VAX 依存の VM が、4.4BSD
では Mach 由来の特定ハードウェアに依存しない VM に変わり、さ
らに NetBSD 1.4 では設計からやり直した UVM が入って、最近で
はバッファキャッシュと統合された UBC になっています。

#ちなみに、今後しばらくはプロセス管理サブシステムがホットな雰
#囲気。NetBSD の SA, FreeBSD の KSE は要注目。Linux は知ら
#ん。

変わらないのは基本的なシステムコール、プロセスの概念、ファイル操
作のセマンティクス(i node ベース、参照カウンタによる管理、デバ
イス非依存)、ひとつのプログラムがカーネルモードとユーザモードを
行き来することで処理を進めるというフレームワーク、サブシステムの
分割方法、などかな。

UNIX も成長するにつれて kernel が提供するシステムコールの数は
増えましたが、それにしても Win32 API のように膨大な数にはなら
ず、古きよき UNIX V6 の時代から基本的なシステムコールは変わら
ずに使われています。設計が良かった、ということでしょうね。