进程控制的基本过程 |
进程的创建 |
进程的终止 |
进程的阻塞与唤醒 |
进程的挂起和激活 |
进程创建过程 | |
(1) 申请空白PCB | |
(2) 为新进程分配资源 | 主要是内存资源的处理 |
(3) 初始化进程控制块 | 标识符(包括父进程的)、程序计数器指向程序入口地址,就绪态、优先级等信息的填写。 |
(4) 将新进程插入就绪队列 | |
原语是由若干指令构成的原子操作过程,作为整体实现功能,不可被打断
阻塞和唤醒过程 |
(1)将PCB中的状态改为阻塞 |
(2)该PCB加入到阻塞队列中 |
(3)转进程调度,将处理机分配给另一进程 |
(4)进行进程切换,即根据两切换进程的PCB,保护与重新设置处理机状态。 |
(1)把阻塞进程从等待该事件的阻塞队列中移出 |
(2)将其PCB中的现行状态改为就绪 |
(3)将PCB插入到就绪队列中。 |
进程同步的主要任务 |
使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。 |
理解同步
互斥:在操作系统中,当一个进程进入临界区使用临界资源时,另一个进程必须等待,直到占用临界资源的进程退出临界区,我们称进程之间的这种相互制约关系为“互斥”。 |
同步:多个相互合作的进程,在一些关键点上可能需要互相等待或互相交换信息,这种相互制约关系称为进程同步关系。可理解为“有序”。 |
临界区 |
每个进程中访问临界资源的那段代码叫临界区。 为了正确同步,对临界区的代码要增加控制 |
进入区:对欲访问的临界资源进行检。若此刻未被访问,设正在访问的标志 |
临界区:访问临界资源的代码 |
退出区:将正在访问的标志恢复为未被访问的标志 |
退出区:将正在访问的标志恢复为未被访问的标志 |
同步机制应循的规则遵循 |
空闲让进 | 资源使用最基本原则 |
忙则等待 | 保证互斥 |
有限等待 | 合适时被唤醒防止死等 |
让权等待 | 能主动释放CPU防止忙等 |