書泉と、10冊

試して理解Linuxのしくみ 増補改訂版

タイトル
試して理解Linuxのしくみ 増補改訂版
ISBN/JAN
9784297131487
著者
武内覚 著
出版社
技術評論社
発売日
2022/10/06
商品説明
ITシステムやソフトウェアの基盤OSとして幅広く使われているLinux。エンジニアとしてLinuxに関する知識はいまや必須とも言えますが、あなたはそのしくみや動作を具体的にイメージすることができるでしょうか。本書では、Linux OS における、プロセス管理、プロセススケジューラ、メモリ管理、記憶階層、ファイルシステム、記憶階層、そして仮想化機能、コンテナなど、OS とハードウェアに関するしくみがどのように動くのか、実験とその結果を示す豊富なグラフや図解を用いてわかりやすく解説します。改訂に際しては全面フルカラー化。グラフや図解がさらにわかりやすくなり、ソースコードはC言語から、Go言語とPythonにアップデートしています。さらに仮想化、コンテナなどの章が加わりました。今どきのLinuxのしくみを本書でしっかり理解しておきましょう。●序章 はじめに●第1章 Linuxの概要プログラムとプロセスカーネルシステムコール- システムコール発行の可視化- システムコールを処理している時間の割合- Column 監視、アラート、およびダッシュボード- システムコールの所要時間ライブラリ- 標準Cライブラリ- システムコールのラッパー関数- 静的ライブラリと共有ライブラリ- Column 静的リンクの復権●第2章 プロセス管理(基礎編)プロセスの生成- 同じプロセスを2つに分裂させるfork()関数- 別のプログラムを起動するexecve()関数- ASLRによるセキュリティ強化プロセスの親子関係- Column fork()関数とexecve()関数以外のプロセス生成方法プロセスの状態プロセスの終了ゾンビプロセスと孤児プロセスシグナル- Column 絶対殺すSIGKILLシグナルと絶対死なないプロセスシェルのジョブ管理の実現- セッション- プロセスグループデーモン●第3章 プロセススケジューラ前提知識:経過時間と使用時間1つの論理CPUだけを使う場合複数の論理CPUを使う場合realよりもuser+sysが大きくなるケースタイムスライス- Column タイムスライスの仕組みコンテキストスイッチ性能についてプログラムの並列実行の重要性●第4章 メモリ管理システムメモリ関連情報の取得- used- buff/cache- sarコマンドによるメモリ関連情報の取得メモリの回収処理- プロセスの削除によるメモリの強制回収仮想記憶- 仮想記憶がない時の課題- 仮想記憶の機能- 仮想記憶による課題の解決プロセスへの新規メモリの割り当て- メモリ領域の割り当て:mmap()システムコール- Column Meltdown脆弱性の恐怖- メモリの割り当て:デマンドページング- Column プログラミング言語処理系のメモリ管理ページテーブルの階層化- ヒュージページ- トランスペアレントヒュージページ●第5章 プロセス管理(応用編)プロセス作成処理の高速化- fork()関数の高速化:コピーオンライト- execve()関数の高速化:デマンドページング再びプロセス間通信- 共有メモリ- シグナル- パイプ- ソケット排他制御排他制御の堂々巡りマルチプロセスとマルチスレッド- Column カーネルスレッドとユーザスレッド●第6章 デバイスアクセスデバイスファイル- キャラクタデバイス- ブロックデバイス- Column ループデバイスデバイスドライバ- メモリマップトI/O(MMIO)- ポーリング- 割り込み- Column あえてポーリングを使う場合デバイスファイル名は変わりうる●第7章 ファイルシステムファイルへのアクセス方法メモリマップトファイル一般的なファイルシステム容量制限(クォータ)ファイルシステムの整合性保持- ジャーナリングによる不整合の防止- コピーオンライトによる不整合の防止- 一にも二にもバックアップBtrfsが提供するファイルシステムの高度な機能- スナップショット- マルチボリューム- Column 結局どのファイルシステムを使えばいいのかデータ破壊の検知/修復その他のファイルシステム- メモリベースのファイルシステム- ネットワークファイルシステム- procfs- sysfs●第8章 記憶階層キャッシュメモリ- 参照の局所性- 階層型キャッシュメモリ- キャッシュメモリへのアクセス速度の計測Simultaneous Multi Threading(SMT)- Column Translation Lookaside Bufferページキャッシュ- ページキャッシュの効果バッファキャッシュ書き込みのタイミングdirect I/Oスワップ統計情報●第9章 ブロック層HDDの特徴ブロック層の基本機能ブロックデバイスの性能指標と測定方法- 1プロセスだけがI/O発行する場合- 複数プロセスが並列にI/O発行する場合- Column 推測するな、測定せよ- 性能測定ツール:fioブロック層がHDDの性能に与える影響- パターンAの測定結果- パターンBの測定結果- Column 何のための性能測定- 技術革新に伴うブロック層の変化ブロック層がNVMe SSDの性能に与える影響- パターンAの測定結果- パターンBの測定結果- Column 現実世界の性能測定●第10章 仮想化機能仮想化機能とは何か仮想化ソフトウェア本章で使う仮想化ソフトウェア- Column Nested Virtualization仮想化を支援するCPUの機能- QEMU+KVMの場合- Column CPUによる仮想化機能が存在しない場合の仮想化仮想マシンは、ホストOSからどう見えているか?- ホストOSから見たゲストOS- 複数マシンを立ち上げた場合- Column IaaSにおけるオートスケールの仕組み仮想化環境のプロセススケジューリング- 物理マシン上でプロセスが動いている場合- 統計情報仮想マシンとメモリ管理- 仮想マシンが使うメモリ仮想マシンとストレージデバイス- 仮想マシンにおけるストレージI/O- ストレージデバイスへの書き込みとページキャッシュ- 準仮想化デバイスとvirtio-blk- Column ホストOSとゲストOSでストレージI/O性能が逆転?virtio-blkの仕組み- Column PCIパススルー●第11章 コンテナ仮想マシンとの違いコンテナの種類namespace- pid namespace- コンテナの正体セキュリティリスク●第12章 cgroupcgroupが制御できるリソース使用例:CPU使用時間の制御- Column cgroup機能のLinuxカーネルへの取り込み経緯応用例- Column cgroup v2●終章 本書で学んだことと今後への生かし方
型番 9784297131487-011
販売価格 3,520円(税320円)
購入数

  

ピックアップ

Calendar

2024年5月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
2024年6月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Top