モジュールの作成と実行
・Hellow Worldモジュール、及び関連マクロ&関数。(P16)
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void) // モジュールがカーネルロードされたときに起動される関数。
{
printk(KERN_ALERT "Hello, world\n");
return 0;
}
static void hello_exit(void) // モジュールが削除されるときに起動される。
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);
・モジュールとアプリの差異。(P18)
・ユーザ空間とカーネル空間。これら2つのモードでは、特権レベルが異なるだけでなく、メモリの対応付けが異なります。(P19)
转载于:https://www.cnblogs.com/nliao/archive/2013/01/06/2847668.html