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