《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
来源:互联网 发布:复活吧我的勇士java 编辑:程序博客网 时间:2024/05/22 05:32
最近在看《深入Linux设备驱动程序机制》,这本书条理清晰,我从中获益良多。以前在学习内核驱动的时候就是知道怎么用,对于内部的原理了解的不是这么深入。且当时的能力有限,想了解深入也不容易。这次正好趁复习驱动原理的机会,把这本书认真学习以下。
在第二章讲解字符设备的时候,个人觉得比较有收获的主要是两个方面的知识:
1、字符设备号的管理原理(char_device_struct)
2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。
对于以上两个主要的知识点,我觉得书上的条理已经很清楚的,很容易看懂,我在这里复述就多余了。我把学到的两个知识点用图的方式总结出来,供大家参考。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1、字符设备号的管理原理
重点在于内核在管理时所依赖的数据结构char_device_struct以及全局的散列表chrdevs。
还有就是要知道内核对于设备号的注册与注销和驱动功能的实现是没有必然的联系的。设备号的管理是一个独立的机制,以避免驱动在使用设备号的时候发生冲突,导致驱动中的file_operation对应错误,进而出现应用层操作错误的设备。因为应用层对设备的操作就是通过设备号对应到具体的file_operation的。
2、字符设备驱动的file_operation中的函数如何与file结构体中的相应结构对应上,并被应用程序调用。
这部分的内容主要是要熟悉open函数的调用流程,驱动中的file_operation结构体就是在open函数中通过设备号与进程相关的file结构体中相应函数进行对应的。在完成了open操作之后,其他的文件操作就可以直接调用驱动file_operation中的函数了。
内核对于char_device_struct结构体的管理方式和设备号的cdev_map是类似的,都是通过主设备号作为哈希表的key来索引。
0 0
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解(写得好)
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
- 字符设备驱动原理图解
- Linux设备驱动--简单字符设备驱动程序
- Linux设备驱动--字符设备驱动程序1
- Linux设备驱动--字符设备驱动程序2
- linux 字符设备驱动程序原理
- 《深入Linux设备驱动程序内核机制》第2章 字符设备驱动程序 V1.2
- Linux字符设备驱动程序开发(1)-使用字符设备驱动
- 浅谈linux驱动之-字符设备驱动程序
- Linux驱动程序开发 004- 字符设备驱动
- Linux驱动程序开发 - 字符设备驱动
- 深入Linux设备驱动程序内核机制
- 深入Linux设备驱动程序内核机制
- LeetCode---18. 4Sum
- 数据结构实验之链表八:Farey序列
- android程序退出当前activity的方法
- 《算法设计与分析》习题解答笔记
- Unsupported major.minor version 51.0
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
- Hibernate深入理解----04关联关系(单向多对1,双向1对多)
- 使用myeclipse添加Spring开发环境
- 20 ViewPager demo5,6:FragmentAdapter 导航数据
- 欢迎使用CSDN-markdown编辑器
- jzoj4788 序列
- 买苹果
- poj 2115 C Looooops
- CXF-01:使用CXF开发Web Service服务端