摘要:
内存管理子系统 1.虚拟地址与物理地址的映射 2.物理内存的分配 Linux虚拟地址空间分布 设备最后访问的一定是物理地址,但Linux系统中使用的都是虚拟地址。虚拟地址简单的来说就是程序中使用的地址。所以存在虚拟地址到物理地址之间的映射关系。 Linux系统支持的虚拟地址空间由硬件来决定。例如处理 阅读全文
摘要:
模块申明 1.MODULE_LICENSE(“遵守的协议”) 申明该模块遵守的许可证协议,如:”GPL”,”GPL v2”等 2.MODULE_AUTHOR(“作者”) 申明模块的作者 3.MODULE_DESCRIPTION(“模块的功能描述”) 申明模块的功能 4.MODULE_VERSION( 阅读全文
摘要:
内核模块示例 #inlcude <linux/init.h> #inlcude <linux/module.h> static int hello_init(){ printk(KERN_WARNING”hello_init\n”); return 0; } static void hello_ex 阅读全文
摘要:
什么是内核模块 Linux内核的整体结构非常庞大,其中包含的组件也非常多,如何使用这些组件。一种方式是把所有的组件都编译进内核文件,即zImage或bzImage,但这样会导致一个问题,占用内存过多。内核模块是一种能让内核文件本身并不包含某些组件,而是是在被需要使用的时候,动态地添加到到在运行的内核 阅读全文