售前电话
135-3656-7657
售前电话 : 135-3656-7657
为获得并发性,基本上有两种方式:进程的并发性和有限状态机的并发性。进程具有动态性和并发性,可以很好地刻划并发系统的特征。进程定义含有一串动作序列,可以并发多个进程。一个进程可以与同一进程定义或其它的进程定义所激活的进程并发执行。某些高级语言支持并发功能,例如CHILL语言。采用高级语言的并发机构获得并发性,会增加系统开销,包括时间开销和存储器开销。特别是对于存在大量并发进程的大型系统而言,开销更大,从而会显著减少处理机的吞吐量和降低存储器的使用效率。
有限状态机本身并不具有固有的并发性,但可以使其呈现并发性。当每个呼叫或每个任务要执行某个FSM的程序时,可以建立数据环境而作为FSM程序的一次激活。数据环境中可包括相应呼叫所带有的信息以及FSM的状态数据。当先前一个呼叫激活在FSM程序中尚未执行完毕时,该FSM可以进入另一个呼叫的激活。于是,FSM程序变成可再入程序,可以同时存在多个激活,从而呈现了并发性。有一些程控交换机就是采用这种方式而不引入进程的概念和机理,例如FETEX-150系统。
但是,采用FSM结构并不意味着不能使用进程的概念,或者说,采用并发进程也并不意味着不能使用FSM结构。也就是FSM程序结构可以使用或不使用进程的概念。S1240系统采用FSM并发进程的方式,而未严格采用CHILL的并发机理,虽然两者的差别并不大。FSM在S1240系统中称为FMM。在FMM上具有以下几种并发性:
1.同一FMM的并发性
不同的呼叫可以在同一个FMM上并发执行,也就是同一个FMM创建了多个进程。这个FMM应该是多进程FMM。这里应该注意区别两种状态:FMM的状态和进程状态。FMM的状态是FSM所具有的有限状态集,例如SIGCFMM的空闲、呼出、拨号等状态,随着呼叫的进展而不断进行状态转移。进程状态是为了便于调度和控制,而将进程本身所划分的状态,例如执行或等待状态,以后还要说明。对应于各个进程的不同呼叫在FMM中所处的状态,可以相同也可以不相同。例如,SIGCFMM创建了5个进程,其中一个呼叫处于SIGC的呼出状态,二个呼叫处于拨号状态,另二个呼叫处于拥塞状态。至于进程本身的状态,显然只能有一个进程处于执行状态,其余进程都处于非执行的各种状态。
2.不同FMM的并发性
在不同的FMM上创建的若干进程呈现了并发性。当然,这不同的FMM可以在同一处理机中,也可以在不同的处理机中。前者是伪并发性,后者是真并发性。
不同的FMM上的并发性又有以下两种情况:
(1)不同呼叫在不同FMM上的并发执行
这种情况易于理解,例如一个呼叫在SIGCFMM创建了一个进程,另一个呼叫在PREFMM创建了一个进程。
(2)同一呼叫在不同FMM上的并发执行
这种情况是由于分层软件所引起,当某一呼叫激活高层呼叫软件而产生一个进程时,在较低层软件中仍存在着该呼叫的进程。例如,一个呼叫在SIGC中创建了一个进程后,在PRE或CACO中又创建了一个进程,这时作为信令接口的SIGC中的进程并不终止而要继续配合工作。SIGC的层次比PRE低。作为同一层次进行呼叫控制的不同的FMM,对同一呼叫而言则不存在并发进程,而是顺序执行。这就是说,当一个呼叫在PRE的进程所执行的任务结束时,将创建CACO的进程而终止PRE的进程。当CACO中的进程的任务结束,呼叫进入接通被叫和通话状态时,CACO中进程终止。
在S1240系统中的FMM也并不都是多进程FMM,还有单进程多设备FMM和单进程FMM。凡是FMM都是FSM结构,但是单进程多设备FMM并不并发多进程,而是只有一个管理进程,采用“多设备”的概念来获得并发性。例如,SLSFMM就是单进程多设备(MonoprocessMuItidevice)FMM,用终端设备号及不同状态来区分不同的激活而获得并发性。至于单进程FMM则用来完成单一的功能,每次激活都是执行到结束,而不呈现并发性。