一 、Vold 簡析
vold進程:管理和控制Android平臺外部存儲設(shè)備,包括SD插撥、掛載、卸載、格式化等;
vold進程接收來自內(nèi)核的外部設(shè)備消息。
二、Vold框架圖如下:
Vold接收來自內(nèi)核的事件,通過netlink機制。
Netlink 是一種特殊的 socket;
Netlink 是一種在內(nèi)核與用戶應(yīng)用間進行雙向數(shù)據(jù)傳輸?shù)姆浅:玫姆绞剑脩魬B(tài)應(yīng)用使用標(biāo)準(zhǔn)的socket API 就可以使用 netlink 提供的強大功能;
Netlink是一種異步通信機制,在內(nèi)核與用戶態(tài)應(yīng)用之間傳遞的消息保存在socket緩存隊列中;
內(nèi)核通過Netlink發(fā)送uEvent格式消息給用戶空間程序;外部設(shè)備發(fā)生變化,Kernel發(fā)送uevent消息。