售前電話
135-3656-7657
售前電話 : 135-3656-7657
為獲得并發(fā)性,基本上有兩種方式:進(jìn)程的并發(fā)性和有限狀態(tài)機(jī)的并發(fā)性。進(jìn)程具有動(dòng)態(tài)性和并發(fā)性,可以很好地刻劃并發(fā)系統(tǒng)的特征。進(jìn)程定義含有一串動(dòng)作序列,可以并發(fā)多個(gè)進(jìn)程。一個(gè)進(jìn)程可以與同一進(jìn)程定義或其它的進(jìn)程定義所激活的進(jìn)程并發(fā)執(zhí)行。某些高級(jí)語言支持并發(fā)功能,例如CHILL語言。采用高級(jí)語言的并發(fā)機(jī)構(gòu)獲得并發(fā)性,會(huì)增加系統(tǒng)開銷,包括時(shí)間開銷和存儲(chǔ)器開銷。特別是對于存在大量并發(fā)進(jìn)程的大型系統(tǒng)而言,開銷更大,從而會(huì)顯著減少處理機(jī)的吞吐量和降低存儲(chǔ)器的使用效率。
有限狀態(tài)機(jī)本身并不具有固有的并發(fā)性,但可以使其呈現(xiàn)并發(fā)性。當(dāng)每個(gè)呼叫或每個(gè)任務(wù)要執(zhí)行某個(gè)FSM的程序時(shí),可以建立數(shù)據(jù)環(huán)境而作為FSM程序的一次激活。數(shù)據(jù)環(huán)境中可包括相應(yīng)呼叫所帶有的信息以及FSM的狀態(tài)數(shù)據(jù)。當(dāng)先前一個(gè)呼叫激活在FSM程序中尚未執(zhí)行完畢時(shí),該FSM可以進(jìn)入另一個(gè)呼叫的激活。于是,FSM程序變成可再入程序,可以同時(shí)存在多個(gè)激活,從而呈現(xiàn)了并發(fā)性。有一些程控交換機(jī)就是采用這種方式而不引入進(jìn)程的概念和機(jī)理,例如FETEX-150系統(tǒng)。
但是,采用FSM結(jié)構(gòu)并不意味著不能使用進(jìn)程的概念,或者說,采用并發(fā)進(jìn)程也并不意味著不能使用FSM結(jié)構(gòu)。也就是FSM程序結(jié)構(gòu)可以使用或不使用進(jìn)程的概念。S1240系統(tǒng)采用FSM并發(fā)進(jìn)程的方式,而未嚴(yán)格采用CHILL的并發(fā)機(jī)理,雖然兩者的差別并不大。FSM在S1240系統(tǒng)中稱為FMM。在FMM上具有以下幾種并發(fā)性:
1.同一FMM的并發(fā)性
不同的呼叫可以在同一個(gè)FMM上并發(fā)執(zhí)行,也就是同一個(gè)FMM創(chuàng)建了多個(gè)進(jìn)程。這個(gè)FMM應(yīng)該是多進(jìn)程FMM。這里應(yīng)該注意區(qū)別兩種狀態(tài):FMM的狀態(tài)和進(jìn)程狀態(tài)。FMM的狀態(tài)是FSM所具有的有限狀態(tài)集,例如SIGCFMM的空閑、呼出、撥號(hào)等狀態(tài),隨著呼叫的進(jìn)展而不斷進(jìn)行狀態(tài)轉(zhuǎn)移。進(jìn)程狀態(tài)是為了便于調(diào)度和控制,而將進(jìn)程本身所劃分的狀態(tài),例如執(zhí)行或等待狀態(tài),以后還要說明。對應(yīng)于各個(gè)進(jìn)程的不同呼叫在FMM中所處的狀態(tài),可以相同也可以不相同。例如,SIGCFMM創(chuàng)建了5個(gè)進(jìn)程,其中一個(gè)呼叫處于SIGC的呼出狀態(tài),二個(gè)呼叫處于撥號(hào)狀態(tài),另二個(gè)呼叫處于擁塞狀態(tài)。至于進(jìn)程本身的狀態(tài),顯然只能有一個(gè)進(jìn)程處于執(zhí)行狀態(tài),其余進(jìn)程都處于非執(zhí)行的各種狀態(tài)。
2.不同F(xiàn)MM的并發(fā)性
在不同的FMM上創(chuàng)建的若干進(jìn)程呈現(xiàn)了并發(fā)性。當(dāng)然,這不同的FMM可以在同一處理機(jī)中,也可以在不同的處理機(jī)中。前者是偽并發(fā)性,后者是真并發(fā)性。
不同的FMM上的并發(fā)性又有以下兩種情況:
(1)不同呼叫在不同F(xiàn)MM上的并發(fā)執(zhí)行
這種情況易于理解,例如一個(gè)呼叫在SIGCFMM創(chuàng)建了一個(gè)進(jìn)程,另一個(gè)呼叫在PREFMM創(chuàng)建了一個(gè)進(jìn)程。
(2)同一呼叫在不同F(xiàn)MM上的并發(fā)執(zhí)行
這種情況是由于分層軟件所引起,當(dāng)某一呼叫激活高層呼叫軟件而產(chǎn)生一個(gè)進(jìn)程時(shí),在較低層軟件中仍存在著該呼叫的進(jìn)程。例如,一個(gè)呼叫在SIGC中創(chuàng)建了一個(gè)進(jìn)程后,在PRE或CACO中又創(chuàng)建了一個(gè)進(jìn)程,這時(shí)作為信令接口的SIGC中的進(jìn)程并不終止而要繼續(xù)配合工作。SIGC的層次比PRE低。作為同一層次進(jìn)行呼叫控制的不同的FMM,對同一呼叫而言則不存在并發(fā)進(jìn)程,而是順序執(zhí)行。這就是說,當(dāng)一個(gè)呼叫在PRE的進(jìn)程所執(zhí)行的任務(wù)結(jié)束時(shí),將創(chuàng)建CACO的進(jìn)程而終止PRE的進(jìn)程。當(dāng)CACO中的進(jìn)程的任務(wù)結(jié)束,呼叫進(jìn)入接通被叫和通話狀態(tài)時(shí),CACO中進(jìn)程終止。
在S1240系統(tǒng)中的FMM也并不都是多進(jìn)程FMM,還有單進(jìn)程多設(shè)備FMM和單進(jìn)程FMM。凡是FMM都是FSM結(jié)構(gòu),但是單進(jìn)程多設(shè)備FMM并不并發(fā)多進(jìn)程,而是只有一個(gè)管理進(jìn)程,采用“多設(shè)備”的概念來獲得并發(fā)性。例如,SLSFMM就是單進(jìn)程多設(shè)備(MonoprocessMuItidevice)FMM,用終端設(shè)備號(hào)及不同狀態(tài)來區(qū)分不同的激活而獲得并發(fā)性。至于單進(jìn)程FMM則用來完成單一的功能,每次激活都是執(zhí)行到結(jié)束,而不呈現(xiàn)并發(fā)性。