* [internal22-index Linux V2.2 カーネル内部解析報告 第3版]
* [internal22-1-もくじ もくじ]
* [internal22-2-実行管理 実行管理]
* [internal22-3-プロセス管理 プロセス管理]
* [internal22-4-プロセスのモデル プロセスのモデル]
* [internal22-5-プロセスを構成する資源 プロセスを構成する資源]
* [internal22-6-プロセスの状態遷移 プロセスの状態遷移]
* [internal22-7-プロセスの一生 プロセスの一生]
* [internal22-8-fork fork]
* [internal22-9-exec exec]
* [internal22-10-exit exit]
* [internal22-11-プロセススケジューリング プロセススケジューリング]
* [internal22-12-補足説明 補足説明]
* [internal22-13-プリエンプション処理 プリエンプション処理]
* [internal22-14-セマフォ セマフォ]
* [internal22-15-その他のスケジューリング関連関数の説明 その他のスケジューリング関連関数の説明]
* [internal22-16-補足 補足]
* [internal22-17-プロセスの親子関係 プロセスの親子関係]
* [internal22-18-プロセスID プロセスID]
* [internal22-19-関数説明 関数説明]
* [internal22-20-シグナル シグナル]
* [internal22-21-関数説明 関数説明]
* [internal22-22-シグナルの無視とマスク シグナルの無視とマスク]
* [internal22-23-SIGCHLDシグナル SIGCHLDシグナル]
* [internal22-24-サスペンドシグナル サスペンドシグナル]
* [internal22-25-シグナル関連のデータ構造と、その他の関数 シグナル関連のデータ構造と、その他の関数]
* [internal22-26-スレッド スレッド]
* [internal22-27-遅延処理 遅延処理]
* [internal22-28-BHハンドラ BHハンドラ]
* [internal22-29-関数説明 関数説明]
* [internal22-30-タスクキュー タスクキュー]
* [internal22-31-関数説明 関数説明]
* [internal22-32-時計 時計]
* [internal22-33-クロックハンドラ クロックハンドラ]
* [internal22-34-タイマーリスト タイマーリスト]
* [internal22-35-関数説明 関数説明]
* [internal22-36-その他のタイマ関連機能 その他のタイマ関連機能]
* [internal22-37-カーネル内時限待ち カーネル内時限待ち]
* [internal22-38-setitimerシステムコール setitimerシステムコール]
* [internal22-39-割り込み制御 割り込み制御]
* [internal22-40-割り込みハンドラ 割り込みハンドラ]
* [internal22-41-割り込みハンドラの登録 割り込みハンドラの登録]
* [internal22-42-割り込みハンドラの起動 割り込みハンドラの起動]
* [internal22-43-問題点 問題点]
* [internal22-44-割り込み禁止 割り込み禁止]
* [internal22-45-CPUレベルでの割り込み制御 CPUレベルでの割り込み制御]
* [internal22-46-補足 補足]
* [internal22-47-割り込みコントローラレベルでの割り込み制御 割り込みコントローラレベルでの割り込み制御]
* [internal22-48-カーネルサービスのエントリ カーネルサービスのエントリ]
* [internal22-49-システムコールエントリ システムコールエントリ]
* [internal22-50-割り込みエントリ 割り込みエントリ]
* [internal22-51-ページフォルト ページフォルト]
* [internal22-52-一般例外 一般例外]
* [internal22-53-ファイルシステム ファイルシステム]
* [internal22-54-構造 構造]
* [internal22-55-バッファキャッシュ バッファキャッシュ]
* [internal22-56-バッファの状態 バッファの状態]
* [internal22-57-バッファキャッシュの構造 バッファキャッシュの構造]
* [internal22-58-バッファの確保 バッファの確保]
* [internal22-59-バッファの解放 バッファの解放]
* [internal22-60-ディスクブロックのバッファへの読み込み ディスクブロックのバッファへの読み込み]
* [internal22-61-ディスクブロックのバッファへの書き込み ディスクブロックのバッファへの書き込み]
* [internal22-62-ドライバに対するI/O要求 ドライバに対するI/O要求]
* [internal22-63-バッファに対するI/Oの待ち合わせ バッファに対するI/Oの待ち合わせ]
* [internal22-64-バッファに対するI/O完了の通知 バッファに対するI/O完了の通知]
* [internal22-65-バッファ領域の拡張と解放 バッファ領域の拡張と解放]
* [internal22-66-バッファとディスクブロックの同期 バッファとディスクブロックの同期]
* [internal22-67-トリッキーなバッファ管理 トリッキーなバッファ管理]
* [internal22-68-その他の主なバッファ操作関数群 その他の主なバッファ操作関数群]
* [internal22-69-バッファの状態遷移 バッファの状態遷移]
* [internal22-70-バッファ状態の監視 バッファ状態の監視]
* [internal22-71-ページキャッシュ ページキャッシュ]
* [internal22-72-iノードとページ iノードとページ]
* [internal22-73-ページキャッシュハッシュ ページキャッシュハッシュ]
* [internal22-74-ページに対するI/O要求の発行 ページに対するI/O要求の発行]
* [internal22-75-ページに対するI/O完了の通知 ページに対するI/O完了の通知]
* [internal22-76-ページキャッシュの確保と解放 ページキャッシュの確保と解放]
* [internal22-77-その他の主なページキャッシュ操作関数群 その他の主なページキャッシュ操作関数群]
* [internal22-78-メモリiノード メモリiノード]
* [internal22-79-iノードキャッシュ iノードキャッシュ]
* [internal22-80-メモリiノードの確保 メモリiノードの確保]
* [internal22-81-メモリiノードの解放 メモリiノードの解放]
* [internal22-82-メモリiノード領域の解放 メモリiノード領域の解放]
* [internal22-83-iノード域の更新 iノード域の更新]
* [internal22-84-その他の主なiノード操作関数 その他の主なiノード操作関数]
* [internal22-85-iノードの状態遷移 iノードの状態遷移]
* [internal22-86-iノード状態の監視 iノード状態の監視]
* [internal22-87-ディレクトリエントリキャッシュ ディレクトリエントリキャッシュ]
* [internal22-88-ディレクトリエントリキャッシュの検索と登録 ディレクトリエントリキャッシュの検索と登録]
* [internal22-89-dentryの参照要求と参照の終了 dentryの参照要求と参照の終了]
* [internal22-90-dentryのメモリ領域の拡張と解放 dentryのメモリ領域の拡張と解放]
* [internal22-91-dentryのメモリ領域の強制解放 dentryのメモリ領域の強制解放]
* [internal22-92-その他の主なdentry操作関数 その他の主なdentry操作関数]
* [internal22-94-キャッシュの相互関係 キャッシュの相互関係]
* [internal22-95-プロセスとfileの関係 プロセスとfileの関係]
* [internal22-96-ファイル構造体の確保と解放 ファイル構造体の確保と解放]
* [internal22-98-その他、主なファイル構造体操作関数群 その他、主なファイル構造体操作関数群]
* [internal22-99-ファイル構造体の監視 ファイル構造体の監視]
* [internal22-100-ext2ファイルシステム構造と操作プリミティブ ext2ファイルシステム構造と操作プリミティブ]
* [internal22-101-ファイルシステムのレイアウト ファイルシステムのレイアウト]
* [internal22-102-ファイル構造 ファイル構造]
* [internal22-103-ディレクトリ構造 ディレクトリ構造]
* [internal22-104-スーパブロックとブロックグループ操作 スーパブロックとブロックグループ操作]
* [internal22-105-主な処理関数 主な処理関数]
* [internal22-107-iノード確保アルゴリズム iノード確保アルゴリズム]
* [internal22-108-アルゴリズム詳細 アルゴリズム詳細]
* [internal22-110-ディスクブロック確保アルゴリズム ディスクブロック確保アルゴリズム]
* [internal22-111-アルゴリズム詳細 アルゴリズム詳細]
* [internal22-112-プリアロケート機能 プリアロケート機能]
* [internal22-113-ファイルオフセットからブロック番号への変換 ファイルオフセットからブロック番号への変換]
* [internal22-114-iノードとデータブロックの結合 iノードとデータブロックの結合]
* [internal22-115-ext2_getblk関数アルゴリズム ext2_getblk関数アルゴリズム]
* [internal22-116-ext2_bread関数アルゴリズム ext2_bread関数アルゴリズム]
* [internal22-117-iノードとデータブロックの結合の解除 iノードとデータブロックの結合の解除]
* [internal22-118-問題点など 問題点など]
* [internal22-119-ディレクトリ操作 ディレクトリ操作]
* [internal22-120-問題点、注意点 問題点、注意点]
* [internal22-121-その他、主なプリミティブ関数群 その他、主なプリミティブ関数群]
* [internal22-122-vfsと各ファイルシステムのインターフェイス vfsと各ファイルシステムのインターフェイス]
* [internal22-123-ファイル操作 ファイル操作]
* [internal22-124-ファイルシステム操作 ファイルシステム操作]
* [internal22-125-パス検索 パス検索]
* [internal22-126-その他の主なパス検索処理関数 その他の主なパス検索処理関数]
* [internal22-127-ext2ファイルシステムでのパス名検索 ext2ファイルシステムでのパス名検索]
* [internal22-128-各種システムコールアルゴリズム 各種システムコールアルゴリズム]
* [internal22-129-ファイルのオープン ファイルのオープン]
* [internal22-130-ファイルの生成 ファイルの生成]
* [internal22-131-問題点 問題点]
* [internal22-132-ファイルの削除 ファイルの削除]
* [internal22-133-問題点 問題点]
* [internal22-134-トランケートシステムコール トランケートシステムコール]
* [internal22-135-ファイルの読み込み ファイルの読み込み]
* [internal22-136-ファイルへの書き込みとファイル拡張 ファイルへの書き込みとファイル拡張]
* [internal22-137-lseekシステムコール lseekシステムコール]
* [internal22-138-ファイルのクローズ ファイルのクローズ]
* [internal22-139-ディレクトリの生成 ディレクトリの生成]
* [internal22-140-問題点,注意点 問題点, 注意点]
* [internal22-141-ディレクトリの削除 ディレクトリの削除]
* [internal22-142-ディレクトリ内容の読みだし ディレクトリ内容の読みだし]
* [internal22-143-ディレクトリ操作 ディレクトリ操作]
* [internal22-144-ファイルのリンク-link ファイルのリンク link]
* [internal22-145-ファイルの移動-rename ファイルの移動 rename]
* [internal22-147-シンボリックリンク シンボリックリンク]
* [internal22-148-シンボリックリンクファイルの生成 シンボリックリンクファイルの生成]
* [internal22-150-シンボリックリンクファイルの読みだし シンボリックリンクファイルの読みだし]
* [internal22-151-デバイスファイル作成と削除 デバイスファイル作成と削除]
* [internal22-152-fsyncシステムコール fsyncシステムコール]
* [internal22-153-statシステムコール statシステムコール]
* [internal22-154-ioctlシステムコール ioctlシステムコール]
* [internal22-155-ファイルシステムのマウントとアンマウント ファイルシステムのマウントとアンマウント]
* [internal22-156-主なシステムコールの関数呼び出し関係 主なシステムコールの関数呼び出し関係]
* [internal22-157-ファイルアクセスの排他処理 ファイルアクセスの排他処理]
* [internal22-158-システムコール以外のカーネル機能 システムコール以外のカーネル機能]
* [internal22-159-同期書き込み機能 同期書き込み機能]
* [internal22-160-同期書き込みの種類 同期書き込みの種類]
* [internal22-161-/procファイルシステム /procファイルシステム]
* [internal22-162-パイプ パイプ]
* [internal22-163-デバイスドライバIF デバイスドライバIF]
* [internal22-164-ドライバの登録 ドライバの登録]
* [internal22-165-ブロックI/O起動インターフェイス ブロック I/O起動インターフェイス]
* [internal22-166-デバイスファイル デバイスファイル]
* [internal22-167-補足 補足]
* [internal22-168-デバイスドライバのモデル デバイスドライバのモデル]
* [internal22-169-RAID RAID]
* [internal22-170-コンフィギュレーション コンフィギュレーション]
* [internal22-171-まとめ、考察、問題点 まとめ、考察、問題点]
* [internal22-172-問題点 問題点]
* [internal22-173-その他の注意点 その他の注意点]
* [internal22-174-空間管理 空間管理]
* [internal22-175-空間レイアウト 空間レイアウト]
* [internal22-177-ページングモデル ページングモデル]
* [internal22-178-PGD、PMD、PTE操作関数群 PGD、PMD、PTE操作関数群]
* [internal22-179-カーネル空間 カーネル空間]
* [internal22-180-物理アドレスとカーネル仮想空間の対応 物理アドレスとカーネル仮想空間の対応]
* [internal22-181-プロセス空間 プロセス空間]
* [internal22-182-空間モデル 空間モデル]
* [internal22-183-空間の生成 空間の生成]
* [internal22-184-ヒープ領域の拡張とファイルマッピング ヒープ領域の拡張とファイルマッピング]
* [internal22-185-デマンドロード デマンドロード]
* [internal22-186-空間の複製 空間の複製]
* [internal22-187-コピーオンライト コピーオンライト]
* [internal22-188-ページアウト ページアウト]
* [internal22-189-ページイン ページイン]
* [internal22-190-スタックの成長 スタックの成長]
* [internal22-191-空間の解放 空間の解放]
* [internal22-192-共有空間 共有空間]
* [internal22-193-PTEの状態遷移 PTEの状態遷移]
* [internal22-194-スワップ処理詳細 スワップ処理詳細]
* [internal22-195-スワップ要求の発生 スワップ要求の発生]
* [internal22-199-スワップキャッシュ スワップキャッシュ]
* [internal22-201-フリーページ管理 フリーページ管理]
* [internal22-202-メモリアロケーション メモリアロケーション]
* [internal22-203-システムの起動 システムの起動]
* [internal22-204-Linuxカーネルの起動 Linuxカーネルの起動]
* [internal22-205-エントリポイントとCPUの初期化 エントリポイントとCPUの初期化]
* [internal22-206-カーネル資源の初期化 カーネル資源の初期化]
* [internal22-207-initプロセスの起動 initプロセスの起動]
* [internal22-208-システムの終了 システムの終了]
* [internal22-209-システムの正常終了 システムの正常終了]
* [internal22-210-システムの異常終了 システムの異常終了]
* [internal22-211-マルチプロセッサ管理 マルチプロセッサ管理]
* [internal22-212-スケジューリング スケジューリング]
* [internal22-213-対称型マルチプロセッサシステム 対称型マルチプロセッサシステム]
* [internal22-214-プロセススケジューラ プロセススケジューラ]
* [internal22-215-スケジューリングポリシー スケジューリングポリシー]
* [internal22-216-時計 時計]
* [internal22-217-ハードウェア割り込み ハードウェア割り込み]
* [internal22-218-プロセッサ間割り込み プロセッサ間割り込み]
* [internal22-219-その他の関数説明 その他の関数説明]
* [internal22-220-排他制御 排他制御]
* [internal22-221-スピンロック スピンロック]
* [internal22-222-スピンロック関数 スピンロック関数]
* [internal22-223-カーネル全体のロック カーネル全体のロック]
* [internal22-224-ページフォルト ページフォルト]
* [internal22-225-スケジューラ資源 スケジューラ資源]
* [internal22-226-そのほかの資源 そのほかの資源]
* [internal22-227-カーネルロック処理の流れ カーネルロック処理の流れ]
* [internal22-228-カーネルロック関数の動作詳細 カーネルロック関数の動作詳細]
* [internal22-229-割り込みハンドラ 割り込みハンドラ]
* [internal22-230-BHハンドラ BHハンドラ]
* [internal22-231-補足説明 補足説明]
* [internal22-232-マルチプロセッサシステムの起動 マルチプロセッサシステムの起動]
* [internal22-233-ネットワーク ネットワーク]
* [internal22-234-プロトコルスタック構造 プロトコルスタック構造]
* [internal22-235-スタックモジュール間インターフェイス スタックモジュール間インターフェイス]
* [internal22-236-ソケットデータ形式 ソケットデータ形式]
* [internal22-237-パケット形式 パケット形式]
* [internal22-238-操作関数群 操作関数群]
* [internal22-239-ソケットレイヤ ソケットレイヤ]
* [internal22-240-ソケットの作成 ソケットの作成]
* [internal22-241-送受信準備 送受信準備]
* [internal22-242-データ送受信操作 データ送受信操作]
* [internal22-243-ソケットの解放 ソケットの解放]
* [internal22-244-操作関数群 操作関数群]
* [internal22-245-ネットワークドライバインターフェイス ネットワークドライバインターフェイス]
* [internal22-246-ドライバの登録 ドライバの登録]
* [internal22-247-イーサヘッダ形式 イーサヘッダ形式]
* [internal22-248-受信処理 受信処理]
* [internal22-249-送信処理 送信処理]
* [internal22-250-IPプロトコルスタック IPプロトコルスタック]
* [internal22-251-IPヘッダ形式 IPヘッダ形式]
* [internal22-252-送信処理 送信処理]
* [internal22-253-受信処理 受信処理]
* [internal22-254-IPパケット転送処理 IPパケット転送処理]
* [internal22-255-IPパケットのフラグメント IPパケットのフラグメント]
* [internal22-256-ルーティング ルーティング]
* [internal22-257-データ構造 データ構造]
* [internal22-258-静的ルーティングテーブル 静的ルーティングテーブル]
* [internal22-259-ルーティングテーブルキャッシュ ルーティングテーブルキャッシュ]
* [internal22-260-送信処理時のルーティング 送信処理時のルーティング]
* [internal22-261-受信処理時のルーティング 受信処理時のルーティング]
* [internal22-262-ARP ARP]
* [internal22-263-ARPヘッダ形式 ARPヘッダ形式]
* [internal22-264-データ構造 データ構造]
* [internal22-265-アドレスの解決 アドレスの解決]
* [internal22-266-UDPプロトコルスタック UDPプロトコルスタック]
* [internal22-267-UDPヘッダ形式 UDPヘッダ形式]
* [internal22-268-送信処理 送信処理]
* [internal22-269-受信処理 受信処理]
* [internal22-270-TCPプロトコルスタック TCPプロトコルスタック]
* [internal22-271-TCPヘッダ形式 TCPヘッダ形式]
* [internal22-272-シーケンス番号とACK シーケンス番号とACK]
* [internal22-273-送受信ウィンドウ 送受信ウィンドウ]
* [internal22-274-送信処理 送信処理]
* [internal22-275-送信キューデータ構造 送信キューデータ構造]
* [internal22-276-送信処理アルゴリズム 送信処理アルゴリズム]
* [internal22-277-応答(ACK)受信と送信再開 応答(ACK)受信と送信再開]
* [internal22-278-再送処理 再送処理]
* [internal22-279-輻輳回避とスロースタート 輻輳回避とスロースタート]
* [internal22-280-受信処理 受信処理]
* [internal22-281-受信キューデータ構造 受信キューデータ構造]
* [internal22-282-受信処理アルゴリズム 受信処理アルゴリズム]
* [internal22-283-コネクション状態遷移 コネクション状態遷移]
* [internal22-284-コネクションの確立 コネクションの確立]
* [internal22-285-クライアント側処理 クライアント側処理]
* [internal22-286-サーバ側処理前半 サーバ側処理前半]
* [internal22-287-サーバ側処理後半 サーバ側処理後半]
* [internal22-288-サーバ側accept処理 サーバ側 accept処理]
* [internal22-289-コネクションの切断 コネクションの切断]
* [internal22-290-切断処理第一段階 切断処理第一段階]
* [internal22-291-切断処理第二段階 切断処理第二段階]
* [internal22-292-LISTEN状態のソケットの解放 LISTEN状態のソケットの解放]
* [internal22-293-コネクションのshutdown コネクションのshutdown]
* [internal22-294-TCPタイマ TCPタイマ]
* [internal22-295-再送タイマ 再送タイマ]
* [internal22-296-TCPスロータイマ TCPスロータイマ]
* [internal22-297-終了処理タイマ 終了処理タイマ]
* [internal22-298-その他 その他]
* [internal22-299-loopbackデバイス loopbackデバイス]
* [internal22-300-プロトコル実行コンテキスト プロトコル実行コンテキスト]
* [internal22-301-このドキュメントについて このドキュメントについて ]