標準ライブラリ
| 機能単位 | 主なヘッダやソース | 備考 |
| 型定義 | include/linux/types.h | コンパイラは inttypes.h, stdint.h を提供しています。 |
| 定数、最大、最小 | include/linux/kernel.h include/linux/stddef.h include/uapi/linux/limits.h | uapi/linux/limits.h は linux/limits.h で include します。 |
| 構造体オフセット | include/linux/stddef.h include/linux/kernel.h | メンバーからそれを保持する構造体へ変換するマクロ container_of() もここに含めます。 |
| 文字 | include/linux/ctype.h | |
| 文字列・メモリ | include/linux/string.h | |
| 文字列変換 | include/linux/kernel.h include/linux/parser.h | strtoxxx は kstrtoxxx という関数になっています。 |
| 書式フォーマット | include/linux/kernel.h | |
| 計算(数値) | include/linux/kernel.h div64.h include/linux/gcd.h include/linux/lcm.h include/linux/log2.h include/linux/math64.h | |
| 計算(ビット) | ||
| アルゴリズム |
リンク・リスト
| 機能単位 | 主なヘッダやソース | 備考 |
| リスト操作 | include/linux/list.h | リンク・リスト・メンバーからそれを保持する構造体へ変換するマクロ list_entry() は container_of() と同じです。リスト操作に関連するならば list_entry() を使用して下さい。 |
アトミック操作
| 機能単位 | 主なヘッダやソース | 備考 |
| 整数 | ||
| ビット |
排他制御
| 機能単位 | 主なヘッダやソース | 備考 |
| Spin Lock | ||
| Semaphore |
同期制御、状態変化待ち
| 機能単位 | 主なヘッダやソース |
| Event |
割り込み処理
| 機能単位 | 主なヘッダやソース | 備考 |
| IRQ class |
時間待ち、タイマー
| 機能単位 | 主なヘッダやソース | 備考 |
| Sleep | ||
| Timer |
メモリ確保
| 機能単位 | 主なヘッダやソース | 備考 |
| 任意サイズ | include/linux/slab.h | |
| ページ単位 | include/linux/gfp.h include/linux/mm.h | ページ確保: gfp.h alloc_page() 、ページ・アドレス取得: mm.h page_address() となっています。 |
論理-物理マップ、DMA 転送、コピー
| 機能単位 | 主なヘッダやソース |
| User - Kernel Copy | |
| Virt - Phy map convert | |
| DMA map Scatter Gather |
スレッド・軽量処理
| 機能単位 | 主なヘッダやソース |
| kthread | |
| work queue | |
| tasklet |
接続切断通知
| 機能単位 | 主なヘッダやソース |
| UEvent | |
| switch (Android) |
リファレンスカウンタ
| 機能単位 | 主なヘッダやソース |
| kref |
Kernel Object
| 機能単位 | 主なヘッダやソース | 備考 |
| KObject | ||
| KSet |
ノード形成
| 機能単位 | 主なヘッダやソース | 備考 |
| VFS(character) | ||
| VFS(block) | ||
| procfs | ||
| sysfs | ||
| debugfs |
モジュールロード、アンロード、シンボル解決
| 機能単位 | 主なヘッダやソース | 備考 |
| Module insmod rmmod | ||
| Symbol lookup |
基本的なドライバ
| 機能単位 | 主なヘッダやソース |
| Null, Zero, Full, Mem drivers |
基本的なファイルシステムノード
| 機能単位 | 主なヘッダやソース | 備考 |
| pipe | ||
| eventfd | ||
| signalfd | ||
| timerfd |