当前位置: 技术问答>linux和unix
LDD3 阅读理解问题
来源: 互联网 发布时间:2016-08-07
本文导语: 对于设备驱动而言: insmod ***.ko 表示将驱动加载进内核=======类似于c++中类 mknod /dev/*** 表示添加设备=============类似于c++中对象(/dev/***只是name无实际意义,只要设备号对的就可以 ) 请问这样理解可以吗? ...
对于设备驱动而言:
insmod ***.ko 表示将驱动加载进内核=======类似于c++中类
mknod /dev/*** 表示添加设备=============类似于c++中对象(/dev/***只是name无实际意义,只要设备号对的就可以 )
请问这样理解可以吗?
insmod ***.ko 表示将驱动加载进内核=======类似于c++中类
mknod /dev/*** 表示添加设备=============类似于c++中对象(/dev/***只是name无实际意义,只要设备号对的就可以 )
请问这样理解可以吗?
|
对于设备驱动而言:
insmod ***.ko 表示将驱动加载进内核
类似中应用程序中的 .so 动态库,只是 .ko被加载内核空间,而 .so被加载到用户态。
mknod /dev/*** 表示添加设备
表示添加设备文件,设备文件名不能随意,要跟驱动程序一致。
|
似乎还不能完全这样理解。可以看一下设备模型。
另外,LDD里面的驱动相对是比较单纯的。只示例一“类”设备,你可以这样理解。
实际的驱动程序会比示例麻烦的多。比如一个网卡,是网络设备的同时也会是PCI设备。在prob的时候首先是PCI来执行,然后判断由哪个驱动(或者模块)来处理他。
建议理解一下Linux的设备模型,会有更深的理解。
另外,LDD里面的驱动相对是比较单纯的。只示例一“类”设备,你可以这样理解。
实际的驱动程序会比示例麻烦的多。比如一个网卡,是网络设备的同时也会是PCI设备。在prob的时候首先是PCI来执行,然后判断由哪个驱动(或者模块)来处理他。
建议理解一下Linux的设备模型,会有更深的理解。
|
kobj模型比较深入,建议楼主慢慢来。
|
.....
没那么复杂
ko模块就像定义好的类
一旦一个对应主设备号的/dev设备文件打开,就使用这个ko模块创建一个实例
仅仅是 类 实例化成 对象 的含义
没那么复杂
ko模块就像定义好的类
一旦一个对应主设备号的/dev设备文件打开,就使用这个ko模块创建一个实例
仅仅是 类 实例化成 对象 的含义
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。