社区
Linux_Kernel
帖子详情
关于字符设备驱动的一点疑问
mengde007
2010-10-11 03:44:47
字符设备驱动,想必大家见过多了。
有此疑问:
加载这个模块之后的流程如何:
是不是对应一个进程,然后让它sleep,由其它的程序调用,
Linux不是把设备当做文件吗,难道一个read或者write操作就可以把它wake up,执行完毕之后继续sleeping ?
请各位解答。
...全文
181
9
打赏
收藏
关于字符设备驱动的一点疑问
字符设备驱动,想必大家见过多了。 有此疑问: 加载这个模块之后的流程如何: 是不是对应一个进程,然后让它sleep,由其它的程序调用, Linux不是把设备当做文件吗,难道一个read或者write操作就可以把它wake up,执行完毕之后继续sleeping ? 请各位解答。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yel617
2010-10-13
打赏
举报
回复
学习了
rabbii
2010-10-12
打赏
举报
回复
[Quote=引用 4 楼 eclipse_2 的回复:]
linux是个宏内核 结构比较紧凑 以函数执行流程往下走
驱动程序并非是那种C/S模式 也有其他的功能是通过内核线程的方式存在的 比如swapper
字符型设备驱动的函数也是这样被调用的
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
[/Quote]
模块应该就和系统在一起了,相当于是一体的……
mengde007
2010-10-11
打赏
举报
回复
谢谢各位的答复。
小魔菇
2010-10-11
打赏
举报
回复
[Quote=引用 4 楼 eclipse_2 的回复:]
linux是个宏内核 结构比较紧凑 以函数执行流程往下走
驱动程序并非是那种C/S模式 也有其他的功能是通过内核线程的方式存在的 比如swapper
字符型设备驱动的函数也是这样被调用的
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
[/Quote]
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
往下走就是向设备发送中断 等待设备完成读写操作 获取相关数据
deep_pro
2010-10-11
打赏
举报
回复
你要首先理解,内核本身是不会被调度执行的,只有进程会被调度执行
内核只有在中断(硬件的和进程调系统调用产生的异常)到来时才动一下,之后很快就把控制权交还进程
驱动就是内核的一部分
小魔菇
2010-10-11
打赏
举报
回复
linux是个宏内核 结构比较紧凑 以函数执行流程往下走
驱动程序并非是那种C/S模式 也有其他的功能是通过内核线程的方式存在的 比如swapper
字符型设备驱动的函数也是这样被调用的
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
justkk
2010-10-11
打赏
举报
回复
对内核不甚理解
个人理解,如果内核是一个程序,驱动就是一个函数或者动态库
mengde007
2010-10-11
打赏
举报
回复
那么驱动以什么形式存在于内核之中呢?
外界又是怎么调用它的。
justkk
2010-10-11
打赏
举报
回复
驱动应该是内核的一部分吧
没有这样一个守护进程
字符设备
驱动
开发的流程
本文详细介绍了Linux
字符设备
驱动
的基本概念、开发步骤和设备号管理,包括
驱动
模块的加载卸载、
字符设备
的注册注销、file_operations结构体的使用,并通过实例展示了
驱动
和应用程序的交互过程。
【Linux
驱动
篇(一)】
字符设备
驱动
开发
本文详细介绍了Linux
字符设备
驱动
的开发过程,包括
字符设备
驱动
的加载和卸载、设备注册与注销、设备操作函数的实现,以及如何编写测试应用程序进行读写操作。文章还讨论了设备号的组成和分配,并提供了一个名为chrdevbase的虚拟设备
驱动
模板,作为实际开发的基础。
Linux
驱动
编程 -
字符设备
驱动
本文深入解析Linux
字符设备
驱动
框架,涵盖设备号分配、cdev结构体及操作集介绍,自动创建设备节点流程,并提供完整示例代码。
嵌入式linux
驱动
开发-
字符设备
驱动
本文详细介绍Linux
字符设备
驱动
的开发步骤,包括
驱动
模块的加载与卸载、
字符设备
的注册与注销,以及如何实现设备的具体操作函数等内容。
简单
字符设备
驱动
流程
本文介绍了Linux系统中
字符设备
的分类,强调
字符设备
按字节读写且面向流的特性,例如键盘、鼠标等。重点讲解了一个简单的
字符设备
驱动
示例,该
驱动
操作虚拟设备并实现内存中的数据读写。通过insmod、dmesg和测试程序展示了
驱动
的安装、使用和移除过程。
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章