一文了解在AP_EM上的騷操作
最近大家都對(duì)AP興趣很大,也不知CP大家玩轉(zhuǎn)了木有,反正咱也不知道咱也不敢問,這次樓主就扯下AP中的狀態(tài)管理SM和執(zhí)行管理EM部分。
言歸正傳:AP的應(yīng)用,在通過工具配置后,會(huì)生成可供APP開發(fā)使用的代碼和JSON的Manifest配置信息文件,經(jīng)編譯后APP會(huì)生成可執(zhí)行文件BIN。
EM作為執(zhí)行管理,其會(huì)負(fù)責(zé)讀取APP的Manifest文件,獲取APP的配置信息,不同的 APP在 Manifest 文件中被關(guān)聯(lián)到不同的系統(tǒng)狀態(tài) (Machine State) 中,SM是狀態(tài)管理,通過改變進(jìn)程所屬的功能組狀態(tài)可對(duì)進(jìn)程進(jìn)行啟動(dòng)和停止,兩者之間的關(guān)系如下:
首先,SM和EM其實(shí)從本質(zhì)上看都屬于AP的一個(gè)進(jìn)程,在AP中每個(gè)進(jìn)程的生命周期如下:
EM是AP第一個(gè)啟動(dòng)的進(jìn)程,EM啟動(dòng)就緒后,EM將把MachineState的狀態(tài)由OFF切換到Startup狀態(tài)。
EM啟動(dòng)起來后會(huì)將SM的進(jìn)程啟動(dòng)起來,SM可通過ExecutionClient::ReportExecutionState向EM報(bào)告此時(shí)自己進(jìn)程的狀態(tài)(每個(gè)進(jìn)程都可通過該API向EM報(bào)告狀態(tài))。
SM正常啟動(dòng)運(yùn)行起來后,就可通過StateClient::SetState函數(shù)對(duì)某個(gè)功能簇的工作狀態(tài)進(jìn)行控制,從而對(duì)隸屬于相應(yīng)功能簇的進(jìn)程進(jìn)行統(tǒng)一管理。
這里要介紹下功能簇的概念,功能簇可以理解為進(jìn)程的集合,每個(gè)功能簇有自己的狀態(tài)和過程,成為功能組Function Group States,功能組的最小單位就是一個(gè)進(jìn)程,一個(gè)功能組可以配置一組進(jìn)程,當(dāng)SM請(qǐng)求相應(yīng)功能組進(jìn)入到對(duì)應(yīng)狀態(tài)時(shí),配置在該狀態(tài)下的進(jìn)程都會(huì)被啟動(dòng),下面就是個(gè)小示例:
其中,Machine State、Function Group1 和 Function Group2 為不同的功能組,A~F 代表不同的進(jìn)程,為了簡(jiǎn)化,每個(gè)進(jìn)程只有Idle、Running、Terminated三個(gè)進(jìn)程狀態(tài)。
進(jìn)程 A 依賴于 Machinestate功能組的的 Startup 狀態(tài), EM 在啟動(dòng)后會(huì)Machine state 設(shè)置為 Startup狀態(tài),因此,EM 啟動(dòng)后將直接啟動(dòng)進(jìn)程 A;而進(jìn)程 A 為自終止進(jìn)程,將在運(yùn)行一次后自動(dòng)終止。
進(jìn)程 B 依賴于 Machinestate功能組的 Startup 和 Running 狀態(tài),同時(shí)依賴于進(jìn)程 A 的終止?fàn)顟B(tài),因此,進(jìn)程 B 將在進(jìn)程 A 終止后啟動(dòng),而在 machine state 離開 Running 時(shí)終止。
進(jìn)程 C 僅依賴于 Machinestate 的Running 狀態(tài),在 Machine state 進(jìn)入 Runing 時(shí)啟動(dòng),在離開Running 時(shí)終止。
進(jìn)程 D 僅依賴于 FunctionGroup1 的 FG1:Running 狀態(tài)。
進(jìn)程 E 依賴于FG1:Running 和 FG2:Running 狀態(tài)。
進(jìn)程 F 依賴于FG2:Running 和 FG2:Fallback 狀態(tài)
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
即日-11.30免費(fèi)預(yù)約申請(qǐng)>>> 燧石技術(shù)-紅外熱成像系列產(chǎn)品試用活動(dòng)
-
11月20日火熱報(bào)名中>>> 2024 智能家居出海論壇
-
11月22日立即報(bào)名>> 【線上&線下同步會(huì)議】領(lǐng)英 躍遷向新 年度管理者峰會(huì)
-
11月29日立即預(yù)約>> 【上海線下】設(shè)計(jì),易如反掌—Creo 11發(fā)布巡展
-
11月30日立即試用>> 【有獎(jiǎng)試用】愛德克IDEC-九大王牌安全產(chǎn)品
-
即日-12.26火熱報(bào)名中>> OFweek2024中國(guó)智造CIO在線峰會(huì)
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市