- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 进程的同步和通信(教学大纲)
多道程序系统中,进程是并发执行的。(进程的并发性是指一组进程的执行在时间上是重叠的。也就是说,执行一个进程的第一条指令是在执行另一个进程的最后一条指令之前开始的) 这些并发执行的进程之间存在着不同的相互制约关系,为了协调进程之间的相互制约关系,从而使程序的执行具有可再现性,就需要实现进程之间的同步。 3.1???? 进程同步的概念 进程的同步(Synchronization)是解决进程间协作关系的手段。也就是对多个相关进程在执行次序上的协调。这些进程相互合作,在一些关键点上可能需要相互等待或互通消息。 例如:系统中有两个合作的进程,它们公用一个单缓冲区。这两个进程中,一个是计算进程,完成对数据的计算工作,另一个是打印进程,负责打印计算结果。 当计算进程尚未结束计算时,计算的结果没有送到缓冲区,打印进程不能执行打印操作。 一旦计算机把计算结果送入缓冲区后,就应该给打印进程发送一个信号,打印进程收到该信号后,就可以从缓冲区取出计算结果进行打印。 在打印进程尚未把缓冲区的计算结果打印完之前,计算进程也不能把下次的计算结果送入缓冲区。 打印进程打印完缓冲区中的内容,给计算进程发出一个信号后,计算进程才能将下一次的计算结果再送入缓冲区。计算进程和打印进程是同步的。 操作系统实现进程同步的机制称为同步机制。不同的系统采用不同的同步方法。本章介绍的信号量机制、管程机制 、和进程通信 是几种最常用的同步机制。 在多道程序设计系统中,同一时刻可能有许多进程,这些进程之间存在两种基本关系:竞争关系(资源共享关系)和相互合作关系 1.? 临界资源(Critical Resource) 一次仅允许一个进程使用的资源称为临界资源。如打印机、磁带机等,各进程对这些资源的访问应采取互斥的方式,实现对资源的共享。 2.? 临界区:(Critical Section) ⑴临界区的定义:每个进程中,访问临界资源的那段程序代码称为临界区。 两个交往的并发进程,其中一个进程对另一个进程的影响常常是不可预知的、甚至无法再现。这是因为两个并发进程执行的相对速度不可预测,交往进程的速度不仅受到处理器调度的影响,而且还受到与其交往的并发进程的影响,甚至受到无关的其它资源的影响,所以一个进程的速率通常无法被另一个进程所知。因此,对资源的共享充满了危险,会出现各种与时间有关的错误。大多有两种表现形式,一种是结果不唯一,另一种是永远等待。 例:机票问题 假设一个飞机订票系统有两个终端,分别运行进程T1和T2。该系统的公共数据区中的一些单元Aj(j=1,2…)分别存放某月某日某次航班的余票数,而X1,X2表示进程T1和T2执行时所用的工作单元。程序如下: int Xi; /*进程Ti工作时所用的工作单元*/ Ti( ) /*i=1,2*/ { 按旅客要求找到Aj; Xi = Aj if Xi =1 Xi = Xi -1; Aj = Xi; 输出一张票; else 输出票已售完; } 由于T1和T2是两个可同时运行的并发进程,同在一个计算机系统中运行,共享同一批票源数据,因此可能出现如下所示的运行情况。 T1: X1=Aj; X1=nn (nn0) T2: X2=Aj; X2=nn T2: X2=X2-1; Aj =X2; 输出一张票; Aj=nn-1 T1: X1=X1-1; Aj =X1; 输出一张票; Aj=nn-1 显然此时出现了把同一张票卖给两个人的状况。 与同一变量有关的临界区分散在各个进程的程序段中,而各个进程的执行速度不可预知。如果能保证一个进程在临界区执行时,不让另一个进程进入相关的临界区,即各进程对共享变量访问是互斥的,那么就不会造成与时间有关的错误。 ⑵临界区进入和退出的方法:进入临界区之前要检查临界资源是否正被访问,如果未被访问,该进程可以进入临界区,对临界资源访问,并设置访问标志;如果此时临界资源正在被别的资源访问,则本进程不能进入临界区。 退出临界区之前要加上退出区代码,用于将临界区的访问标志恢复为未访问标志。 ⑶所有的同步机制应该遵循的准则: 空闲让进、忙则等待、有限等待、让权等待 3.? 利用软件方法解决进程互斥问题(略) 4.? 利用硬件方法解决进程互斥问题:实现临界区管理的硬件设施 可以把临界区标志看作一个锁,开始时锁是打开的,在一个进程进入临界区时便把所锁上,以封锁其他进程进入临界区,直到它离开其临界区,再把锁打开允许其他进程进入临界区。 如果希望进入临界区的进程发现锁未打开,它将等待,直到锁被打开。 测试和上锁这两个动作不能
您可能关注的文档
最近下载
- 城镇污水处理厂工艺全套推荐.ppt VIP
- 05J927-1汽车库建筑构造图集.pdf VIP
- 实验室生物安全生物安全实验室操作规范(微生物.pptx VIP
- 2025年秋季开学全体教师大会上,校长讲话:教育从来不靠一个人燃烧,而靠一群人沉下去!.docx
- 中小学校服验收记录单(参考模版).doc VIP
- DLT5418-2009脱硫吸收塔施工及验收规范.pdf VIP
- 2020新译林版高中英语选择性必修四Unit2 Integratedskills课件.pptx VIP
- 医院信息科笔试、面试题(附答案).docx VIP
- 2020译林版新教材高中英语选择性必修四第二单元知识点复习课件.pptx VIP
- 详解《工贸企业重大事故隐患判定标准》2023版.pptx VIP
文档评论(0)