架 软考架构师知识库 系统架构设计师 · 课件全文检索
已就绪 127 份课件 1966 页

死锁和线程

第三章-操作系统基础 · 11 页 · 1844 字 录播 讲义

死锁和线程

项目 内容
来源 录播
章节 第三章-操作系统基础
标签 讲义
页数 11
总字数 1844
原始课件 基础录播课/第三章-操作系统基础/死锁和线程.pdf

本文由课件自动整理,页内文字按原始讲义阅读顺序还原;[图] 表示该位置存在图示,

图示内容请对照原始课件查看。


目录


第 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

功不唐捐,玉汝于成!

开

启

新

征

程