1.进程控制的基本过程
- 进程的创建
(1) 申请空白PCB
(2) 为新进程分配资源
主要是内存资源的处理
(3) 初始化进程控制块
标识符(包括父进程的)、程序计数器指向程序入口地址,就绪态、优先级等信息的填写。
(4) 将新进程插入就绪队列
原语是由若干指令构成的原子操作过程,作为整体实现功能,不可被打断。
- 进程的终止
引起终止的事件:
a.正常结束
b.异常结束
c.外界干预
- 进程的阻塞与唤醒 由进程调用阻塞原语阻塞自己,是主动行为
1、原因:a、请求系统服务的满足情况
b、启动某种需等待(I/O)操作
c、新数据尚未到达
d、执行某功能的进程暂时无新工作可做(如发送数据进程)
2、阻塞过程: 1)将PCB中的状态改为阻塞
2)该PCB加入到阻塞队列中
3)转进程调度,将处理机分配给另一进程
4)进行进程切换,即根据两切换进程的PCB,保护与重新设置处理机状态
3、唤醒过程:1)把阻塞进程从等待该事件的阻塞队列中移出
2)将其PCB中的现行状态改为就绪
3)将PCB插入到就绪队列中
- 进程的挂起和激活
2.进程同步的主要任务:
使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
3.互斥同步
互斥:在操作系统中,当一个进程进入临界区使用临界资源时,另一个进程必须等待,直到占用临界资源的进程退出临界区,我们称进程之间的这种相互制约关系为“互斥”。
同步:多个相互合作的进程,在一些关键点上可能需要互相等待或互相交换信息,这种相互制约关系称为进程同步关系。可理解为“有序”。
4.临界区
每个进程中访问临界资源的那段代码叫临界区。
5.同步机制应遵循的规则
空闲让进:资源使用最基本原则
忙则等待:保证互斥
有限等待:合适时被唤醒防止死等
让权等待:能主动释放CPU防止忙等
6.关中断
进入锁测试前关闭中断,直到完成锁测试并上锁后才能打开中断。进程在临界区执行期间,系统不响应中断,从而不引发调度。
缺点:
滥用风险
关中断时间过长会影响效率,限制CPU交叉执行能力
不适用于多CPU系统