栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux驱动 构造和运行模块(二)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux驱动 构造和运行模块(二)

应用程序与核心模块区别

大多应用程序是从头到尾执行单个任务,而模块确只是预先注册自己以便服务于将来的某个请求。

用户空间/内核空间

模块运行在所谓的内核空间,而应用程序运行在所谓的用户空间;内核运行在最高级别也称为超级用户态,应用程序运行在最低级别也称用户态。

内核中的并发

linux系统中通常正在运行多个并发进程,并且可能有多个进程使用我们的驱动程序,并且大多数设备能够中断处理器,而中断处理程序异步运行,还有一些软件抽象等,综上,内核代码运行是可抢占的,这意味着存在许多并发问题。

因此,内核代码必须是可重入的,必须运行在多个上下文中。

编程中的一写细节

  • 内核的栈空间非常小,避免使用大量的自动变量,多使用动态分配;
  • 内核中存在以"__"为前缀的API,这种是内核底层组件接口,谨慎使用;
  • 内核代码中不能实现浮点数运算;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号