进程管理笔记
资源分配的基本单位:进程;处理机调度的基本单位:线程。
进程从运行状态转为就绪状态可能的原因:时间片用完了。
进程从运行状态变为阻塞状态可能的原因:等待某一事件。
设备的分配不会引起进程的创建。
进程创建的方式:1.系统程序模块统一创建;2.由父进程创建。
判断是不是需要创建进程,看填不填PCB表
只要属于作业的任何部分被调入内存成为进程,则该作业为运行状态。
从操作系统的角度,进程组成成分:1.进程表;2.数据;3.指令代码。
进程是暂时的,程序是永久的,进程是动态的,程序是静态的,进程的组成由代码,数据和进程表,甚至还有堆,程序只有代码和数据,进程可以由程序创建而成,多个进程可以对应一个程序,操作系统中的系统调用进程可以被不同程序调用。
降低进程优先级的合理时机:进程时间片用完
完成IO的进程应该提升其优先级处于就绪队列等待调度的进程一般不会改变其优先级。
不需要信号量就能实现的功能:进程的并发运行。
在多道程序技术系统中,信号量机制是一种有效的实现进程同步与互斥的工具。
进程运行的前趋关系实质是进程的同步关系。
死锁产生的原因:1.资源分配不当;2.进程推进顺序不当。
重点总结
1.进程的状态与转换
注:进程的基本状态包括有以下几种(三状态模型):运行状态(Running),阻塞
状态(Blocked),就绪状态(Ready)。
进程状态的转换:
(1)就绪状态到运行状态:调度程序为就绪状态的进程分配处理机后,进入运行状
态。
(2)运行状态到阻塞状态:正在运行的进程因需要等待某事件而无法运行,让出处
理机。
(3)阻塞状态到就绪状态:进程所等待的事件发生了,进程就从阻塞状态进入就绪
状态。
(4)运行状态到就绪状态:正在运行的进程因时间片用完而被暂停运行;或者在可
抢先式调度方式中,一个优先级高的进程到来后,正在运行的优先级低的进程被强制
撤下处理机,转换为就绪状态。
2.调度的基本准则
注:调度的基本准则包括:
处理机利用率:尽可能让昂贵的处理机处于繁忙中。
吞吐量:单位时间内所完成进程的数量尽量多。
周转时间:从作业提交到作业完成所花费的时间。要让周转时间尽可能地小。
后备时间:是指作业抵达系统后在外存等待进入内存的时间,越小越好。
等待时间:是指在就绪队列中等待调度进入处理机的时间。
响应时间:是指从提交请求到产生第一响应输出的时间。
3.调度方式
注:
(1).不可抢先方式
(2).可抢先方式
(3).进程调度算法比较:先来先服务(FCFS),短作业或短进程优先
(SJF&SPF), 高响应比优先调度(HRRN)算法,高优先级优先调度算法,时间
片轮转调度算法(RR),多级反馈队列调度算法。
4.同步与互斥
注:同步机制应遵循下述四条准则:
(1)空闲则进:当临界区空闲时,进程可以立即进入,以便有效地利用临界资源。
(2)遇忙等待:当已有进程进入其临界区时,其它进程必须等待,以保证互斥。
(3)有限等待:对要求进入的进程,应在有限的时间内使之进入,以免陷入
“死等”。
(4)让权等待:对于等待的进程,它必须立即释放处理机,以避免进程忙等。
5.信号量
注:对信号量S进行P操作,记为P(S),处理过程如下
--S.Q;//表示申请一个资源
//表示没有空闲资源
{
调用进程进入等待队列S.Q;
阻塞调用进程;
}
对信号量S进行V操作,记为V(S),处理过程如下
++S.Q;//表示释放一个资源
//表示有进程处于阻塞状态
{
从等待队列S.Q中取出一个进程P;
进程P进入就绪队列;
}
6.管程
注:经典的同步与互斥问题:生产者-消费者问题,读者-写者问题,哲学家进餐问
题。
7.死锁
注:(1)产生死锁的四个必要条件:互斥,非剥夺,占用并请求,循环等待。
(2)死锁处理策略:忽略死锁、死锁的检测与恢复、死锁的避免和死锁的预防。