カーネルモジュール
ローダブル・カーネル・モジュール
(カーネルモジュール から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/12 08:27 UTC 版)
ローダブル・カーネル・モジュール(英: loadable kernel module, LKM)は、オペレーティングシステム (OS) の動作中のカーネルを拡張するコードを含むオブジェクトファイル。現行Unix系システムの多くやMicrosoft Windowsはローダブル・カーネル・モジュールをサポートしているが、呼称はそれぞれ異なる。例えばmacOSでは"kernel extension" ("kext") と呼ぶ。他にもカーネル・ローダブル・モジュール (KLM) やカーネルモジュール (KMOD) とも呼ばれる。LKMは一般にCPUやM/Bなど新しいハードウェアやファイルシステムのサポート、通信プロトコル、システムコールを追加するために利用される。LKMの提供する機能が不要になれば、アンロードしメモリを解放することができる。
- ^ Debianプロジェクト. “Debian - パッケージ検索結果 - makedev”. packages.debian.org. 2011年1月27日閲覧。
- ^ “The Linux Kernel Module Programming Guide, section 2.2 "Compiling Kernel Modules"”. LDP. tldp.org. 2011年10月14日閲覧。
- ^ ラスティ・ラッセル (2010年6月7日). “module-init-tools”. packages.debian.org. 2011年1月27日閲覧。
- ^ a b “Man page of INSMOD”. JM Project (2001年10月2日). 2011年1月27日閲覧。
- ^ “Man page of MODPROBE”. JM Project (2002年2月4日). 2011年1月27日閲覧。
- ^ a b FreeBSDプロジェクト (2006年). “Dynamic Kernel Linker Facility - KLD”. www.freebsd.org. 2011年1月27日閲覧。
- ^ “Manpage of LSMOD”. JM Project (2002年2月4日). 2011年6月13日閲覧。
- ^ Debianプロジェクト. “Debian -- パッケージ検索結果 -- linux-kbuild”. packages.debian.org. 2011年1月28日閲覧。
- ^ Debianプロジェクト. “Debian -- パッケージ検索結果 -- linux-headers”. packages.debian.org. 2011年1月28日閲覧。
- ^ “ModuleAssistant - Debian Wiki”. wiki.debian.org (2010年10月10日). 2011年1月28日閲覧。
- ^ デルにより開発されたDynamic Kernel Module Support(DKMS)。
- ^ Bryan Henderson (2006年9月24日). “Linux Loadable Kernel Module HOWTO - 13. Copyright Considerations With LKMs”. Linux Documentation Project. 2011年1月28日閲覧。
- ^ リーナス・トーバルズ他 (2011年6月21日). “Documentation/oops-tracing.txt”. git.kernel.org. 2011年6月22日閲覧。 “Tainted kernels:”
- ^ Jonathan Corbet (2006年3月24日). “Tainting from user space”. LWN.net. 2011年4月25日閲覧。
- ^ “Tainted kernel”. [[ノベル (企業)|]] (2010年3月15日). 2011年4月25日閲覧。
- ^ “汚染されたカーネル”. [[ノベル (企業)|]] (2009年4月27日). 2011年1月27日閲覧。汚染フラグはこの文書の通り、「プロプライエタリなモジュールがロードされた」場合だけではなく、Linuxカーネル開発者が障害のトラブルシューティングを行う際の切り分けに有用な情報を出力するように設計されている。
- ^ a b Joe-Barr (2004年4月30日). “プロプライエタリ・ドライバによるLinuxカーネルの「汚染」”. SourceForge.JP Magazine. 2011年1月28日閲覧。リーナス・トーバルズによる「汚染フラグ」についての説明も記載されている。
- ^ “Linux Kernel と GPL 関連”. Mc.N Homepage SDK. 2011年1月27日閲覧。
- ^ “include/linux/module.h”. git.kernel.org (2011年1月24日). 2011年1月28日閲覧。
- ^ 上川純一 (2005年4月19日). “Linux Kernel Watch 4月版 カーネル2.6.11.yのメンテナは嫌なヤツ?(2/2) - sysfsを利用するにはGPLじゃないとダメ?”. アットマーク・アイティ、ITmedia. 2011年1月27日閲覧。 sysfsは各種システムパラメータの塊といえるが、誤ったAPIで操作すれば当然クラッシュする。
- ^ “GitHub, torvalds / linux, linux/include/linux/license.h”. 2023年10月31日閲覧。 インライン関数
license_is_gpl_compatible()
が当該。 - ^ “GitHub, torvalds / linux, linux/lib/string.c”. 2023年10月31日閲覧。 カーネル向けの実装だが、意味はユーザランド向けに同じ。
- ^ Jeremy Andrews (2004年4月27日). “Linux: Abusing the MODULE_LICENSE Macro (MODULE_LICENSEマクロの乱用)”. KernelTrap. 2013年5月3日時点のオリジナルよりアーカイブ。2011年1月27日閲覧。
- ^ Jonathan Corbet (2004年4月27日). “Being honest with MODULE_LICENSE”. LWN.net. 2011年12月14日閲覧。
- ^ Michael Reiter. “Exploiting Loadable Kernel Modules”. 2011年12月14日閲覧。
- 1 ローダブル・カーネル・モジュールとは
- 2 ローダブル・カーネル・モジュールの概要
- 3 バイナリ互換性
- 4 関連項目
- カーネルモジュールのページへのリンク