ICB处理

更新时间:2020-07-29
进入ICB处理后执行以下操作,以恢复被中断的进程的执行:
(a)从ICB得到进程识别码进入ICB前已得到ICB的起始地址,故可从ICB中得到被中断的进程识别码,这是在进程被中断时存入ICB的。进程识别码用来唯一地识别进程,由控制单元逻辑号、PCB号码、递增码组成。控制单元逻辑号是进程所在的控制单元的逻辑识别码,递增码可以区别同一PCB为不同进程先后使用,每分配一次就增1。PCB号码与递增码合在一起,称为进程号码。也就是说,进程识别码由控制单元逻辑号与进程号码组成。
(b)从进程号码可以得到PCB的地址。
(c)PCB的地址存入PCB.PTR中,PCB_PTR总是指向当前所调度的进程的PCB地址。
(d)ICB地址存入ICB_PTRO
(e)将PCB中进程的状态从“中断”改为“运行”。
(f)作业类型置成“进程运行气
(g)JSW中对应的ICB比特复位。
(h)按照ICB中和堆栈区中保存的数据,恢复被中断进程的环境,返回到被中断的进程。
消息调度
进入消息调度后,要根据消息的类型和进程的状态而采取不同的操作:
(a)将消息从链队中取出
            根据JSW中消息队列比特的位置,可找到相应的消息链队,从链队中取出排在队首的消息。如果此链队为空链,则转入差错处理。
(b)队列消息计数器减1
            每个队列有一个计数器,用来统计在各队列中排队的消息的数量。显然,当计数器的值大于零,在JSW中对应的消息队列比特应置位。当计数器减1后如果等于零,JSW中对应的消息队列比特应复位。 -
(c)检查消息缓冲器(MB)中的USE比特并作出不同处理
            存放在MB中的消息的首部有两个比特,称为USE比特。当USE比特等于“00”,表示是实消息〈RealMessage),当USE比特等于“10”,表示是伪消息(DummyMessage)o实消息是相对于伪消息而言,就是通常的消息。什么是伪消息?当一个进程要求分配存储器资源而不能满足时将暂时进入闭锁状态,以后当收回了足够的资源可以分配给这一进程时,就发送一个伪消息,其作用是解除闭锁,恢复进程的执行。采用了伪消息,可以使得处于闭锁状态的进程也通过消息调度的方式而激活。进程管理并不需要将伪消息发送给进程,只要去恢复闭锁状态的进程的执行。因此,对于伪消息的处理方式不同于实消息,而要用USE比特来区别。
窟如果是伪消息,执行以下操作:
一归还消息缓冲器;
—将MB首部目的地中的进程号码写入RUN-JOB;
—将进程号码转换为PCB地址,存入PCB一PTR;
一查明进程状态,如为非闭锁状态,进入差错处理;
一作业类型置成“进程运行”;
一PCB中进程状态从闭锁改为运行;
一返回到进程,在原先未获得资源分配的动作点恢复执行。
(d)如果是实消息,要进一步查明消息的类型。根据不同的消息类型采取不同的操作:
⑴基本消息
            前已述及,基本消息只能由FMM中的管理进程所接收。如果是基本消息,就将MSG_TYPE_FLAG(消息类型标志)置成“基本消息并检查接收消息的管理进程是否已创建。如未创建,应先行创建。覆盖FMM的管理进程应通过覆盖管理(OverlayManager)将FMM调入覆盖存储区后再予创建。如果管理进程原已创建或未创建而予以创建后,将进程识别码写入消息首部的目的地中,转移到JOB.DISPATCH(作业调度)的入口。
(2)直接消息
            如果是直接消息,只要将MSG_TYPE-FLAG置成“直接消息”,即可转入JOB—DISPATCH。
(3)作业调度
            进入作业调度后,要根据进程的不同状态而采取不同的操作:窟从消息首部的目的地中得到进程号码,存入RUN-JOB;将进程号码转换为PCB地址,存入PCB—PTR;检查PCB中进程的状态:
(1)运行状态
            进程不应为运行状态,转入差错处理。
(2)等待状态
•将消息的优先级写入PCB中。
•根据消息级别可得到对应于该级的ICB地址,存入ICB_PTR。
•COUNTER—PROCESS.DISPATCH(进程调度计数器)加
•消息指针存入PCB中。
•将MB与PCB勾连。
•PCB中进程状态改为运行。
•从PCB中保存的数据恢复进程环境。
•作业类型置成进程运行。
•正常执行计数器进行预置。
•返回到进程,•恢复进程的执行。
(3)中断状态
处于中断状态的进程不能接收新的消息,应先从中断处恢复执行。
•将消息返回到原队列之首,相关的消息队列计数器加1JSW中相应比特置位。
•ICB-PTR指向该消息队列的ICB,相当于该被中断的进程的级别提高。
•JSW中相应的ICB比特复位。
•进程状态改为运行。
•作业类型置成进程运行。
•恢复环境,返回到被中断的进程。
(4)闭锁状态
            处于闭锁状态的进程也不能接收新的消息,可将消息置于延迟队列,返回到SNJ程序中检查JSW处,继续扫查JSW。

下一篇

SBC是什么-企业为什么需要SB以及应用场景

通信百科

SBC是什么-企业为什么需要SB以及应用场景

sbc一种NAT穿透的方式。SBC可确保VoIP 安全,又可提供媒体代理服务器的套件。SBC架构于IMS网络之上,可作为IMS网络的SIP和RTSP的 Proxy Server,所有的SIP与RTSP讯息都会透过SBC来处理,SBC更具备N... ...

相关内容

如何防止MacBook在盖子合上时进入睡眠状态

如何防止MacBook在盖子合上时进入睡眠状态

尽管如果您没有将显示器连接到MacBook,则需要第三方应用程序。现在,如果您将......

通信系统集成

2023-06-18

光电图像处理-视频图像处理

光电图像处理-视频图像处理

光电图像处理的优势 光电图像处理,是光电成像技术与数字图像处理技术的......

弱电工程

2023-05-06

什么是光电信息处理技术?

什么是光电信息处理技术?

人类为了扩展感觉器官和思维器官的功能,利用各种传感器及信息处理系......

弱电工程

2023-05-05