进程从产生到消亡的整个过程中都是由操作系统来控制的。操作系统中实现进程控制的功能程序一“ 原语”
原语
-
什么是原语(Primitive)
原语:机器指令构成的一种实现特定功能的小程序,它的运行具有不可分割性。 原语特点: 1. 贴近底层 2. 最重要的 3. 运行过程具有原子性(不可中断) 4. 系统小程序
-
操作系统中的原语类别
1. 进程控制用的原语: 实现进程管理和状态切换
如:进程创建原语、进程撤销原语、阻塞原语、唤醒原语、进程挂起原语、进程激活原语、进程调度原语等。
2. 进程通信用的原语: 用于实现进程之间通信的,如:消息发送原语、消息接收原语等。
3. 资源互斥与同步用的原语: 解决资源互斥访问的,主要有P操作原语和V操作原语。
4. 资源管理用的原语: 主要有请求资源的原语和释放资源的原语。
进程创建原语
-
以下4种事件会导致创建原语的运行:
1. 批作业调度 2. 交互作业提交 3. 系统提供服务 4. 用户程序创建子进程
-
如何进程创建原语Create_Process():
1. 索取一个空白PCB块 2. 填入进程信息 (2)-1 填入进程标识。 (2)-2 PCB (优先级) : 赋予优先级或将JCB(优先级)填入。 (2)-3 PCB (内存地址):请求分配内存或JCB(内存地址)或父进程的内存地址填入。 (2)-4 PCB (资源清单) :请求分配设备或JCB(资源清单)或父进程资源填入。 (2)-5 PCB (家族信息) : 用户名或父进程名。 (2)-6 PCB (现场信息) : 初始状态数据。 (2)-7 PCB (进程状态) : “就绪” 3. 挂入就绪队列。 4. 若需要将程序代码和数据集装入内存,可启动加载程序。
进程撤销原语
-
以下4种事件会导致创建原语的运行:
1.进程自行终止 2.用户或父进程的原因使进程终止 3.运行超时而终止 4.运行出错而终止
-
进程终止原语Destroy(id_name):
1. 根据id_name查找被终止进程的进程控制块PCB 2. 若该进程的状态是“运行”,则置调度标志为TRUE 3. 回收PCB(资源清单)中登记的全部资源 4. 将进程的PCB从所在队列摘下来,等待其它程序来搜集信息 5. 对于该进程的所有子进程Sub,递归调用End_ Process (Sub) ,将子进程终止。 6. 如果调度标志=TRUE,启动进程调度程序。