4.7 进程同步习题1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.7 进程同步习题1

第4章 进程同步习题 【例】当两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程( )。 A 调度 B 执行 C 同步 D 互斥 【答案】C 【例】信号量被定义为一个整型变量,其初始值是() A 0 B 无任何闲置 C 负整数 D 非负数 【解答】D 【例】信号量被定义为一个整型变量,其初始值是( )。 A 0 B 无任何限制 C 负整数 D 非负数 【答案】D 【例】并发进程间的关系可以是_____的,也可以是有______的 【答案】无关,交往 【例】在用PV操作实现同步时,一定要根据具体的问题来定义_____和调用_____ 【答案】信号量;P操作或V操作 【例】进程的同步和互斥反映了进程间()和()的关系 【解答】直接制约 间接制约 【解析】进程的同步是指异步环境下的并发进程因直接制约而互相发送消息,进行相互合作,相互等待,使得各进程按一定的速度执行的过程 进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约 【例】同步信号量的初值一般为1 【解答】错误 互斥信号量的初值一般为1; 同步信号量的初值应视具体情况而定 【例】生产者和消费者问题是一个既有同步又有互斥的问题。 【答案】对 【例】单道程序系统中程序的执行也需要同步和互斥。 【解答】错 单道程序系统不具有并发性,因此不需要同步和互斥。 【例】由于PV操作描述同步,互斥等问题的能力不足,所以有必要引入其他的通信原语或机制,如Send,Receive或Monitor等() 【分析】整型信号量是进程同步工具。在长期广泛的应用中,信号量机制得到了很大的发展,它是从整型信号量发展,经记录型信号量,发展为”信号量集“机制。但并不是因为PV操作的描述能力不足,进程通信工具来说效率低,同时在实现过程中增加了编程的复杂性,不注意会造成死锁。所以为了更容易用户的实现,引入管程和高级进程通信机制 错,PV操作充分描述同步互斥等问题 【例】为什么说互斥也是一种同步? 【解答】互斥指的是某种资源一次只允许一个进程使用,即你在使用的时候我不能使用;我在使用的时候你不能使用。这就是一种协调,一种步伐上的一致,因此也就是一种同步。 但是,为了求解实际问题,将“同步”和“互斥”加以区别是有好处的,因为两种问题的求解方法是不同的。 【例】进程之间存在哪些相互制约关系?各是什么原因引起的?下列活动分别属于哪些制约关系? 1 若干同学去图书馆借书 2 两队举行篮球比赛 3 流水线生产的各道工序 4 商品生产和消费 【解答】 进程间存在两种相互制约关系:直接制约关系(即同步问题)和间接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待所发生的制约关系,互斥问题是相互无逻辑关系的进程间竞争相同资源所发生的制约关系。 1 属于互斥关系。因为书的个数是有限的,一本书只能借给一个同学。 2 属于互斥关系。篮球只有一个,两队都要争夺 3 属于同步关系。各道工序的开始都依赖前道工序的完成。 4 属于同步关系,商品没有生产出来,消费者无法进行,商品未消费完,生产者也无需进行。 【例】使用多道进程计算Y=F1(X)+F2(X) 【分析】 1 确定并发和顺序操作 F1(X)和F2(X)的计算可以并行处理,可以出现在两个进程中 2 确定互斥或同步 F1(X)+F2(X)必须在F1(X)和F2(X)计算完毕,才能进行加法计算,因此为同步问题 3 同步的操作流程 进程main 创建进程p1,来计算F1(X) (1) 创建进程p2,来计算F2(X) (2) F1(X)计算是否完成?没有,等待 F2(X)计算是否完成?没有,等待 进行加法运算 进程p1 y1=F1(X) 设置F1(X)计算完成标志 (3) 进程p2 y1=F2(X) (4) 设置F2(X)计算完成标志 4 确定信号量的个数和含义 根据上面的同步规则和操作流程确定信号量的个数是2,S1,S2 S1:F1(X)计算是否完成 S2:F2(X)计算是否完成 5 确定信号量的初值 因为开始F1(X),F(X)都没有完成,信号量为: S1=0 S2=0 6 (1)P(S1) (2)P(S2) (3)V(S1) (4)V(S2) 【例】一个buffer,一个生产者,一个消费者,生产者只生产一个东西,消费者只进行一次消费,即:生产者只进行一次putdata操作,消费者只进行一次getdata操

文档评论(0)

awang118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档