全部博文(175)
发布时间:2013-04-01 10:27:07
内核空间和用户空间是操作系统理论的基础之一,即内核功能模块运行在内核空间,而应用程序运行在用户空间。现代的CPU都具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,在较低的级别中将禁止某些操作。Linux系统设计时利用了这种硬件特性,使用了两个级别,最高级别和最低级别,内核运行在最高级别(内.........【阅读全文】
发布时间:2013-03-27 17:59:28
对于字符设备驱动,当file_operations注册好了之后,这只是实现了该驱动的内部功能,我们还要向用户提供操作接口,也就是在/dev/目录下创建字符设备节点,其中device_create函数就用于实现该功能。 创建设备节点是device_create的功能之一,下面主要分析该功能的主要流程。 以下基于Linux2.6.32.2.........【阅读全文】
发布时间:2013-03-25 14:34:44
2.3 字符设备的内核抽象(1)顾名思义,字符设备驱动程序管理的核心对象是字符设备。从字符设备驱动程序的设计框架角度出发,内核为字符设备抽象出了一个具体的数据结构struct cdev,其定义如下: struct cdev { &nbs.........【阅读全文】
发布时间:2013-03-20 10:17:10
1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表void foo(...);void foo(parm_list,...);2:函数参数的传递原理函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:#include void fun(int a, ...) { int *temp = &a; temp++; for (int i = 0; i 中的例子#include "stdio.h"#in.........【阅读全文】