????1??????

??????????????????????KAPI????????????????????????????????????У???????????????????????????????????????????????????????????????????KAPI?????????????KAPI??????2?(???????)????????????????????????????????????????KAPI???????÷?????????Щ??????????????????KAPI?????????????KAPI?????????????????????????????????????KAPI???????????????????д??????(Kernel Module)???????????????KAPI?????;??????????????????????????????????б??????????????????????????????????????????????ù???????????????飬????????Ч?????????????????

??????????У??????????????????????????????????????д?????


????2????????????

???????????У???????汻????????????????????????????????????????Щ?豸??????????;????????????????????????????????á??? linux???У??????е???3G??4G??????????????????????????????????0??3G????????????????????ж???????


????CPU????PSW??????е???bit??????????????? (Ring 3)??????(Ring 0)??????????????????????CPU?????????????????????????????????????????????????????????????????????а?????????????????????????????????ж????????????????????л?????????????????????????????????ж?????????????????????????????????????????????????????????

??????????????У???????????????????У????????KAPI????????????????????????????????KAPI??????????????????????????????????????????д??????????????KAPI???????????????????????÷?????????????????????????????????????????????????????鶨λ?????????????Щ?????????·????????????????????????????????????KAPI???е??????????????

??????????????????????KAPI??????????????????????????????????????????kernel module??????????????????????????????????????????????з???????????????????????????????????????????????????巽????????????????

????3. Kernel Module

?????????KAPI???????ú?????????????????????????????ú????????????????????kernel module????ɡ?kernel module???????????±???kernel image????????????′?????????????Kernel Module???????ko????????????????lsmod????????????????Kernel Module?????insmod/rmmod?????????????????????ж???Kernel Module???????????????????????module_init??module_exit??????????????ж??????е??????????????????????????hello world???????????init?п???????KAPI???е?????????????鱻insmod?????????????С???????????????????????????в????????????????????????????????????????????????е???????????????????????????????????Kernel Module??????????????????????????ο? http://www.tldp.org/LDP/lkmpg/2.6/html/

#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
#include <linux/init.h> /* Needed for the macros */

static int __init hello_init(void){
printk(KERN_INFO "Hello?? world 2 ");
return 0;
}
static void __exit hello_exit(void){
printk(KERN_INFO "Goodbye?? world 2 ");}

module_init(hello_init);
module_exit(hello_exit);
????4. ????????????????