Linux内核编程
文章平均质量分 72
vonzhou
这个作者很懒,什么都没留下…
展开
-
Linux内核编程入门hello,world!
kernel space中的程序入口,出口分别是module_init,module_exit中的handler,__init 宏是告知编译程序相关的程序或者变量仅用于初始化,会放到特殊的内存段中,初始化结束后就释放这段内存。在驱动程序中仅有一个module-init和cleanup_exit点。hello_kernel.c:#include#include#includestatic原创 2014-02-21 20:35:15 · 1501 阅读 · 0 评论 -
Generic netlink编程入门
通过generic netlink可以实现内核和用户空间的通信,genetlink是通过family来管理的(哈希表),ctrl_family是一个特殊的Family, 它是由Generic Netlink自己注册和实现,并用来查询Family列表、管理各个Family的添加、删除等事件的。 static struct genl_family genl_ctrl = {原创 2014-02-22 16:15:24 · 6207 阅读 · 0 评论 -
Linux内存管理 - PAGE_OFFSET理解
Linux内存管理 - PAGE_OFFSET理解 PAGE_OFFSET 代表的是内核空间和用户空间对虚拟地址空间的划分,对不同的体系结构不同。比如在32位系统中3G-4G 属于内核使用的内存空间,所以 PAGE_OFFSET = 0xC0000000。在X86-64架构下是ffff880000000000。可以看到内核程序可以可以访问从PAGE_OFFSET 之原创 2015-01-10 16:45:20 · 9287 阅读 · 2 评论