TOP新刊既刊I/OサポートQ&AI/O WEB版通販お問い合わせ
 既刊 > 2006年 > 1月 書名検索: 詳細検索...
基礎からわかるカーネル・プログラミング!
Linuxカーネル解析入門
平田 豊 著
2006年 1月21日発売   B5変型判  304ページ 定価 \2,700(本体 \2,500)
   ISBN978-4-7775-1189-1 C3004 \2500E
 「カーネル」とは、「ユーザー・プロセス」からの「システム・コール」やハードウェアからの「割り込み」などを処理する、OSのコアの部分のことを指します。また、「Linux」と言えば「オープン・ソース」による手法で開発されたOSであり、ここ数年は商用利用もされてきているという、過去類い希なオペレーティング・システムであると言えます。ただ、Linuxはソース・コードはすべて公開されてはいますが、ドキュメントはほとんどありません。そのため、Linuxを製品として適用する場合には、まず「Linuxカーネル」の仕組みを理解しなければなりません。
 「Linuxカーネル」は「C言語」と「アセンブラ」によって記述されているのですが、単純に言語文法を知っているだけでは、ソース・コードを読み解くことはできません。しかし、カーネル・プログラミングには基礎となる考え方があり、それらをしっかり押さえておけば、少しずつではありますが、カーネルを読み進めていくことができるようになります。そこで本書では、まず必要な基礎知識を学んだうえで、Linux系では有力な「Fedora Core」OSのネットワーク・ドライバの解析に挑戦します。
■ 主な内容 ■
 CONTENTS

 まえがき

 第0章 カーネルを深く理解する

 第1章 カーネルの世界へようこそ
1- 1 「Linuxカーネル」とは1- 2 「Linuxカーネル」の入手先
1- 3 ソース・コードを取り出す1- 4 ソース・コードの参照方法
1- 5 「RPM」からのカーネル・ソースのインストール1- 6 カーネル・ファイル
1- 7 カーネル構築のための準備1- 8 カーネル・コンフィグレーション
1- 9 「カーネル本体」と「カーネル・モジュール」のビルド1-10 「カーネル・モジュール」と「カーネル本体」のインストール
1-11 Linuxマシンへの接続方法

 第2章 gccプログラミング
2- 1 「gcc」に関する情報源2- 2 「gcc」拡張機能
2- 3 構造体のメンバ初期化2- 4 64ビット関数
2- 5 マクロでの丸括弧2- 6 可変引数を取れるマクロ
2- 7 三項演算子2- 8 インライン関数
2- 9 コメント2-10 列挙型
2-11 アセンブラ2-12 アセンブラの基本文法
2-13 インライン・アセンブラの読み方2-14 純粋なアセンブラ・コードの読み方

 第3章 同期と排他
3- 1 コンテキストを理解する3- 2 マルチ・スレッド・アプリケーション
3- 3 「ユーザー・コンテキスト」でクリティカル・セクションを保護する
3- 4 「割り込みコンテキスト」でクリティカル・セクションを保護する(シングル・プロセッサ編)
3- 5 「割り込みコンテキスト」でクリティカル・セクションを保護する(マルチ・プロセッサ編)

 第4章 割り込み
4- 1 「割り込み」とは4- 2 「割り込み」の長所と短所
4- 3 「割り込み処理」の詳細4- 4 「レガシー割り込みコントローラ」の実装
4- 5 「アドバンスド割り込みコントローラ」の実装4- 6 プロセッサの割り込み処理

 第5章 PCI
5- 1 「PCI」とは5- 2 「PCI」の基礎知識
5- 3 「PCIデバイス」の見方5- 4 プラグ&プレイの秘密
5- 5 Linux上での「PCIコンフィグレーション空間」の参照方法5- 6 「IA-32」における「PCIコンフィグレーション空間」の位置付け
5- 7 PCI BIOS5- 8 ハンドラの選択
5- 9 実際に使われるハンドラの選別5-10 まとめ

 第6章 ネットワーク・ドライバを読む
6- 1 「Ethernet」を知る6- 2 「Ethernet」のチップを調べる
6- 3 「Ethernetチップ」の仕様書を入手する6- 4 ネットワーク系コマンド
6- 5 ドライバの「ビルド」と「組み込み」「取り外し」6- 6 初期化用エントリ・ポイント
6- 7 ドライバのケーネルへの組み込み6- 8 ネットワーク・ドライバにおける初期化処理
6- 9 レジスタ・アクセス6-10 カード・リセット
6-11 「MACアドレス」の設定6-12 ハンドラの登録
6-13 「net_device」構造体の完成6-14 カーネル・バッファへの出力
6-15 ドライバのアンロード処理6-16 インターフェイスのUP
6-17 カーネル・スレッド6-18 インターフェイスのdown
6-19 パケットの送信6-20 送信完了割り込み
6-21 送信完了タイム・アウト6-22 パケットの受信
6-23 まとめ


 索引

※ 内容が一部異なる場合があります。発売日は、東京の発売日であり、地域によっては1〜2日程度遅れることがあります。あらかじめご了承ください。

本書内容に関するご質問は、こちら
通信販売
在庫なし
サポート情報
改訂版が発売されています
ご意見・ご質問

内容見本