書籍概要

[試して理解]Linuxのしくみ
~実験と図解で学ぶOSとハードウェアの基礎知識

著者
発売日
更新日

概要

ITシステムやソフトウェアの開発,運用において,その基盤となるOSやハードウェアのしくみや動作を,具体的にイメージすることができるでしょうか。本書では,サーバ,クラウドからスマートフォン,IoT機器まで幅広く利用されているLinux OSを対象に,プロセススケジューラ,メモリ管理,記憶階層,ファイルシステム,ストレージデバイスなど,OSとハードウェアに関するしくみがどのように動くのか,実験とその結果を示すグラフを用いてわかりやすく解説します。

こんな方におすすめ

  • Linuxの動作や仕組みに興味がある方
  • OSやハードウェアのしくみを手軽に学びたいと考えている方

本書のサンプル

本書の一部ページを,PDFで確認することができます。

目次

  • 本書に寄せて(小崎資広)
  • はじめに

第1章 コンピュータシステムの概要

第2章 ユーザモードで実現する機能

  • システムコール
  • システムコールのラッパー関数
  • 標準Cライブラリ
  • OSが提供するプログラム

第3章 プロセス管理

  • 2段階のプロセス生成
  • fork()関数
  • execve()関数
  • 終了処理

第4章 プロセススケジューラ

  • 実験プログラムの仕様
  • 実験プログラムの実装
  • 実験
  • 考察
  • コンテキストスイッチ
  • プロセスの状態
  • 状態遷移
  • アイドル状態
  • さまざまな状態遷移
  • スループットとレイテンシ
  • 実際のシステム
  • 論理CPUが複数の場合のスケジューリング
  • 実験方法
  • 実験結果
  • スループットとレイテンシ
  • 考察
  • 経過時間と使用時間
  • スリープするプロセス
  • 現実のプロセス
  • 優先度の変更

第5章 メモリ管理

  • メモリに関する統計情報
  • Out Of Memory
  • 単純なメモリ割り当て
  • 仮想記憶
  • ページテーブル
  • 実験
  • プロセスへのメモリ割り当て
  • 実験
  • 上位レイヤによるメモリ割り当て
  • 問題の解決
  • 仮想記憶の応用
  • ファイルマップ
  • デマンドページング
  • コピーオンライト
  • スワップ
  • 階層型ページテーブル
  • ヒュージページ

第6章 記憶階層

  • キャッシュメモリ
  • キャッシュメモリがいっぱいになったら
  • 階層型キャッシュメモリ
  • キャッシュの実験
  • 参照の局所性
  • まとめ
  • Translation Lookaside Buffer
  • ページキャッシュ
  • 同期書き込み
  • バッファキャッシュ
  • ファイル読み出しの実験
  • ファイル書き込みの実験
  • チューニングパラメータ
  • まとめ
  • ハイパースレッド

第7章 ファイルシステム

  • Linuxのファイルシステム
  • データとメタデータ
  • 容量制限
  • ファイルシステムの不整合
  • ジャーナリング
  • コピーオンライト
  • それでも防げない場合
  • ファイルシステム不整合への対策
  • ファイルの種類
  • キャラクタデバイス
  • ブロックデバイス
  • さまざまなファイルシステム
  • メモリベースのファイルシステム
  • ネットワークファイルシステム
  • 仮想ファイルシステム
  • Btrfs

第8章 ストレージデバイス

  • HDDのデータ読み書きのしくみ
  • HDDの性能特性
  • HDDの実験
  • 実験プログラム
  • シーケンシャルアクセス
  • ランダムアクセス
  • ブロックデバイス層
  • I/Oスケジューラ
  • 先読み
  • 実験
  • SSDのしくみ
  • まとめ
  • あとがき

サポート

正誤表

本書の正誤情報は以下のページで公開しています。

商品一覧