当前位置: 技术问答>linux和unix
关于字符设备驱动的一点疑问
来源: 互联网 发布时间:2016-10-05
本文导语: 字符设备驱动,想必大家见过多了。 有此疑问: 加载这个模块之后的流程如何: 是不是对应一个进程,然后让它sleep,由其它的程序调用, Linux不是把设备当做文件吗,难道一个read或者write操作就可以把它wake up,执行...
字符设备驱动,想必大家见过多了。
有此疑问:
加载这个模块之后的流程如何:
是不是对应一个进程,然后让它sleep,由其它的程序调用,
Linux不是把设备当做文件吗,难道一个read或者write操作就可以把它wake up,执行完毕之后继续sleeping ?
请各位解答。
有此疑问:
加载这个模块之后的流程如何:
是不是对应一个进程,然后让它sleep,由其它的程序调用,
Linux不是把设备当做文件吗,难道一个read或者write操作就可以把它wake up,执行完毕之后继续sleeping ?
请各位解答。
|
linux是个宏内核 结构比较紧凑 以函数执行流程往下走
驱动程序并非是那种C/S模式 也有其他的功能是通过内核线程的方式存在的 比如swapper
字符型设备驱动的函数也是这样被调用的
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
驱动程序并非是那种C/S模式 也有其他的功能是通过内核线程的方式存在的 比如swapper
字符型设备驱动的函数也是这样被调用的
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
|
你要首先理解,内核本身是不会被调度执行的,只有进程会被调度执行
内核只有在中断(硬件的和进程调系统调用产生的异常)到来时才动一下,之后很快就把控制权交还进程
驱动就是内核的一部分
内核只有在中断(硬件的和进程调系统调用产生的异常)到来时才动一下,之后很快就把控制权交还进程
驱动就是内核的一部分
|
驱动应该是内核的一部分吧
没有这样一个守护进程
没有这样一个守护进程
|
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
往下走就是向设备发送中断 等待设备完成读写操作 获取相关数据