オペレーティングシステム入門 (新版)
オペレーティングシステムニュウモンシンパン
なぜ注目されているか
書籍紹介
OS の仕組みを具体的に理解できる教科書
これから OS の勉強に取り組もうとする人のための入門書。変遷の著しい各分野の OS を具体的にあげ、コンピュータの基礎を一通り学習した人を対象として、できるだけ平易に具体的に記述。
第 1 章 オペレーティングシステムの概要
第 2 章 プロセスの制御
第 3 章 プロセスのスケジューリング
第 4 章 割込みの制御
第 5 章 仮想記憶システム
第 6 章 入出力とファイルの制御
参考文献
索引
技書の森解説
『オペレーティングシステム入門 (新版)』 (古市 栄治 著、オーム社、2022 年 9 月刊) は、プロセスの制御とスケジューリング、割込み、仮想記憶、入出力とファイルの制御という OS の中核の仕組みを全 6 章で解説する入門教科書です。版元の紹介文では、これから OS の勉強に取り組もうとする人のための入門書で、コンピューターの基礎を一通り学習した人を対象に、変遷の著しい各分野の OS を具体的にあげて、できるだけ平易に具体的に記述したと説明されています。
版歴について、版元は日本理工出版会から 1998 年 1 月に発行されていた『オペレーティングシステム入門 (新版)』をオーム社から発行するものと注記しています。書名の新版は 1998 年の版を指し、2022 年 9 月の刊行は、その版をオーム社が発行したものです。
全 6 章の構成、OS の概要から入出力とファイルの制御まで
第 1 章「オペレーティングシステムの概要」は OS とは何かと現代のオペレーティングシステムを扱い、第 2 章「プロセスの制御」はプロセスの状態遷移と生成、排他制御、セマフォの仕組み、プロセス間の同期と通信へ進みます。第 3 章「プロセスのスケジューリング」はプロセスの特性から基本的なスケジューリング、実用的なスケジューリング、スケジューリングの実際までを、第 4 章「割込みの制御」は割込みの種類とコンテクストの切換えを取り上げます。第 5 章「仮想記憶システム」は主記憶の管理、仮想記憶の仕組み、アドレス変換、仮想記憶システムの運用、ページ置換えの技法、ワーキングセットを、第 6 章「入出力とファイルの制御」は入出力動作の概要、記憶装置の管理、ファイルの入出力、効率的なアクセスを扱います。各章の末尾に演習問題があり、巻末は参考文献と索引です。
プロセス、割込み、仮想記憶の仕組み
OS の仕事の中心は、1 つの CPU と限られたメモリを、複数のプログラムが互いを壊さずに分け合えるようにすることです。実行中のプログラムに資源を割り当てた単位がプロセスで、どのプロセスに次の CPU 時間を渡すかを決めるのがスケジューリング、実行中のプロセスを止めて別のプロセスへ切り替えるきっかけを作るのがタイマーや入出力装置からの割込みです。切り替えのたびにレジスターなどの実行状態を保存して戻す処理が入るため、切り替えの頻度と応答の速さの釣り合いが設計の要点になります。共有する資源を同時に 1 つの実行単位だけに使わせる ミューテックス のような同期の道具は、ダイクストラが示したセマフォの考え方から続く系譜にあります。仮想記憶は、プロセスごとに独立したアドレス空間を見せ、ハードウェアがページ単位で仮想アドレスを物理アドレスへ変換する仕組みで、主記憶に収まらない分は補助記憶との入れ替えでまかないます。どのページを追い出すかの選び方を誤ると入れ替えばかりで処理が進まなくなり、その目安としてデニングが提案したのがワーキングセットです。これらの原理は Linux や Windows のような汎用 OS でも土台として使われ続けており、プログラムの性能や不具合を調べる際に、プロセスとスレッド の違いやメモリの使われ方を説明する前提になります。
版元が挙げる前提と目次の範囲
読み始める前提は、版元の案内どおりコンピューターの基礎を一通り学習していることです。
一方で、目次にマルチコアの並列実行、仮想化やコンテナ、SSD のような記憶装置を個別に扱う項目はなく、特定の OS のソースコードを読む章もありません。OS と低レイヤーの本の選び方は OS / 低レイヤー本ガイド にまとめています。本書は、OS の概要からプロセスの制御、スケジューリング、割込み、仮想記憶、入出力とファイルの制御までを全 6 章に収め、各章の末尾に演習問題を置いた教科書です。
関連記事
技術書の「参考文献リスト」は次の 1 冊への最短ルート
技術書の巻末にある参考文献リストは、著者が実際に読んで書いた文献の一覧で、次に読む本を選ぶ有力な手がかりです。読み方と活用法を紹介します。
「入門」「実践」「詳解」の次に来る本 - 中級者の壁を越える読書戦略
入門書を卒業した後、何を読めばよいかわからない。中級者が陥る「読書の踊り場」を抜け出すための選書戦略と、レベルを引き上げる本の見つけ方を解説します。
Linux 本ガイド - コマンドライン / しくみ / 性能の 3 層で選ぶ技術書
Linux を学ぶ技術書の選び方を 3 層 (コマンドラインの操作 → カーネルのしくみ → 性能と運用) で整理。新しい Linux の教科書や [試して理解] Linux のしくみなどの定番書の使い分けと、学ぶ順番を解説します。