售前電話
135-3656-7657
售前電話 : 135-3656-7657
現(xiàn)在結(jié)合實(shí)例,比較詳細(xì)地說明進(jìn)程的創(chuàng)建過程。假定一個(gè)呼叫已在PREFMM中創(chuàng)建了進(jìn)程,而且由PREFMM執(zhí)行的任務(wù)已經(jīng)結(jié)束,下一步的呼叫處理應(yīng)用CACOFMM完成。
于是,在PREFMM中對應(yīng)于該呼叫的應(yīng)用進(jìn)程向CACOFMM中的管理進(jìn)程發(fā)送基本消息0215,CACOFMM的管理進(jìn)程通過操作系統(tǒng)的支援后創(chuàng)建一個(gè)新的應(yīng)用進(jìn)程,并向其發(fā)送直接消息8910,新的應(yīng)用進(jìn)程又向PREFMM中的進(jìn)程回送直接消息9612。這一過程示意于圖5.7o與圖5.6比較,PREFMM相當(dāng)于FMMA,CACOFMM相當(dāng)于FMMBo當(dāng)然,PREFMM中該呼叫的進(jìn)程收到9612后,知道CACOFMM中已為該呼叫創(chuàng)建了進(jìn)程,于是可以終止。
對照圖5.8說明如下:
(1)PREFMM發(fā)送基本消息0215。
(2)通過操作系統(tǒng)判定消息路由和調(diào)度,將0215發(fā)送到CACO
FMM的管理進(jìn)程。
(3)處于MSG.WAIT狀態(tài)的管理程序收到0215后恢復(fù)執(zhí)行,并通過原語CREATE-PROCESS(建進(jìn)程)的調(diào)用,在操作系統(tǒng)的支持下創(chuàng)建一個(gè)進(jìn)程。CREATE.PROCESS的功能下面再介紹。
(4)從操作系統(tǒng)轉(zhuǎn)入CACO的應(yīng)用程序,經(jīng)過初始化操作后到達(dá)第一個(gè)消息等待,也就是等待CACO的管理進(jìn)程發(fā)來8910,這是新創(chuàng)建的應(yīng)用進(jìn)程要收到的第一個(gè)消息。…
(5)逋過原語MSG—WAIT的調(diào)用,進(jìn)入操作系統(tǒng)。
(6)FSM進(jìn)入MSG—WAIT后,前已述及,由于要等待消息的到來而可讓出處理機(jī)資源。亦即通過MSG一WAIT的執(zhí)行,操作系統(tǒng)將轉(zhuǎn)去調(diào)度其它進(jìn)程或高級別任務(wù)。但是,新創(chuàng)建進(jìn)程的第一個(gè)MSG—WAIT是例外,操作系統(tǒng)將不去調(diào)度別的任務(wù),而是直接返回到CACOFMM,相當(dāng)于CREATE-PROCESS原語調(diào)用的返回。
(7)CACOFMM的管理進(jìn)程繼續(xù)執(zhí)行,發(fā)送消息8910。發(fā)送消息是通過原語MSG.SEND的調(diào)用而進(jìn)入操作系統(tǒng)。
(8)操作系統(tǒng)將8910判定路由并排入隊(duì)列后返回到CACOFMM的管理進(jìn)程。
(9)CACO的管理進(jìn)程任務(wù)執(zhí)行結(jié)束后又回到MSG_WAITO
(10)由于CACO管理進(jìn)程的MSG.WAIT的原語調(diào)用,進(jìn)入操作系統(tǒng)。此時(shí),操作系統(tǒng)將按調(diào)度策略去調(diào)度高優(yōu)先級任務(wù)的執(zhí)行。
(11)操作系統(tǒng)將8910發(fā)送給CACO中新創(chuàng)建的應(yīng)用進(jìn)程,使恢復(fù)執(zhí)行。
(12)CACO中新創(chuàng)建的進(jìn)程執(zhí)行MSG一SEND,將消息9612發(fā)送給操作系統(tǒng)。
(13)操作系統(tǒng)將9612判定路由并排入隊(duì)列后又返回到CACO的應(yīng)用進(jìn)程。
(14)CACO的應(yīng)用進(jìn)程繼續(xù)執(zhí)行到MSG-WAIT,又進(jìn)入操作系統(tǒng)。此時(shí),將等待下一個(gè)消息的到來而讓出處理機(jī)資源。
(15)操作系統(tǒng)按其調(diào)度策略在某個(gè)時(shí)刻將9612發(fā)送給PREFMM中發(fā)送0215的應(yīng)用進(jìn)程。