#author("2016-08-29T13:36:43+09:00","default:afuruta","afuruta") * Linux Kernel の見取り図 [#u00e790d] #ref(Linux_bigmap_for_driver_developer.png); 排他制御 |機能単位|主なヘッダやソース|h |Spin Lock|| |Semaphore|| 同期制御、状態変化待ち |機能単位|主なヘッダやソース|h |Event|| 割り込み処理 |機能単位|主なヘッダやソース|備考|h |IRQ class||| 時間待ち、タイマー |機能単位|主なヘッダやソース|備考|h |Sleep||| |Timer||| メモリ確保 |機能単位|主なヘッダやソース|h |Allocators|| 論理-物理マップ、DMA 転送、コピー |機能単位|主なヘッダやソース|h |User - Kernel Copy|| |Virt - Phy map convert|| |DMA map Scatter Gather|| スレッド・軽量処理 |機能単位|主なヘッダやソース|h |kthread|| |work queue|| |tasklet|| 接続切断通知 |機能単位|主なヘッダやソース|h |UEvent|| |switch (Android)|| リファレンスカウンタ |機能単位|主なヘッダやソース|h |kref|| Kernel Object |機能単位|主なヘッダやソース|備考|h |KObject||| |KSet||| ノード形成 |機能単位|主なヘッダやソース|備考|h |VFS(character)||| |VFS(block)||| |procfs||| |sysfs||| |debugfs||| モジュールロード、アンロード、シンボル解決 |機能単位|主なヘッダやソース|備考|h |Module insmod rmmod||| |Symbol lookup||| 基本的なドライバ |機能単位|主なヘッダやソース|h |Null, Zero, Full, Mem drivers|| 基本的なファイルシステムノード |機能単位|主なヘッダやソース|備考|h |pipe||| |eventfd||| |signalfd||| |timerfd|||