进程调度(重点)
进程管理-进程的同步和互斥
互斥:如千军万马过独木桥,独木桥是临界资源(间接制约关系)
同步:速度有差异,在一定情况停下等待(直接制约关系)
PV操作
PV 操作是操作系统提供的具有特定功能的原语
S表示信号量
信号量为负数时还可以表示排队进程数
P(S):S=S-1,如果S>=0申请/锁定资源,s<0进入阻塞进程队列(检查资源是否足够)
V(S):S=S+1,如果S>0释放/解锁资源,S<=0进入阻塞进程队列(检查是否有进程排队)
PV操作是成对存在的,并没有先后顺序,同步和互斥可综合存在
例题:
答案:B
详解:对进程加锁会降低资源利用率,共享资源是共享的不需要使用PV操作
答案:B
答案:CD
详解:Pi进程的临时工作单元相当于是临界资源假设只有1张票,两个人都想买一张,是不能同时进行的,这是一个互斥进程,所以初值为1。又因为PV操作是成对存在的,a是P操作,bc都是V操作,先判断再执行V操作
前趋图与PV操作
前趋图:
ABC完成才能进行D操作
例题:
答案:CBB
答案:CD
死锁问题(分值较少)
死锁是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下棋的现象
死锁四大条件:
互斥、保持和等待、不剥夺、环路等待
死锁处理:
死锁的预防:有序资源分配法、静态资源分配
死锁的避免:银行家算法
死锁的检测与解除
鸵鸟策略(不理睬)
进程管理-死锁问题
产生死锁公式:n(w-1)>m-1,不会产生死锁公式:nw-m<m
m是资源数,w是最大需求,n是进程数
W是一个进程需要的资源数,m是进程数,n是最小资源数
一定要考虑最悲观的情况
例题:
答案:D
根据公式求得D,解决了最悲观的问题就解决了死锁问题
进程资源图
P是进程,R1是资源
表示R1分配资源
表示P申请资源
一个箭头代表一个资源
例题:
答案:D
详解:先考虑资源分配问题,计算剩下的资源数,判断P进程能不能申请到资源,不能申请到就是阻塞节点