关于字符设备驱动的一点疑问

mengde007 巨人网络 服务器端工程师  2010-10-11 03:44:47
字符设备驱动,想必大家见过多了。
有此疑问:
加载这个模块之后的流程如何:
是不是对应一个进程,然后让它sleep,由其它的程序调用,
Linux不是把设备当做文件吗,难道一个read或者write操作就可以把它wake up,执行完毕之后继续sleeping ?
请各位解答。
...全文
83 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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_Kernel
创建于2007-08-27

4156

社区成员

Linux/Unix社区 内核源代码研究区
申请成为版主
帖子事件
创建了帖子
2010-10-11 03:44
社区公告
暂无公告