オペレーティングシステムの概念

書籍情報
ISBN978-4-320-12253-6
判型B5 
ページ数976ページ
発行年月2010年11月
本体価格15,000円
オペレーティングシステムの概念 書影
オペレーティングシステムの概念

オペレーティングシステムは,あらゆるコンピュータシステムの本質部分である。同様に,オペレーティングシステムの教育は,あらゆる計算機科学または情報科学教育の本質部分である。子供向けのゲームから,政府や多国籍企業のための極めて高度な事業企画ツールに至るまで,いまやコンピュータは,実際のところすべての領域であまねく利用されるものとなった。このため,オペレーティングシステムの分野は,常に急速な技術変化の中にある。しかし,一方で,オペレーティングシステムの基本的な諸概念は,変化することのない明確なものであり続けている。このような普遍の基本概念が,本書の基盤をなしている。
 本書は,大学の学部3~4年レベル,あるいは大学院修士課程1年レベルにおける,オペレーティングシステム入門コースの教科書として作成した。また,現場の専門家に役に立つことも想定している。本書では,オペレーティングシステムの根底にある諸「概念」を明確に記述している。基本的なデータ構造,コンピュータ構成,およびC言語などの高水準言語に読者が親しんでいることが,本書の前提である。オペレーティングシステムを理解する上で必要なハードウェアの話題は,第1章に含まれている。コード例には,大部分はC言語,一部でJava言語を用いた。ただし,これらの言語の詳細を知らなくても読者がアルゴリズムを理解できるようにしてある。本書では,各種の概念を直感的に記述している。重要な理論的結果を包含しているが,形式的証明は省略した。参考文献として,当該結果を最初に発表し証明した研究論文を示し,さらに,読むべき資料を示すようにした。証明の代わりに,問題となっている結果が正しいであろうことを示す図表や例を提示している。

[原著:OPERATING SYSTEM CONCEPTS 7th Edition]
(原著まえがきより抜粋)



目次

第I部 概要
第1章 はじめに
1.1 オペレーティングシステムがすること
1.2 コンピュータシステムの構成
1.3 コンピュータシステムアーキテクチャ
1.4 オペレーティングシステムの構造
1.5 オペレーティングシステムの操作
1.6 プロセス管理
1.7 メモリ管理
1.8 記憶管理
1.9 保護とセキュリティ
1.10 分散システム
1.11 専用システム
1.12 計算環境
1.13 まとめ
練習問題
参考文献

第2章 オペレーティングシステムの構造
2.1 オペレーティングシステムのサービス
2.2 オペレーティングシステムのユーザインタフェース
2.3 システム呼出し
2.4 システム呼出しの種類
2.5 システムプログラム
2.6 オペレーティングシステムの設計と実装
2.7 オペレーティングシステムの構造
2.8 仮想機械
2.9 オペレーティングシステムの生成
2.10 システムのブート
2.11 まとめ
練習問題
参考文献

第II部 プロセス管理
第3章 プロセス
3.1 プロセスの概念
3.2 プロセススケジューリング
3.3 プロセスへの操作
3.4 プロセス間通信
3.5 IPC システムの実例
3.6 クライアント-サーバシステムにおける通信
3.7 まとめ
練習問題
参考文献

第4章 スレッド
4.1 概説
4.2 マルチスレッドモデル
4.3 スレッドライブラリ
4.4 スレッドの問題点
4.5 オペレーティングシステムの事例
4.6 まとめ
練習問題
参考文献

第5章 CPUスケジューリング
5.1 基本概念
5.2 スケジューリング基準
5.3 スケジューリングアルゴリズム
5.4 マルチプロセサスケジューリング
5.5 スレッドスケジューリング
5.6 オペレーティングシステムの事例
5.7 アルゴリズムの評価
5.8 まとめ
練習問題
参考文献

第6章 プロセスの同期
6.1 背景
6.2 際どい部分問題
6.3 Peterson の解法
6.4 同期のためのハードウェア
6.5 セマフォア
6.6 古典的な同期問題
6.7 モニタ
6.8 同期の事例
6.9 アトミックトランザクション
6.10 まとめ
練習問題
参考文献

第7章 デッドロック
7.1 システムモデル
7.2 デッドロックの特徴
7.3 デッドロックの扱い方
7.4 デッドロックの防止
7.5 デッドロック回避
7.6 デッドロック検出
7.7 デッドロックからの復旧
7.8 まとめ
練習問題
参考文献

第III部 メモリ管理
第8章 メインメモリ
8.1 背景
8.2 スワッピング
8.3 連続メモリ割当て
8.4 ページング
8.5 ページテーブルの構造
8.6 セグメンテーション
8.7 事例:Pentium
8.8 まとめ
練習問題
参考文献

第9章 仮想記憶
9.1 背景
9.2 デマンドページング
9.3 コピーオンライト
9.4 ページ置換え
9.5 フレームの割当て
9.6 スラッシング
9.7 メモリマップ化ファイル
9.8 カーネルメモリの割当て
9.9 その他の考察
9.10 オペレーティングシステムの例
9.11 まとめ
練習問題
参考文献

