オペレーティングシステムの仕組み(オペレティングシステムノシクミ)
- 著者:
- 河野 健二(コウノ ケンジ)
- 出版社:
- 朝倉書店
- 出版日:
- 2007年10月24日頃
- ISBN:
- 9784254127058
- シリーズ:
- 情報科学こんせぷつ 5
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
抽象的な概念をしっかりと理解できるよう平易に記述した入門書。〔内容〕 I/O デバイスと割込み/プロセスとスレッド/スケジューリング/相互排除と同期/メモリ管理と仮想記憶/ファイルシステム/ネットワーク/セキュリティ/ Windows
1. オペレーティングシステムの役割
2. I/O デバイスと割込み
2.1 コンピュータハードウェアの構成要素
2.2 I/O デバイスの仕組み
2.3 プロセッサへの動作完了通知
2.4 入出力装置とのデータ転送
2.5 入出力装置への動作依頼
2.6 デバイスドライバ
3. プロセスとスレッド
3.1 プロセスの定義
3.2 プロセスの実行時の様子
3.3 プロセスの生成と終了
3.4 プロセス切替え
3.5 プロセスの実装
3.6 カーネルの保護
3.7 スレッド
3.8 実行可能ファイル
3.9 初期プロセスの起動
3.10 シェルの仕組み
4. スケジューリング
4.1 プロセスの状態
4.2 スケジューリングの必要性
4.3 スケジューリングの評価基準
4.4 スケジューリングのタイミング
4.5 ラウンドロビンスケジューリング
4.6 優先度つきスケジューリング
5. 相互排除と同期
5.1 並行プログラミング
5.2 競合状態
5.3 相互排除の問題
5.4 排他制御のためのハードウェア支援
5.5 ロック
5.6 セマフォア
5.7 条件変数
5.8 モニタ
5.9 食事する哲学者の問題
5.10 Linux におけるロックと条件変数
6. メモリ管理と仮想記憶
6.1 共有資源としてのメモリ
6.2 素朴なメモリ管理
6.3 メモリの抽象化
6.4 マッピング不在
6.5 多段ページテーブル
6.6 ページの保護
6.7 仮想記憶
7. ファイルシステム
7.1 ハードディスクの構造
7.2 ファイルシステムの仕組み
7.3 ファイルシステムの実現
7.4 入出力装置の抽象化
8. ネットワーク
8.1 ネットワークの構成
8.2 ネットワークの階層
9. セキュリティ
9.1 アクセス制御
9.2 セキュリティの基本
9.3 セキュリティの C. I. A.
9.4 セキュリティ上の脅威
9.5 セキュリティモデル
10. ケーススタディ:Windows オペレーティングシステム
10.1 OS パーソナリティ
10.2 基本構造
10.3 プロセスとスレッド
10.4 スケジューリング
10.5 Windows における仮想記憶
10.6 セキュリティ
10.7 ファイルシステム
参考文献
索引
技書の森解説
プロセス管理、メモリ管理、ファイルシステム、入出力制御。 OS の教科書が扱うべきこれらの主題を、日本語で過不足なくまとめた朝倉書店の教科書です。著者の河野健二氏は慶應義塾大学で OS の講義を担当しており、本書はその講義経験を反映した構成になっています。
海外の定番教科書 (Silberschatz らの『 Operating System Concepts 』、通称「恐竜本」) は網羅性が高い一方で分量が膨大であり、日本語の大学講義で 1 学期に消化するには重すぎる場合があります。本書はそうした状況を意識し、 OS の核心的な概念を絞り込んで、学部生が半期の講義で読み通せる分量に収めています。解説は理論寄りで、特定の OS (Linux や Windows) の実装詳細よりも、仮想記憶やスケジューリングの抽象的な仕組みに重点を置いています。
そのため、「 Linux カーネルのソースコードを読みたい」「特定の OS の運用知識を得たい」という目的には別の本が適しています。本書の価値は、 OS という大きな分野の「設計思想と原理」を日本語でコンパクトに俯瞰できる点にあり、情報系の学部生や、 OS の基礎を体系的に復習したい実務者にとっての教科書です。
言及 Qiita 記事 (9 件)
【最新技術に振り回されない】 低レイヤーに強くなるための鉄板コンテンツ集
♡ 1073CPU, コンパイラ, OS, システムプログラミング, 低レイヤ文系未経験出身が考える 要となるコンピュータの知識と知見
♡ 204初心者, 基礎, コンピューターサイエンス, 未経験エンジニア, 基本情報技術者試験(outdated) philosopherとは何だったのか
♡ 14DeadLock, semaphore, mutex, 42tokyo, philosopher【Personal OS #1】Claude Codeで、毎日の仕事を自動化する仕組み
♡ 9自動化, AI, タスク管理, MCP, ClaudeCodeパソコンってどう動いてるの? — 現役AIエンジニアが「OS」の仕組みを本気で解説してみた
♡ 4Mac, Windows, 初心者, CPU⌨️ キーボードを押してから画面に文字が表示されるまでの旅🧳【初心者向け完全解説】
♡ 4shell, 初心者, GPU, Unicode, OSストレージの違いから理解するNBS, NFS, S3
♡ 1AWS, S3, NAS, nfs, ストレージForeman の userdata テンプレートを改修する
♡ 0UbuntuGoogle Quantum AIラボとWillow quantumチップについて
♡ 0Google, Quantum
この本に興味がある方におすすめ
この本に関連
関連記事
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
OS・低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
インフラ・クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
関連用語
プロセスとスレッドの違いとは - メモリ空間・生成コスト・通信方法を比較
プロセスとスレッドの違いをメモリ空間・生成コスト・通信方法の 3 軸で比較。マルチスレッドの注意点と Go/Rust の並行処理モデルとの関係も図解で解説
システムコール
ユーザー空間のプログラムが OS カーネルの機能を呼び出すインターフェース
プロセスタイプ
Twelve-Factor App のプロセスモデルで、アプリケーションの実行形態を分類する概念
水平スケーリング
サーバーの台数を増やして処理能力を向上させるスケーリング手法
Namespace と cgroup
Linux コンテナの基盤技術で、プロセスの隔離とリソース制限を実現するカーネル機能
低レイヤ
OS・メモリ・CPU などハードウェアに近い領域。コンピュータの動作原理を支える