目次
コンピュータ・システム プログラマの視点から
- Randal Bryant(著)/ David O’Hallaron(著)/ 情報処理学会システム・アーキテクチャ研究会 システムソフトウェアとオペレーティング・システム研究会 プログラミング研究会(監修)/ 五島 正裕(監訳)/ 河野 健二(監訳)/ 南出 靖彦(監訳)
- 第1章 コンピュータ・システム・ツアー
- 1.1 情報はビット+コンテクストである
- 1.2 プログラムは別のプログラムによって別の形に翻訳される
- 1.3 言語システムの働き理解することは割に合う
- 1.4 プロセッサはメモリに格納された命令を読んで解釈する
- 1.5 キャッシュが性能を左右する
- 1.6 ストレージ・デバイスは階層を形成する
- 1.7 オペレーティング・システムがハードウェアを管理する
- 1.8 システムはネットワークを使って他のシステムと通信する
- 1.9 重要なテーマ
- 1.10 まとめ
- 書誌ノート
- 練習問題の解答
- 第Ⅰ部 プログラムの構造と実行
- 第2章 情報の表現と操作
- 2.1 情報の格納
- 2.2 整数の表現
- 2.3 整数演算
- 2.4 浮動小数点数
- 2.5 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第3章 プログラムのマシン・レベルの表現
- 3.1 歴史的な視点
- 3.2 プログラムのエンコーディング
- 3.3 データ・フォーマット
- 3.4 情報へのアクセス
- 3.5 算術および論理演算
- 3.6 制御
- 3.7 プロシージャ
- 3.8 配列の配置とそのアクセス
- 3.9 非均質データ構造
- 3.10 マシン・レベル・プログラムにおける制御とデータの組み合わせ
- 3.11 浮動小数点コード
- 3.12 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第4章 プロセッサ・アーキテクチャ
- 4.1 Y86−64命令セット・アーキテクチャ
- 4.2 論理設計とハードウェア制御言語HCL
- 4.3 シーケンシャルなY86−64の実装
- 4.4 パイプライン処理の一般的な原理
- 4.5 パイプライン化されたY86−64の実装
- 4.6 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第5章 プログラム性能の最適化
- 5.1 最適化コンパイラの機能とその限界
- 5.2 プログラム性能の表現
- 5.3 プログラム例
- 5.4 ループ非効率性の除去
- 5.5 関数呼び出しの削減
- 5.6 不要なメモリ参照の削除
- 5.7 最新のプロセッサを理解する
- 5.8 ループ・アンローリング
- 5.9 並列性の強化
- 5.10 コンバイン・コードの最適化に対する結果のまとめ
- 5.11 いくつかの制限事項
- 5.12 メモリ性能を理解する
- 5.13 現実世界での生活:性能向上のテクニック
- 5.14 性能ボトルネックを明確にし削除する
- 5.15 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第6章 メモリ階層
- 6.1 ストレージの技術
- 6.2 局所性
- 6.3 メモリ階層
- 6.4 キャッシュ・メモリ
- 6.5 キャッシュに優しいコードを書く
- 6.6 まとめ:プログラム性能に対するキャッシュの影響
- 6.7 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第Ⅱ部 コンピュータ・システム上でのプログラムの実行
- 第7章 リンク
- 7.1 コンパイラ・ドライバ
- 7.2 静的リンク
- 7.3 オブジェクト・ファイル
- 7.4 再配置可能オブジェクト・ファイル
- 7.5 シンボルおよびシンボル・テーブル
- 7.6 シンボル解決
- 7.7 再配置
- 7.8 実行可能オブジェクト・ファイル
- 7.9 実行可能オブジェクト・ファイルのロード
- 7.10 共有ライブラリの動的リンク
- 7.11 アプリケーションからの共有ライブラリのロードおよびリンク
- 7.12 ポジション非依存コード(PIC)
- 7.13 ライブラリのインターポジショニング
- 7.14 オブジェクト・ファイルを操作するツール
- 7.15 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第8章 例外的な制御フロー
- 8.1 例外
- 8.2 プロセス
- 8.3 システム・コールにおけるエラー・ハンドリング
- 8.4 プロセス制御
- 8.5 シグナル
- 8.6 非局所的ジャンプ
- 8.7 プロセスを扱うためのツール
- 8.8 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第9章 仮想メモリ
- 9.1 物理アドレシングと仮想アドレシング
- 9.2 アドレス空間
- 9.3 キャッシュするツールとしてのVM
- 9.4 メモリ管理ツールとしてのVM
- 9.5 メモリ保腰ツールとしてのVM
- 9.6 アドレス変換
- 9.7 ケース・スタディ:Intel Core i7/Linuxイモリ・システム
- 9.8 メモリ・マッピング
- 9.9 動的なメモリ割り当て
- 9.10 ごみ集め
- 9.11 Cプログラムでよくあるメモリ関連のバグ
- 9.12 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第Ⅲ部 プログラム間のやり取りと通信
- 第10章 システム・レベルI/O
- 10.1 UNIX I/O
- 10.2 ファイル
- 10.3 ファイルのオープン・クローズ
- 10.4 ファイルの読み書き
- 10.5 RIOパッケージを用いたロバストな読み書き
- 10.6 ファイルのメタデータの読み込み
- 10.7 ディレクトリの中身の読み込み
- 10.8 ファイル共有
- 10.9 I/Oのリダイレクト
- 10.10 標準I/O
- 10.11 まとめ:どのI/O関数を用いるべきか?
- 10.12 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第11章 ネットワーク・プログラミング
- 11.1 クライアント・サーバ・プログラミング・モデル
- 11.2 ネットワーク
- 11.3 グローバルIPインターネット
- 11.4 ソケット・インターフェース
- 11.5 ウェブ・サーバ
- 11.6 まとめ:TINYウェブ・サーバ
- 11.7 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 第12章 並行プログラミング
- 12.1 プロセスによる並行プログラミング
- 12.2 I/Oマルチプレクシングによる並行プログラミング
- 12.3 スレッドによる並行プログラミング
- 12.4 スレッド・プログラムにおける共有変数
- 12.5 セマフォによるスレッドの同期
- 12.6 並行処理のためのスレッドの使い方
- 12.7 他の並行性問題
- 12.8 まとめ
- 書誌ノート
- ホームワーク
- 練習問題の解答
- 付録A エラー・ハンドリング
- A.1 UNIXシステムにおけるエラー・ハンドリング
- A.2 エラー・ハンドリング・ラッパー
情報理論・情報科学 ランキング
情報理論・情報科学のランキングをご紹介します情報理論・情報科学 ランキング一覧を見る
前へ戻る
-
1位
-
2位
-
3位
-
4位
-
5位
-
6位
-
7位
-
8位
-
9位
-
10位
次に進む