1.应用层API和驱动之间的关系
具体层次关系:应用层-->API-->设备驱动--->硬件
API:相当于一个接口:提供open,read,write,close等相关的接口函数
驱动源码中提供真正的open,read,write,close等函数实体。
操作系统的主要目的:
操作系统的主要目的: 是利用驱动实现的open read write close
和API中提供的open read write close 相互映射
对应关系 挂接关系
主要的方式:通过file_operatios这个结构 和 创建相应的设备文件实现应用到驱动的挂钩
2.注册字符设备驱动
系统如何来管理这么大的系统
理解几个问题:
1.为什么要注册设备驱动
因为如果你不去注册,内核就当没有一样
2.谁来进行注册
你自己来注册
3.向谁来注册
向内核注册
4.注册函数从哪里来的
4.1调用一个函数来注册(这个函数是内核)
5.注册前怎样?注册后怎样?注册产生什么结果?
注册前:内核不能查到你,应用程序也无法调用你
注册时候,内核就会给你发放一个证明
相当于: 一个身份证一样
相当于内核给在相应的数据结构给你提供一个编号一样
最终的目的: 你想内核注册了一个驱动, 通过操作系统,内核能够找到你,API能够找到你
并且通过你来调用硬件。