第IV部 記憶管理
第10章 ファイルシステムインタフェース
10.1 ファイルの概念
10.2 アクセス法
10.3 ディレクトリ構造
10.4 ファイルシステムのマウント
10.5 ファイル共有
10.6 保護
10.7 まとめ
練習問題
参考文献

第11章 ファイルシステムの実装
11.1 ファイルシステムの構造
11.2 ファイルシステムの実装
11.3 ディレクトリの実装
11.4 割当て法
11.5 空き領域の管理
11.6 効率と性能
11.7 復旧
11.8 ログ構造ファイルシステム
11.9 NFS
11.10 実例:WAFL ファイルシステム
11.11 まとめ
練習問題
参考文献

第12章 大規模記憶の構造
12.1 大規模記憶の概要
12.2 ディスクの構造
12.3 ディスクの接続
12.4 ディスクスケジューリング
12.5 ディスク管理
12.6 スワップ空間管理
12.7 RAID 構造
12.8 安定記憶の実装
12.9 三次記憶構造
12.10 まとめ
練習問題
参考文献

第13章 入出力システム
13.1 概要
13.2 入出力ハードウェア
13.3 アプリケーション入出力インタフェース
13.4 カーネル入出力サブシステム
13.5 入出力要求のハードウェア操作への変換
13.6 STREAMS
13.7 性能
13.8 まとめ
練習問題
参考文献

第V部 保護とセキュリティ
第14章 保護
14.1 保護の目標
14.2 保護の原理
14.3 保護のドメイン
14.4 アクセス行列
14.5 アクセス行列の実装
14.6 アクセス制御
14.7 アクセス権の取消し
14.8 ケーパビリティに基づくシステム
14.9 言語に基づく保護
14.10 まとめ
練習問題
参考文献

第15章 セキュリティ
15.1 セキュリティ問題
15.2 プログラム脅威
15.3 システムおよびネットワーク脅威
15.4 セキュリティツールとしての暗号
15.5 ユーザ認証
15.6 セキュリティ防御の実装
15.7 システムおよびネットワークを保護するためのファイアウォール
15.8 コンピュータセキュリティの分類
15.9 事例:Windows XP
15.10 まとめ
練習問題
参考文献

第VI部 分散システム
第16章 分散システムの構造
16.1 動機
16.2 分散オペレーティングシステムの型
16.3 ネットワーク構造
16.4 ネットワークトポロジ
16.5 通信構造
16.6 通信プロトコル
16.7 頑健性
16.8 設計上の問題
16.9 事例:ネットワーク
16.10 まとめ
練習問題
参考文献

第17章 分散ファイルシステム
17.1 背景
17.2 命名と透明性
17.3 遠隔ファイルアクセス
17.4 状態ありサービス対状態なしサービス
17.5 ファイルの複製
17.6 事例:AFS
17.7 まとめ
練習問題
参考文献

第18章 分散コーディネーション
18.1 事象の順序付け
18.2 相互排除
18.3 アトミック性
18.4 並行制御
18.5 デッドロック処理
18.6 選出アルゴリズム
18.7 合意の達成
18.8 まとめ
練習問題
参考文献

第VII部 専用システム
第19章 リアルタイムシステム
19.1 概要
19.2 システムの特性
19.3 リアルタイムカーネルの機能
19.4 リアルタイムオペレーティングシステムの実装
19.5 リアルタイムCPU スケジューリング
19.6 VxWorks 5.x
19.7 まとめ
練習問題
参考文献

第20章 マルチメディアシステム
20.1 マルチメディアとは何か
20.2 圧縮
20.3 マルチメディアカーネルへの要求事項
20.4 CPU スケジューリング
20.5 ディスクスケジューリング
20.6 ネットワーク管理
20.7 事例:CineBlitz
20.8 まとめ
練習問題
参考文献

第VIII部 事例研究
第21章 Linux システム
21.1 Linux の歴史
21.2 設計原理
21.3 カーネルモジュール
21.4 プロセス管理
21.5 スケジューリング9
21.6 メモリ管理
21.7 ファイルシステム
21.8 入力と出力
21.9 プロセス間通信
21.10 ネットワーク構造
21.11 セキュリティ
21.12 まとめ
練習問題
参考文献

第22章 Windows XP
22.1 歴史
22.2 設計原理
22.3 システム構成要素
22.4 環境サブシステム
22.5 ファイルシステム
22.6 ネットワーキング
22.7 プログラマインタフェース
22.8 まとめ
練習問題
参考文献

第23章 オペレーティングシステムの発展に寄与したオペレーティングシステム
23.1 初期のシステム
23.2 Atlas
23.3 XDS-940
23.4 THE
23.5 RC 4000
23.6 CTSS
23.7 MULTICS
23.8 IBM OS/360
23.9 Mach
23.10 その他のシステム
練習問題

訳者あとがき

参考文献

引用した図など

索引