进程控制的概念
原语
- 怎么实现进程控制—用原语实现
- 如果不能一气呵成,那么会出现操作系统中的某些关键数据结构信息不统一的情况,这会影响操作系统进行别的管理工作,如下图所示:
- 原语的原子性怎么实现
- 正常情况下,CPU每执行完一条指令都会例行检查是否有中断信号需要处理,如果有,则暂停运行当前这段程序,转而执行相应的中断处理程序
- 进程控制相关的原语
-
创建原语
-
终止原语
-
阻塞和唤醒原语
-
注意:阻塞和唤醒原语必须成对使用,因何事阻塞,就应由何事唤醒
-
进程的切换原语
-
如何理解运行环境信息
-
首先,CPU中会设置很多“寄存器”,用来存放程序运行过程中所需的某些数据,需要注意的是,这些“寄存器”并不是某个进程独有的,而是所有进程公用的,如下图所示:
-
如果当该进程执行完指令3,另一个进程开始上CPU运行,它会覆盖掉这些“寄存器”中的值。解决办法:在进程切换的时候,先在PCB中保存这个进程的运行环境(一些必要的寄存器信息),当原来的进程再次投入运行时,可以通过PCB来恢复它的运行环境