一、进程控制
进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。
简单理解:进程控制就是要实现进程状态的转换。
原语
用原语实现进程控制。
原语的特点是执行期间不允许中断,只能一气呵成。这种不能被中断的操作是原子操作。
原语采用“关中断 指令”和“开中断指令”实现
关中断指令执行后,是原语代码,如果此时接收到外部中断信号,进程是不会中断的,只有开中断指令执行后,接收到外部中断信号,程序才会中断。
关中断、开中断指令的权限非常大,是只允许在核心态下执行的特权指令。 原语运行在核心态。
进程控制相关原语
进程控制会导致进程状态的转换,无论哪个原语,要做的无非三类事情:
- 更新PCB中的信息(如修改进程状态标志、将运行环境保存到PCB、从PCB恢复运行环境) a.所有的进程控制原语一定都会修改进程状态标志 b.剥夺当前运行进程的CPU使用权必然要保存其运行环境 c.某进程开始运行前必然要恢复其运行环境
- 将PCB插入合适的队列
- 分配/回收资源
进程的创建:
创建原语: