(試して理解)Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】(技術評論社) [電子書籍]
    • (試して理解)Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】(技術評論社) [...

    • ¥3,520704ポイント(20%還元)
    • すぐ読めます
100000086601765196

(試して理解)Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】(技術評論社) [電子書籍]

  • 5.0
価格:¥3,520(税込)
ポイント:704ポイント(20%還元)(¥704相当)
フォーマット:
専用電子書籍リーダアプリ「Doly」が必要です。無料ダウンロード
出版社:技術評論社
公開日: 2022年10月14日
すぐ読めます。
お取り扱い: のお取り扱い商品です。
ご確認事項:電子書籍リーダーアプリ「Doly」専用コンテンツ
こちらの商品は電子書籍版です

(試して理解)Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】(技術評論社) の 商品概要

  • 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章 cgroup
    cgroupが制御できるリソース
    使用例:CPU使用時間の制御
    Column cgroup機能のLinuxカーネルへの取り込み経緯
    応用例
    Column cgroup v2

    終章 本書で学んだことと今後への生かし方

(試して理解)Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】(技術評論社) の商品スペック

Cコード 3055
出版社名 技術評論社
本文検索
紙の本のISBN-13 9784297131487
他の技術評論社の電子書籍を探す
ファイルサイズ 29.8MB
著者名 武内覚
著述名

    技術評論社 (試して理解)Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】(技術評論社) [電子書籍] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!