PV操作与前趋图题型

简介: PV操作与前趋图题型

练习题1

问:进程A、B、C、D该执行什么PV操作?

答:

进程A——剁肉;V(Sa)   进程B——切葱花;V(Sb)    进程C——切姜粒;V(Sc)

进程D——搅拌肉馅;P(Sa)、P(Sb)、P(Sc)、V(Sd)

进程E——包饺子;P(Sd)

前趋图:是为了描述一个程序的各部分间的依赖关系,或者是一个大的计算的各个子任务间的因果关系的图示。



练习题2

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


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


第一空:

A. P(S1)和P(S2)

B. P(S1)和V(S2)

C. V(S1)和V(S2)

D. V(S1)和P(S2)

第二空:

A. P(S1)、P(S2)和V(S3)、V(S4)

B. P(S1)、P(S2)和P(S3)、P(S4)

C. V(S1)、V(S2)和P(S3)、P(S4)

D. V(S1)、V(S2)和V(S3)、V(S4)

第三空:

A. P(S3)和P(S4)

B. P(S3)和V(S4)

C. V(S3)和V(S4)

D. V(S3)和P(S4)

注意:此题我们可以将信号量S1…S4依次标注在图1的4个箭头上,在用PV操作去思考解题思路。



练习题3

  假设某系统采用非抢占式优先级调度算法,若该系统有两个优先级相同的进程P1和P2,各进程的程序段如下所示,若信号量S1和S2的初值都为0。进程P1和P2并发执行后a、b和c的结果分别为:a=_ (1) _、b= _ (2) _、c= _ (3) _。

P1程序段begin{                                     P2程序段begin{
a:=1;                          b:=2;              
a:=a+1;                          b:=b+1;
V(S1);                           P(S1);
c:=a+5;                          b:=a+b;
P(S2);                           V(S2);
a:=a+c;                          c:=b+c;
}                            }
end                            end

(1) A. 9   B. 12   C. 13   D. 14

(1) A. 5   B. 6     C. 9     D. 10

(1) A. 4   B. 6     C. 12   D. 13

注意:此题着重说明了不考虑优先级,所以我们不能按照常规的PV操作去思考本题。在进程P1阻塞的情况下,当P2去唤醒P1时不生效,P2还是依次执行完毕后再次执行P2。得到的结果如下图所示:

相关文章
|
敏捷开发 测试技术 项目管理
【软件设计师备考 专题 】准备软件设计师资格考试:复习指南和策略
【软件设计师备考 专题 】准备软件设计师资格考试:复习指南和策略
539 0
|
Linux Shell
在Linux中如何一次性运行多个命令?
在Linux中如何一次性运行多个命令?
804 0
|
安全 IDE Java
使用Spring Initailizr功能~
使用Spring Initailizr功能~
528 1
|
2月前
|
存储 BI Shell
Doris基础-架构、数据模型、数据划分
Apache Doris 是一款高性能、实时分析型数据库,基于MPP架构,支持高并发查询与复杂分析。其前身是百度的Palo项目,现为Apache顶级项目。Doris适用于报表分析、数据仓库构建、日志检索等场景,具备存算一体与存算分离两种架构,灵活适应不同业务需求。它提供主键、明细和聚合三种数据模型,便于高效处理更新、存储与统计汇总操作,广泛应用于大数据分析领域。
365 2
|
5月前
|
存储 网络安全 PHP
在阿里云服务器上如何搭建网站,网址怎么建站图文教程详解案例及步骤.
做好一个网站不仅需要我们对站点装修及内容发布,也需要我们学会对网站运营,如进行站长推送,将我们内容快速推送到各大搜索平台,有效的让用户能搜索到我们内容,或者需要在谷歌推广就必须对网站添加SSL证书,这样搜索域名的时候搜索框不会出现<不安全>字符在域名前面,以及运行网站要懂运维,出现BUG时要去及时解决查找原因.自始至终自身要不断学习网络相关知识,遇到问题方能迎刃而解. 本文结束,如还有不懂的同学可联系作者,倾力而为,祝您成功!
1378 73
|
5月前
|
人工智能 算法 IDE
通义灵码:以AI重塑开发者生产力,解锁智能编程新范式
通义灵码是阿里云推出的一款AI智能编程助手,基于通义大模型打造,深度集成于主流IDE。它不仅提供全场景智能代码生成、对话式开发体验和工程化智能重构等功能,还通过百亿级参数大模型底座、企业级环境适配、私有化部署等优势,重新定义人机协作边界。在真实开发场景中,通义灵码显著提升API开发与算法优化效率,助力开发者从机械劳动转向创造性对话,开启人机协同的新时代。
320 9
|
5月前
|
人工智能 自然语言处理 IDE
通义灵码:AI赋能编程,开启智能开发新时代
通义灵码是阿里云推出的一款专为开发者设计的智能编程助手,基于自主研发的大模型打造。它不仅具备代码生成、智能补全、代码优化和实时调试等功能,还通过垂直领域深度训练、多语言全栈支持以及与主流IDE无缝集成,大幅提升开发效率。真实案例显示,通义灵码可显著减少编码时间和错误率,助力开发者专注于业务逻辑。未来,它还将进一步理解业务需求、参与代码评审和跨团队协作,重新定义软件开发范式。立即体验,让AI赋能每一行代码!
414 8
|
Ubuntu Linux C语言
【操作系统原理】—— 信号量与PV操作实现
【操作系统原理】—— 信号量与PV操作实现
582 0
|
存储 前端开发 中间件
『软件工程10』结构化系统分析:数据流图和字典案例分析
该文章通过具体案例分析了在软件工程中如何运用数据流图和数据字典来进行结构化系统分析,帮助明确系统的信息流程和数据定义。
『软件工程10』结构化系统分析:数据流图和字典案例分析
|
JavaScript 前端开发 API
【前端开发】JS同步与异步调用,Vue2基础知识
本文简要介绍了JavaScript中的同步与异步调用以及Vue2的基础知识。 ### JS同步与异步调用 - **同步调用**:代码按顺序执行,每个任务完成后才执行下一个。 - **异步调用**:允许代码并发执行,不必等待前一个任务完成。 - **回调函数**:传统异步模式,如`setTimeout`。 - **Promise**:解决回调地狱问题,链式调用 `.then()`。 - **async/await**:基于Promise,使异步代码看起来像同步代码。 ### Vue2基础知识 - **核心概念**:指令、实例、组件、模板、数据绑定和生命周期钩子。 - **指令**
452 5