当前位置: 技术问答>linux和unix
两个驱动程序能互相访问么?
来源: 互联网 发布时间:2016-04-18
本文导语: 书上是这么说的:一个驱动程序不与其他的驱动程序交互, 内核与驱动程序之间也仅通过一个严格定义的接口交互. 那就是说驱动程序不能互相访问了,但是驱动不是可以做成模块么? 而且模块不是可以互相访问么? 那么...
书上是这么说的:一个驱动程序不与其他的驱动程序交互,
内核与驱动程序之间也仅通过一个严格定义的接口交互.
那就是说驱动程序不能互相访问了,但是驱动不是可以做成模块么?
而且模块不是可以互相访问么?
那么驱动程序为什么就不能互相访问呢?
内核与驱动程序之间也仅通过一个严格定义的接口交互.
那就是说驱动程序不能互相访问了,但是驱动不是可以做成模块么?
而且模块不是可以互相访问么?
那么驱动程序为什么就不能互相访问呢?
|
理论意义上,宏内核的各个部分都可以交互,所谓交互,在宏内核上就是函数调用;在微内核就不能乱交互了,所有交互靠消息传递,你发不一定人家收。lz所说的驱动之间不能交互实际上不是强制的,只是为了简化内核的设计,就像驱动里面不能睡眠一样,如果你非要在驱动里面调用一个schedule,还是可以编译和运行的,只是多了一些不确定性;再一个,对于分层的驱动,你不交互都不行,比如,套用一下windows的ndis驱动,驱动间能不交互吗?
|
能交互,但是不能想当然的乱交互,那样容易给内核搞死
good luck!
good luck!