本文以高通平台上的android系统为参照展开探讨。
1,uevent是什么呢?
uevent是一种linux设备模型中的一个组成部分。kset中包含的uevent_ops结构体拥有uevent的操作函数。
uevent可以在设备发生变化时主动通知应用层。是对普通先注册设备后注册驱动模式的一种补充。一般用作usb设备的自动驱动加载、电池电量上报等。
2,uevent主动通知应用层的原理是什么?
有两种方式,第一种是设置环境变量后使用call_usermodehelper_setup函数直接调用应用层程序;第二种是通过netlink向应用层发送消息,在应用层的守护进程收到消息后完成相关操作。其中第一种本方式较少使用,以第二种为主。
ps:netlink是一种基于socket的内核空间与用户空间的双向通信机制,十分灵活好用。
3,sys目录下有许多uevent节点,它们是干什么的?
最开始我对uevent的理解感到困惑就
1,uevent是什么呢?
uevent是一种linux设备模型中的一个组成部分。kset中包含的uevent_ops结构体拥有uevent的操作函数。
uevent可以在设备发生变化时主动通知应用层。是对普通先注册设备后注册驱动模式的一种补充。一般用作usb设备的自动驱动加载、电池电量上报等。
2,uevent主动通知应用层的原理是什么?
有两种方式,第一种是设置环境变量后使用call_usermodehelper_setup函数直接调用应用层程序;第二种是通过netlink向应用层发送消息,在应用层的守护进程收到消息后完成相关操作。其中第一种本方式较少使用,以第二种为主。
ps:netlink是一种基于socket的内核空间与用户空间的双向通信机制,十分灵活好用。
3,sys目录下有许多uevent节点,它们是干什么的?
最开始我对uevent的理解感到困惑就