Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。
该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下的设备节点,更进一步,可以通知其它的应用程序,将该U盘设备mount到系统中,从而动态的支持该设备。
2. Uevent在kernel中的位置
Uevent的机制是比较简单的,设备模型中任何设备有事件需要上报时,会触发Uevent提供的接口。Uevent模块准备好上报事件的格式后,可以通过两个途径把事件上报到用户空间:一种是通过kmod模块,直接调用用户空间的可执行文件;另一种是通过netlink通信机制,将事件从内核空间传递给用户空间。
3. Uevent的内部逻辑解析
3.1 Source Code位置
Uevent的代码比较简单,主要涉及kobject.h和kobject_uevent.c两个文件,如下:
include/linux/kobject.h
lib/kobject_uevent.c
3.2 数据结构描述
kobject.h定义了uevent相关的常量和数据结构
kobject_action定义了event的类型
4.uevent是sysfs向用户空间发出的消息。
5.uevent用户空间部分
uevent的用户空间程序有两个,一个是udev,一个是mdev。 udev通过netlink监听uevent消息,它能完成两个功能: 自动加载模块 ;根据uevent消息在dev目录下添加、删除设备节点。
另一个是mdev,mdev在busybox的代码包中能找到,它通过上节提到的uevent_helper函数被调用。
6.其他
kobject代表sysfs中的目录。
ktype代表kobject的类型,主要包含release函数和attr的读写函数。
kset包含了subsystem概念,kset本身也是一个kobject,所以里面包含了一个kobject对象。另外,kset中包含kset_uevent_ops,里面主要定义了三个函数
int (*filter)(struct kset *kset, struct kobject *kobj) const char *(*name)(struct kset *kset, struct kobject *kobj)
int (*uevent)(struct kset *kset, struct kobject *kobj, struct kobj_uevent_env
*env)
这三个函数都与uevent相关。filter用于判断uevent是否要发出去。name用于得到subsystem的名字。uevent用于填充env变量。
English-Chinese Plumbing TermsA
Act:
法规
Administrative Authority:
规范执行单位
Air Break:
空气隔断(排水)。指卫生器具的排水管出口在地面或溢流沿以下,但是与受水器的底部或污水水面之间隔着一段空气。
Air Gap:
空气间隙。1.排水中指排水管出口距离地板面或受水器的溢流沿之间的空气层距离。2.给水中指水嘴出口与水池、卫生器具或其它设备的溢流沿之间的距离。见“Flood Level Rim”条的解释。
Area Drain:
雨水排水口。相当于没有存水弯的地漏。常设在阳台、窗井等处。
Attendant Vent Stack:
辅助通气立管。
B
Backflow Preventer:
回流防止器。
Backflow:
回流
Backpressure Backflow:
反压回流。
Back-Siphonage:
反虹吸。
Backwater Valve:
回流防止阀(用于排水管道)。
Battery Venting:
组合通气。
Bedpan Hopper:
同Clinic Sink。
Branch Interval:
排水支管层距。相当于一层楼的高度,但小于2.4 m不算作一层。
Branch Vent:
通气支管。
Building Classification:
建筑物类别。建筑给水排水中按居住类型来划分建筑物,作为系统设计的依据。
Building Drain:
室内底层排水管道。
Building Sewer:
室外排水管道。
Building Subdrain:
地下室排水管道。泛指不能用重力流排出的排水管道。
Building Trap:
建筑物水封。用来隔断室内和室外排水管道中的空气,使其不相互流通。
C
Circuit Vent:
循环通气管(若干卫生器具公用的通气管接到其他通气立管上)。
Clinic Sink:
病房便盆污水池。
Code:
规范。
Combination Fixture:
组合式卫生器具。如三联洗涤池,以及洗涤池和洗衣槽的组合,等等。
Combination Waste and Vent System:
污水与通气管联合系统。指污水管管径放大后兼作通气管使用的系统。
Common Vent:
共用通气管。
Conductor:
室内雨水立管。室外雨水立管(即落水管)称Leader。有时室内雨水立管也称Leader。应结合上下文判断。
Continuous Vent:
连续通气管。指排水管上方一段用作通气管的管道。
Continuous Waste:
连续污水管。共用一个存水弯的几条污水管。
Critical Level:
临界高度。在防止回流污染中指丛卫生器具的溢流沿到真空破坏器等回流防止器的垂直距离。一般由生产厂家根据试验确定具体数值。
Cross Connection:
交叉连接。指饮用水管道与非饮用水或污水管道连接或误接有可能引起饮用水被污染。
Crown Weir:
存水弯堰口。同trap weir。
D
Dead End:
死水端。指污水管或通气管因管堵离得太远或其它原因形成死水区,且死水管段的长度大于0.6m的部分。
Developed Length:
展开长度。即管道沿中心线计算得出的长度。
Downspout:
落水管;室外雨水立管(同Leader)。
Drainage Fixture Unit:
卫生器具排水当量(D.F.U.)。
Drinking Water:
饮用水。同Potable water.
Dry Venting:
干式通气。
E
Effective Opening:
(给水管道给水点的)最小横断面积。
Equivalent Length:
当量长度。即管件的局部水头损失相当于引起相同摩擦损失的直线管段长度。
F
Fixture Branch, Drainage:
卫生器具排水支管。
Fixture Branch, Supply:
卫生器具给水支管。
Fixture Drain:
卫生器具排水管。指从存水弯到共有排水管或排水支管之间的管段。
Fixture Reventing:
卫生器具重通气(见第八章第二节)。
Fixture Unit:
卫生器具当量。
Flood Level Rim:
溢流沿。卫生器具或水池的溢流沿是指池子本身的边沿,而不是从溢流管或溢流口算起。这是考虑到溢流管或溢流口有堵塞的可能。
Flood Level:
溢流沿。同Flood Level Rim
Flooded:
发生溢流;水或污水泛滥。
Flooding Rim:
溢流沿。同Flood Level Rim:
Floor Drain:
地漏。
Floor Sink:
池式地漏(常用于厨房等的间接排水)。
Flush Valve:
水箱冲洗阀。
Flushometer Tank:
计量冲洗水箱。
Flushometer Valve:
计量冲洗阀。
G
Grade:
1)管道坡度;管道落差。2)室外地面。
Grease Interceptor:
截脂池。
Grease Trap:
截脂池。
H
Horizontal Pipe:
水平管。泛指与水平面夹角小于45°的管道。
House Trap:
建筑物水封。同Building Trap。
I
Indirect Waste Pipe:
间接排水管。
Individual Vent:
单独通气管
Interceptor:
截留池。
J, K, L
Leader:
落水管(同downspout)。
Loop Vent:
环形通气管(若干卫生器具公用的通气管接到本身排水立管上部的立管通气管上)。
M
Mop Sink:
拖布池。通常置于地面上。
N
Neutralization Tank:
中和池。
O
Offset:
乙字管。(立管)错位。 通常指立管通过弯头,经水平管再到另一个位置继续下行或上行。
P
Plumbing Appliance:
建筑给水排水设备(一般需要供电、供热,或需要自动或手动控制。如洗碗机、加热器、废食物粉碎机、水质软化器等)。
Plumbing Appurtenance:
建筑给水排水附件(一般不需要外加能源和控制系统。如过滤器、截油池、水锤消除器等)。
Plumbing Fixture:
卫生器具。
Plumbing System:
建筑给水排水系统。
Plumbing:
建筑给水排水(包括室内和建筑物周围的给水排水,通常不包括消防。建筑给水排水工程设计还包括煤气供应)。
Potable Water:
饮用水。同Drinking water。
Pressure Balancing Valve:
压力平衡阀(主要用于平衡冷热水的压力以稳定混合水的温度)。
Q,R
Reduced Pressure Principle Backpressure Backflow Preventer:
降压反压回流防止器,同Reduced Pressure Zone Backflow Preventer(具有降压区的回流防止器)。
Relief Vent:
减压通气管。
Rim:
溢流沿(卫生器具不受阻碍的边沿)。
Riser:
立管,尤指给水和供气立管。
Roof Drain:
雨水斗。
Roughing-in:
配管(在卫生器具安装之前先安装管道,包括给水、排水、通气和煤气管道等)。
S
Sand Interceptor:
截砂池。
Septic Tank:
化粪池。
Service Sink:
污水池。通常指高出地面的拖布池。
Sewage Ejector,Pneumatic:
生活污水空气扬水机。
Sewage Pump:
生活污水泵。
Sewage:
生活污水。
Shock Arrestor:
水锤消除器。
Side Vent:
减压通气管。
Stack:
污水(废水、雨水、通气)立管。
Stack Vent:
立管通气管。
Stack Venting:
立管通气。
Standpipe Receptor:
立管受水器(如接纳洗衣机排水的竖管)。
Storm Drain:
室内雨水管。
Storm Sewer:
室外雨水管。
Suds Pressure Venting:
泡沫压力通气。
Sump Pump:
潜水泵。
Sump:
集水井。
Supports:
支架。支撑和固定管道和设备的装置,包括支架、吊架和管夹等。
T
Tempered Water:
调温水。
Thermostatic Mixing Valve:
热敏型混合阀。
Thermostatic Valve:
热敏型混合阀;热敏型调节阀。
Trap Arm:
存水弯臂。
Trap Primer:
存水弯注水器。
Trap Seal:
存水弯水封。
Trap Weir:
存水弯堰口。同Crown Weir。
Trap:
存水弯。
U, V
Vacuum Breaker:
真空破坏器。
Vacuum Relief Valve:
真空安全阀。
Vent Extension:
延续通气管。
Vent Header:
通气集管。
Vent Stack:
通气立管。
Vent Terminal:
通气管出口
Vent Through Roof:
通气管穿屋面。
Vent, Sterilizer:
灭菌器通气管。
Vent:
通气管。
Venting of Building Subdrain System:
地下室排水系统的通气。
Vertical Pipe:
垂直管(指任何与水平面夹角等于或大于45º的管道,与水平管相对应)。
VTR:
通气管穿屋面。
W
Wall Hung Water Closet:
挂墙式大便器。
Water Outlet:
出水口。
Water Service Pipe:
给水进户管。
Water Supply Fixture Unit:
卫生器具给水当量(W.S.F.U.)。
Water Temperature Control Valve:
水温调节阀(包括热敏水温调节阀,压力平衡水温调节阀,以及它们的组合)。
Wet Venting:
湿式通气。
Whirlpool Bathtub:
冲浪浴盆或浴池。
XYZ
Yoke Vent:
轭形通气管。
Yoke Vent:
轭形通气管。
vent+i+duct~ventiduct
读音及词义如下:
〔可以由发音拆分为:ven ti duct三部分记忆拼写,字母“u”经常发音为Λ,还有字母“o”也是如此,如:love,come。u也经常发/u/,这个区别涉及到开音节、闭音节问题,有点深入了,大家就记常见的规律就好,不必深究,毕竟不要求我们做到在不知一个单词音标的情况下正确发出它的读音。〕
图片记忆【提供图片不只可以加深印象,主要是希望大家可以看到图片,脑袋里迅速反应出单词“ventiduct”,不要由中文做转换,形成一种英语思维。】:
“i”无实际意义,主要讲词根“vent”及“duct”。
在讲解“vent”之前,把以前提过的常用的几条 造词规则 巩固一下,因为这里有运用。
1.元音a e i o u y之间可互换。
(y在单词中的发音均为元音,所以归在此类如“why”,“boy”中分别发音为/ai/和/ɪ/)
2.清辅音与其对应的浊辅音可互换
p/b ;t /d ;k /g;f/v ;s/z
3.u/v/w三者可互换。
vent:
来源于“wind”变形,wind~vent,上述三条造词规则都有用到,而且两者发音也比较相似。
vent词根的意思是“口,风口”,也延伸出另一个意思“走,来”。我觉得可以理解为“通道”和“经过通道”,所以是“口,风口;走,来”。
另:vent可单独做单词。
主要有两层意思:表义为具体东西排出的通道;抽象义为:做“情感排泄”的通道,即发泄。
1.名词,表示:〔供气体或液体流通的〕孔口;通风孔;排气道
例:
①a blocked air vent
堵塞的通风口
(由动词加ed变成的形容词,表示两种含义,表示被动或表示完成,这里表示被动。如:fallen leaves落叶【表完成】;)
②a volcanic vent
火山口
2.发泄,宣泄(n&v)
①Children give vent to their anger in various ways.
儿童用各种方法发泄怒气。
②If he’s had a bad day, Paul vents his anger on the family .
要是哪天过得不顺心,保罗就会在家人身上出气。—有搭配 vent sth on sb
③I could hear mum venting her frustration by banging the pots noisily.
我听见妈妈在大声摔锅砸盆,发泄怨气
有搭配— vent sth by doing sth
vent词根单词拓展:
*venture:
主要表示“n.风险,v.冒险做,投机”,我不太懂这怎么由词根解释的。不过我到想到了雷军说的“站在风口上的猪”,他的意思是只要借着互联网的发展潮流,“猪也会飞”,华为老大任正非表示,不要相信风口上的猪,迟早会掉下来的。所以,是有风险的。希望借着这个故事大家能深刻记住这个意思。
*convention:
由词义,易知可以将词根“vent”理解为“来”,con都知道有“共同”或“强调”的意思。这里取“共同”更恰当,表示“大家一起来”,来干嘛呢?大家就这样想吧—来开会和制定共同的规则。前两个意思就懂了。“习俗,惯例”也很容易理解,就是一种长期的约定俗成的东西。
duct:
duct也写作duc,有“引导,传导,带来”的意思。讲完这个,ventiduct就很容易理解为什么叫“通风管”了,可以将“duct”解释为“传导”
首先明白,前缀in可表示:否定;向内;强调 三种意思。再联系duc/duct“引导,传导,带来”来理解以下三个单词:
A.induct: in表示向内,它主要意思为:吸收……为新成员,征召……入伍。
B.induce: in表示强调,单词意思为:引诱,诱导。
C.introduction: intro表示向内,意思为:引入,介绍。
结:
由单词“ventiduct,通风管”记忆两个词根:
vent 口,风口;走,来
duc/duct 引导,传导,带来
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)