【Linux驱动】第二章构造和运行模块.docVIP

  • 0
  • 0
  • 约3.68千字
  • 约 5页
  • 2016-05-23 发布于重庆
  • 举报
【Linux驱动】第二章构造和运行模块

【Linux 驱动】第二章 构造和运行模块 设置测试系统开发环境及Hello World入门模块在前面中已经讲到,请参考:/Linux/2012-04/58409.htm 一,核心模块与应用程序的对比 ??????? 应用程序:小规模及中规模程序,从头到尾执行单个任务。 ??????? 核心模块:预先注册自己,以便服务于将来的某个请求。然后他的初始化函数就立即结束。 ??????? 退出时候,应用程序可以不释放自己申请的资源,而模块在退出之前必须仔细撤销初始化函数所做的一切。 二,用户空间和内核空间 ??????? 模块运行在内核空间,应用程序运行在内核空间。 ??????? 每当应用程序执行系统调用或者被硬件中断挂起时,Unix将执行模式从用户空间切换到内核空间。 ??????? 应用程序在虚拟内存中布局,并具有一块很大的栈空间(保存函数调用历史以及当前活动函数中的自动变量)。内核具有非常小的栈,所以我们自己的函数必须和整个内核空间调用链一同共享这个栈。 ?????? 【注意】在内核API中看到有两个下划线_ _的函数名:接口的底层组件 三,初始化和关闭 ???????? static? int? _ _init? initialization_function(void) ????????? { ??????????????? /*初始化代码*/ ???????????????

文档评论(0)

1亿VIP精品文档

相关文档