专业软件设计师网站|培训机构|服务商(加客服微信:cnitpm或QQ:800184589进软件设计师学霸群)

软题库 培训课程
当前位置:信管网 >> 软件设计师 >> 备考经验 >> 文章内容
软件设计师考点与习题:前趋图、信号量与PV操作
来源:信管网 2021年07月15日 【所有评论 分享到微信

相关推荐:软件设计师考点总结(知识点汇总)

软件设计师知识点:前趋图、信号量与PV操作

一、前趋图

1. 组成:前趋图是一个有向无循环图,由节点和有向线段组成,节点表示进程或程序段,有向线段表示节点间的前趋关系

2. 表示:两程序段 Pi 和 Pj 的前趋关系表示为 Pi → Pj ,其中 Pi 是Pj 的前趋, Pj 是 Pi 的后继, 含义是 Pi 执行完毕才能由 Pj 执行

二、信号量与PV操作

1. 同步、互斥、临界资源、临界区

(1) 临界资源:各进程采取互斥的方式,实现共享的资源称作临界资源

(2)临界区:每个进程中访问临界资源的那段代码称为临界区,临界区中的临界资源同一时间只能由一个进程(线程)访问

(3)互斥:互斥是进程(线程)之间的间接制约关系。当一个进程(线程)进入临界区使用临界资源时,另一个进程(线程)必须等待。只有当

使用临界资源的进程退出临界区后,这个进程(线程)才会解除阻塞状态

(4)同步:同步是进程(线程)之间的直接的制约关系。相互合作的进程(线程)需要在某些确定点上协调他们的工作,当一个进程(线程)

达到这些点后,除非另一个进程(线程)已经完成某些操作,否则只能等待这些操作结束

2、信号量:信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程,值与相应资源的使用情况有关。

(1)值 S ≥ 0:表示某资源的可用数

(2)值 S < 0:其绝对值表示阻塞队列中等待该资源的进程数

3、P 操作定义:S := S - 1 ,将信号量 S 的值减一

(1)若 S ≥ 0,则执行 P 操作的进程继续执行

(2)若 S < 0,则置该进程为阻塞状态,并将其插入阻塞队列中

4、V 操作定义:S := S + 1,将信号量 S 的值加一

(1)若 S > 0,则执行 V 操作的进程继续执行

(2)若 S ≤ 0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行 V 操作的进程继续执行

练习题:

进程P1、P2、P3、P4和P5的前趋图如下图所示:

若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,则需要设置5个信号S1、S2、S3、S4和S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填(1);c和d处应分别填写(2);e和f处应分别填写(3)。

(1)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)

(2)A.P(S2)和P(S4)

B.P(S2)和V(S4)

C.V(S2)和P(S4)

D.V(S2)和V(S4)

(3)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)

信管网参考答案:C、B、B

查看解析:www.cnitpm.com/st/2533027089.html

相关推荐:

点击查看/下载:软件设计师历年真题汇总

点击查看:软件设计师在线培训课程免费试听课程

免费练习:软件设计师考试题库(模拟试题、章节练习、每日一练)

扫码关注公众号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章