索引 / 001 JA
オペレーティングシステム:三つの基本 cover

コンピュータサイエンス

コンピュータサイエンス

オペレーティングシステム:三つの基本

Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

英語原題: Operating Systems: Three Easy Pieces

仮想化、並行性、永続性という三つの概念を軸に、現代のオペレーティングシステムがプロセッサ、メモリ、ストレージを管理する方法を解説する。

難易度レベル
上級
学術レベル
学部
オペレーティングシステム仮想化プロセス並行性仮想メモリファイルシステムシステムプログラミング

01 / 経典教科書推薦

経典教科書推薦

引用

Arpaci-Dusseau, R. H., & Arpaci-Dusseau, A. C. (2018). Operating Systems: Three Easy Pieces (Version 1.00). Arpaci-Dusseau Books.

なぜ重要か

オペレーティングシステムを機構の一覧としてではなく、仮想化、並行性、永続性という三つの考え方で捉える。各概念を、プログラマが実際に使うインターフェースへつなげて理解できる本である。

核心概念

仮想化

オペレーティングシステムは限られたプロセッサとメモリを、私有で柔軟な資源であるかのように見せる。プロセス、アドレス空間、スケジューリング、ページングがその仕組みを説明する。

並行性

スレッドと割り込みは、逐次的なプログラムには見えない実行の交錯を生む。ロック、条件変数、セマフォ、不変条件によって並行動作を分析できる。

永続性

ファイルとストレージは、クラッシュや遅延、完全ではないハードウェアの中でも情報を保存しなければならない。ファイルシステム、ジャーナリング、データ整合性が持続的な状態を支える。

方針と機構

機構は何ができるかを定め、方針はどの行動を選ぶかを定める。両者を分けて考えると、スケジューリング、メモリ管理、資源配分が見通しやすくなる。

読み方

各章に小さな実験を組み合わせる。プロセスを追跡し、スケジューリング方針を測定し、ページテーブルを調べ、ファイルシステムの障害を考えることで、抽象概念を動作として捉えたい。

結論

『オペレーティングシステム:三つの基本』は、プログラミングからシステムへ進むための明快な橋渡しとなる。カーネル、ランタイム、性能、計算機の抽象の限界を考える語彙を与えてくれる。