Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
2
C o n t e n t s
第 章1 カーネルとは何か
Par t1マンガで分かる役割と機能 6
Par t2カーネルの基本ポイント 14
まずはマンガを読みながら、カーネルについてざっくりと理解しましょう。細かい仕組みを勉強するのは、その後からで構いません。
5
第 章2 カーネルの動作を知る
Par t1動作の仕組みを解き明かす 23
Par t2トレーサーで詳しく見る 34
簡単なコマンドを実行するだけでカーネルの動きが分かります。実際にLinuxを触りながら、仕組みと動作を詳しく見ていきましょう。
22
第 章3 注目の新機能や次世代機能を知る
Par t1最新カーネルの技術を見る 46
Par t2こんなに面白い技術がある 58
カーネルは常に進化しています。比較的最近実装された新機能、面白い新機能、注目しておきたい次世代機能を紹介します。
45
第 章4 カーネルの開発とコミュニティー
Par t1開発状況 81
Par t2開発コミュニティー 83
カーネルの開発は、ボランティアとして集まった開発者のコミュニティーにより行われています。最新の開発状況とコミュニティーについて見てみましょう。
80
第 章5 カーネルをコンパイルしてみようカーネルのソースコードは誰でも入手できます。最新カーネルをコンパイルしてインストールできる状態にビルドし、Linuxに導入してみましょう。
86
お茶くみロボットかっこいい音声発信
こういうのが欲しいな!作ってみよう!
こんなロボット設計中でーす☆
僕も開発に協力させてください!
【読者限定サイト】 本書に関連するファイルの入手先URL「http://nlinux.jp/2014/kernel/」をWebブラウザーなどで開き、ユーザー名「kernel」、パスワード「w32saAld」を入力してください。ダウンロードファイルの一覧が表示されます。ダウンロードしてご活用ください。なお収録されている独自のプログラム、映像、データ等の一部または全部を、日経BP社に無断で複製、転載、配信等をすること、2カ所以上からアクセス可能な環境で使用すること、その他日経BP社の権利を侵害する一切の行為を禁じます。
3
C o n t e n t s
表紙写真●知恵の輪「キャストヴォルテックス」(ハナヤマ)「キャストクリケット」(ハナヤマ)「キャストハーモニー」(ハナヤマ)
第 章6 注目のコンテナー技術
Par t1コンテナーとリソース制御 92
Par t2リソースを管理するcgroup 94
Par t3独立した環境を作れるnamespace 96
Par t4アプリケーション配備基盤のDocker 98
CPUやメモリーなどの資源をうまく制御して1つのLinux上で複数のLinuxを動作させるコンテナー技術が話題です。そのコンテナー技術について詳しく紹介します。
91
第 章8 知っておきたいカーネルの技術
dmのシンプロビジョニング対応139
procfsのhidepidオプション141
Copyonwritecredentials143
PerformanceEvent145
KVM/VT-xでのUnrestrictGuestサポート147
BPFJITコンパイラ149
x86-64R/Wセマフォー高速化151
カーネルにはさまざまな技術が使われています。ディスク、プロセス、セキュリティ、イベント、仮想化などに関連する14個の機能を紹介します。
138
pcrypt153
ttyのEXTPROCフラグ対応155
iptablesのCHECKSUMターゲット157
jumplabel159
IPset161
helperアプリの特権制限機構163
mdの不良ブロックリスト対応165
付 録 カーネルハッカーが教えるLinuxメモリー技術
No.1 プログラムとメモリーの関係168
No.2 空きメモリーとメモリー不足170
No.3 メモリー監視172
No.4 ライトバック174
No.5 アウトオブメモリー176
No.6 ページとTLB178
No.7 ダイレクトI/OとCOW180
日本国内にもカーネル開発のコミュニティーに参加している人が数多くいます。このコミュニティーに参加しているカーネルハッカーがLinuxのメモリー技術を詳しく解説します。
167
No.8 メモリーマイグレーション182
No.9 NUMAとメモリー管理184
No.10cpusetとnumad186
No.11 自動NUMAバランス188
No.12キャッシュと複数CPU190
No.13リソースコントローラー192
第 章7 集中講座 カーネルの仕組み
Par t1カーネルの全体像101
Par t2プロセスとメモリー管理108
Par t3ファイルシステムとブロックレイヤー114
カーネルについてしっかり学べるように、6つのパートに分けて仕組みを紹介します。Linux上で動作を確認しながら、ここで完全にカーネルを理解しましょう。
100
Par t4TCP/IPネットワーク120
Par t5デバイス126
Par t6リソース制御132