专注SIP通讯产品与方案

进程创建的过程

            现在结合实例,比较详细地说明进程的创建过程。假定一个呼叫已在PREFMM中创建了进程,而且由PREFMM执行的任务已经结束,下一步的呼叫处理应用CACOFMM完成。
PRE要求CACO建立进程
于是,在PREFMM中对应于该呼叫的应用进程向CACOFMM中的管理进程发送基本消息0215,CACOFMM的管理进程通过操作系统的支援后创建一个新的应用进程,并向其发送直接消息8910,新的应用进程又向PREFMM中的进程回送直接消息9612。这一过程示意于图5.7o与图5.6比较,PREFMM相当于FMMA,CACOFMM相当于FMMBo当然,PREFMM中该呼叫的进程收到9612后,知道CACOFMM中已为该呼叫创建了进程,于是可以终止。
进程创建过程
对照图5.8说明如下:
(1) PREFMM发送基本消息0215。
(2) 通过操作系统判定消息路由和调度,将0215发送到CACO
FMM的管理进程。
(3)处于MSG.WAIT状态的管理程序收到0215后恢复执行,并通过原语CREATE-PROCESS(建进程)的调用,在操作系统的支持下创建一个进程。CREATE.PROCESS的功能下面再介绍。
(4) 从操作系统转入CACO的应用程序,经过初始化操作后到达第一个消息等待,也就是等待CACO的管理进程发来8910,这是新创建的应用进程要收到的第一个消息。
(5) 逋过原语MSG—WAIT的调用,进入操作系统。
(6) FSM进入MSG—WAIT后,前已述及,由于要等待消息的到来而可让出处理机资源。亦即通过MSG一WAIT的执行,操作系统将转去调度其它进程或高级别任务。但是,新创建进程的第一个MSG—WAIT是例外,操作系统将不去调度别的任务,而是直接返回到CACOFMM,相当于CREATE-PROCESS原语调用的返回。
(7) CACOFMM的管理进程继续执行,发送消息8910。发送消息是通过原语MSG.SEND的调用而进入操作系统。
(8)操作系统将8910判定路由并排入队列后返回到CACOFMM的管理进程。
(9)CACO的管理进程任务执行结束后又回到MSG_WAITO
(10) 由于CACO管理进程的MSG.WAIT的原语调用,进入操作系统。此时,操作系统将按调度策略去调度高优先级任务的执行。
(11) 操作系统将8910发送给CACO中新创建的应用进程,使恢复执行。
(12) CACO中新创建的进程执行MSG一SEND,将消息9612发送给操作系统。
(13) 操作系统将9612判定路由并排入队列后又返回到CACO的应用进程。
(14) CACO的应用进程继续执行到MSG-WAIT,又进入操作系统。此时,将等待下一个消息的到来而让出处理机资源。
(15) 操作系统按其调度策略在某个时刻将9612发送给PREFMM中发送0215的应用进程。