应用层到驱动层
来源:互联网 发布:中国网络电视台体育台 编辑:程序博客网 时间:2024/05/01 01:49
1、应用层—->VFS——>驱动层——–>硬件层;
2、应用层的程序要想跟底层的硬件打交道必须要有设备文件;在应用层通过open打开一个设备文件时,在VFS层会建立inode结构体和file结构体,前者是静态的描述设备的一些信息(如:设备号,节点指针,设备类型以及cdev结构体),后者则会描述设备类型的一些动态信息(如:文件方法集,读写位置,权限,私有属性等)。注意file结构体中有inode的地址。
3、此时根据inode结构体中的设备号在内核的chrdevs数组中找到对应的cdev结构体;然后将找到的cdev结构体的地址赋值给inode中的i_cdev成员。同时将cdev中的file方法集的地址复制给file结构体中的f_op(这是关键的一步)。
4、最后,VFS层返回一个与file结构体相对应的文件描述符fd给应用程序,应用程序就通过这个fd找到VFS中的file结构体,再进一步找到file结构体中的file方法集,从而找到字符设备的函数接口了。
0 0
- 应用层到驱动层
- 驱动层主动发数据到应用层
- 从应用层的mmap到驱动层的mmap
- 从驱动层到应用层打通Android系统通路
- 应用调用驱动层
- Android应用层到Framework到HAL再到驱动层的整个流程分析
- 应用层 ---> framwork层JNI ---> 驱动c
- 驱动层和应用层进行通信
- 应用层与驱动层通信DeviceIoControl
- Android"重力加速度传感器"从驱动到应用层全程分析
- Android"重力加速度传感器"从驱动到应用层全程分析
- Android 从驱动到应用层添加代码流程
- Android"重力加速度传感器"从驱动到应用层全程分析
- Android 从驱动到应用层添加代码流程
- MTK sensorServer层到HAL层、驱动层解析
- Android开发之应用层到驱动层的接口实现(一)
- Android开发之应用层到驱动层的接口实现(二)
- linux驱动层到应用层的重要接口sys文件系统---/sys目录详解
- kali
- 哈尔滨理工大学软件学院ACM程序设计全国邀请赛(网络同步赛)
- Maven开发常见问题——($M2_HOME配置报错)
- Android studio 代码自动补全功能?
- JAVA设计模式之原型模式
- 应用层到驱动层
- Object类中的8种基本方法
- 数学常用公式总结
- 高精度乘法模
- UiAutomator2
- 【J2SE基础篇】——String和StringBuffer
- 横竖屏切换——安卓开发员必踩的坑
- Linux基础—su和sudo
- Flume