动态设备处理
来源:互联网 发布:Php反转二叉树 编辑:程序博客网 时间:2024/06/03 14:20
当我们在学习新的知识的时候,总会需要去学与这个新的知识有关的知识,我有时会想我们会不会因爆炸式的知识增长而搞坏脑子。
当电脑上插入usb的时候电脑右下角就会的提示,我们也可以通过右下角的小图标把usb卸载掉,这是怎么一会事呢?
明明插入的是一个硬件,底层驱动又是如何与各种各样的桌面系统进行交互的呢?这是一件非常与趣的事情,如果把这个搞懂了我们能够尝到很多的知识。
这里总共有五层:
1.kernel
内核里面的硬件驱动发现新设备,并把这种状态标记在sysfs里面。通过netlink把这些事件再传入到udev
2.udev
udev创建设备结点,运行模块处理和其他的一些程序,通过socket把事件传递到HAL守护进程。
3.HAL
HAL获得这些事件后,处理这个设备,然后在它的设备树中创建一个表示对象。并把它知道的一些属性加入到里面。
4.D-BUS
HAL通过D-BUS把这个新的设备告知各个收听者。
5.User session
桌面再通过用户层的api对这些状态进行显示作出处理。
它们之间的层次图:
当然这里只作出了最简单的介绍,每一个地方都有很多的知识需要去了解。也是为下面的驱动阅读有一个铺垫。
- 动态设备处理
- ext4 设备文件处理
- 混杂设备动态次设备号分析
- 混杂设备动态次设备号分析
- 混杂设备动态次设备号分析
- MISC 设备动态次设备号分析
- 动态检测设备拔插
- 设备节点的动态建立
- 设备节点的动态建立
- 优质代码-动态设备号
- 基于UDEV动态设备加载
- 使用mdev动态创建设备
- udev动态申请设备号
- udev实现动态设备命名
- linux动态注册设备号
- Direct3D中设备丢失处理
- Android输入设备处理流程
- 设备注册失败的处理
- js 定义对象发现的问题
- 异或的性质和运算
- Oracle 11g 10g 无法启动Em的解决办法
- 用Unity3d开发Android游戏
- static_cast使用场合
- 动态设备处理
- 从头到尾彻底解析Hash表算法
- js、javascript 上传文件
- 基于stm32固件库的的spi 对NRF905SE无线模块操作的API
- uC/OS之信号量
- Tyvj 1081 最近距离
- windows局域网资源共享 — 网上邻居 和 工作组
- HDU-1233 还是畅道工程
- 非常不错的编程技术教程