您的位置:首页 > Web前端

Execution Differences Between Kernel Modules and User Programs

2013-11-19 11:20 381 查看
Execution Differences Between Kernel Modules and User Programs

1. Kernel 有独立的地址空间

2. Kernel modules 有更高的执行特权 (对系统有更大的影响)

3. Kernel modules 不是顺序执行的

4. Kernel modules 可以被中断。(interrupt handler)

5. Kernel modules 一定是可抢占的(design driver assuming your driver might be preempted)

6. Kernel modules 可以分享数据

Structural Differences Between Kernel Modules and User Programs

1. Kernel modules 没有main().(a collection of subroutines(entry points) and data)

2. Kernel modules are linked only to the kernel. (Kernel modules 和 user program 不会link 到同一个library, The only functions a kernel module 只能调用kernel 输出到函数)

3. Kernel modules用不同的头文件。(如果头文件用_KERNEL 宏声明过,Kernel modules可以和user program 共用头文件)

4. Kernel modules 应该避免全局变量( 尽量用static声明变量)

5. Kernel modules 可以被硬件定制的(根据硬件需求来调整的)

6. Kernel modules 可以被动态导入

Data transfer Between Kernel Modules and User Programs
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: