2
2 C o n t e 1 カーネルとは 何か P art 1 マンガで分かる役割と機能 6 P art 2 カーネルの基本ポイント 14 まずはマンガを読みながら、カーネルについてざっくりと理解しましょう。 細かい仕組みを勉強するのは、その後からで構いません。 5 2 カーネルの 動作を知る P art 1 動作の仕組みを解き明かす 23 P art 2 トレーサーで詳しく見る 34 簡単なコマンドを実行するだけでカーネルの動きが分かります。 実際にLinuxを触りながら、仕組みと動作を詳しく見ていきましょう。 22 3 注目の 新機能 次世代機能 を知る P art 1 最新カーネルの技術を見る 46 P art 2 こんなに面白い技術がある 58 カーネルは常に進化しています。比較的最近実装された新機能、 面白い新機能、注目しておきたい次世代機能を紹介します。 45 4 カーネルの 開発 コミュニティー P art 1 開発状況 81 P art 2 開発コミュニティー 83 カーネルの開発は、ボランティアとして集まった開発者のコミュニティーにより行われています。 最新の開発状況とコミュニティーについて見てみましょう。 80 5 カーネルを コンパイル してみよう カーネルのソースコードは誰でも入手できます。 最新カーネルをコンパイルしてインストールできる状態にビルドし、Linuxに導入してみましょう。 86 くみロボット かっこいい 音声発信 こういうのが しいなってみようこんなロボット 設計中でーす開発協力させて ください【読者限定サイト】 本書に関連するファイルの入手先 URL「http://nlinux.jp/2014/kernel/」をWebブラウザーなどで開き、ユーザー名「kernel」、パスワード「w32saAld」 を入力してください。ダウンロードファイルの一覧が表示されます。ダウンロードしてご活用ください。なお収録されてい る独自のプログラム、映像、データ等の一部または全部を、日経BP社に無断で複製、転載、配信等をすること、2カ所以上 からアクセス可能な環境で使用すること、その他日経BP社の権利を侵害する一切の行為を禁じます。

カーネルの開発とコミュニティー - Nikkei BPec.nikkeibp.co.jp/item/contents/mokuji/m_234380.pdfPart1 動作の仕組みを解き明かす 23 Part2 トレーサーで詳しく見る

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: カーネルの開発とコミュニティー - Nikkei BPec.nikkeibp.co.jp/item/contents/mokuji/m_234380.pdfPart1 動作の仕組みを解き明かす 23 Part2 トレーサーで詳しく見る

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社の権利を侵害する一切の行為を禁じます。

Page 2: カーネルの開発とコミュニティー - Nikkei BPec.nikkeibp.co.jp/item/contents/mokuji/m_234380.pdfPart1 動作の仕組みを解き明かす 23 Part2 トレーサーで詳しく見る

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