死锁和线程
| 项目 | 内容 |
|---|---|
| 来源 | 录播 |
| 章节 | 第三章-操作系统基础 |
| 标签 | 讲义 |
| 页数 | 11 |
| 总字数 | 1844 |
| 原始课件 | 基础录播课/第三章-操作系统基础/死锁和线程.pdf |
本文由课件自动整理,页内文字按原始讲义阅读顺序还原;
[图]表示该位置存在图示,图示内容请对照原始课件查看。
目录
- 第 1 页 · N E W P L A N
- 第 2 页 · [图]
- 第 3 页 · 进程管理
- 第 4 页 · 进程管理
- 第 5 页 · 进程管理
- 第 6 页 · 进程管理-死锁
- 第 7 页 · 进程管理-死锁
- 第 8 页 · 进程管理
- 第 9 页 · 进程管理
- 第 10 页 · 进程管理-线程
- 第 11 页 · T H E E N D
第 1 页 · N E W P L A N
软考高级架构师
一
段
新
征
程
第 2 页 · [图]
提示:本页以图示为主,下列文本为图中标注文字。
大纲介绍
第 3 页 · 进程管理
[图]
例:进程P1、P2、P3、P4和P5的前
趋图如下图所示:
[图]
若用PV操作控制进程P1、P2、P3、P3、P4和P5并发执行的过程,则需要设置5个信号S1、S2、S3、S4和
S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填(26);c和d处应分别填写(27);e和f处应分别填
写(28)。
26、
A.V(S1)P(S2)和V(S3)
B.P(S1)V(S2)和V(S3)
C.V(S1)V(S2)和V(S3)
D.P(S1)P(S2)和V(S3)
27、
A.P(S2)和P(S4)
B. P(S2)和V(S4)
C. V(S2)和P(S4)
D. V(S2)和V(S4)
28、
A.P(S4)和V(S4)V(S5)
B. V(S5)和P(S4)P(S5)
C.V(S3)和V(S4)V(S5)
D. P(S3)和P(S4)V(P5)
第 4 页 · 进程管理
进程P1、P2、P3、P4、P5和P6的前趋图如下所示,若用PV操作控制这6个进程的同步
与互斥的程序如下,那么程序中的空①和空②处应分别为();空③和空④处应分别为();
空⑤和空⑥处应分别()。
[图]
[图]
A.V(S1)V(S2)和P(S2)
B.P(S1)P(S2)和V(S2)
C.V(S1)V(S2)和P(S1)
D.P(S1)P(S2)和V(S1)
A.V(S3)和V(S5)V(S6)
B.P(S3)和V(S5)V(S6)
C.V(S3)和P(S5)P(S6)
D.P(S3)和P(S5)P(S6)
A.P(S6)和P(S7)V(S8)
B.V(S6)和V(S7)V(S8)
C.P(S6)和P(S7)P(S8)
D.V(S7)和P(S7)P(S8)
第 5 页 · 进程管理
假设某系统采用非抢占式优先级调度算法,若该系统有两个优先级相同的进程P1和P2,各进程的
程序段如下所示,若信号量S1和S2的初值都为0。进程P1和P2并发执行后a、b和c的结果分别为:
a=( ),b=( ),c=( )。
[图]
(50)A.6 B.7
C.10
D.13
(51)A.4 B.6
C.9
D.10
(52)A.4 B.6
C.10
D.13
第 6 页 · 进程管理-死锁
当一个进程在等待永远不可能发生的事件时,就会产生死锁,若系统中有多个进程处于死锁状态,
就会造成系统死锁。
死锁产生的四个必要条件:
•
资源互斥
•
每个进程占有资源并等待其他资源
•
系统不能剥夺进程资源
•
进程资源图是一个环路。
第 7 页 · 进程管理-死锁
死锁产生后,解决措施是打破四大条件,有下列方法:
•
死锁预防:采用某种策略限制并发进程对于资源的请求,破坏死锁产生的四个条件之一,使系
统任何时刻都不满足死锁的条件。
•
死锁避免:一般采用银行家算法来避免,银行家算法,就是提前计算出一条不会死锁的资源分
配方法,才分配资源,否则不分配资源,相当于借贷,考虑对方还得起才借钱,提前考虑好以
后,就可以避免死锁。
•
死锁检测:允许死锁产生,但系统定时运行一个检测死锁的程序,若检测到系统中发生死锁,
则设法加以解除。
•
死锁解除:即死锁发生后的解除方法,如强制剥夺资源,撤销进程等。
死锁计算问题:系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为
n*(R-1)。其不发生死锁的最小资源数为n*(R-1)+1。
第 8 页 · 进程管理
例:某系统中有3个并发进程竞争资源R,每个进程都需要5个R,那么至少有()
A.12 B.13 C.14 D.15
第 9 页 · 进程管理
银行家算法真题:假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为10、5和3。在T0时刻系
统中有P1、P2、P3、P3和P5五个进程,这些进程对资源的最大需求和已分配资源数如下表所示,此时
系统剩余的可用资源数分别为(27)。如果进程按(28)序列执行,那么系统状态是安全的。
A. 1、1和0
B. 1、1和1
C. 2、1和0
D. 2、0和1
A. P1一P2一P4一P5一P3
B. P5一P2一P4一P3一P1
C. P4一P2一P1一P5一P3
D. P5一P1一P4一P2一P3
[图]
第 10 页 · 进程管理-线程
传统的进程有两个属性:
•
可拥有资源的独立单位
•
可独立调度和分配的基本单位
引入线程后,线程是独立调度的最小单位,进程是拥有资源的最小单位,线程可以共享进程的公共
数据、全局变量、代码、文件等资源,但不能共享线程独有的资源,如线程的栈指针等标识数据。
第 11 页 · T H E E N D
功不唐捐,玉汝于成!
开
启
新
征
程