同步老师课程os2013.pptx

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

Chapter2

ProcessesandThreads

2.3InterprocessCommunicationThreeissuesaboutIPC(InterProcessCommunication)Howoneprocesscanpassinformationtoanother?Topropersequencingwhendependenciesarepresent.(同步)Tomakesuretwoormoreprocessesdonotgetintoeachother’swaywhenengagingincriticalactivities.(互斥)

2.3InterprocessCommunication两个概念RaceCondition(竞争条件)CriticalRegions(临界区)7种方法MutualExclusionwithBusyWaiting(忙等待的互斥)SleepandWakeup(休眠与唤醒)Semaphores(信号量)Mutexes(互斥锁)Monitors(管程)MessagePassing(消息传递)Barriers(屏障)

2.3.1RaceCondition假脱机目录指向下一个要打印的文件指向目录中下一个空闲槽位同时竞争槽位7?P118Fig2-21

2.3.1RaceConditionSituationsthatwheretwoormoreprocessesarereadingorwritingsomeshareddataandthefinalresultdependsonwhorunsprecisely,arecalledraceconditions(竞争条件).

2.3.2CriticalRegionsHowdoweavoidraceconditions?prohibitmorethanoneprocessfromreadingandwritingtheshareddataatthesametime——mutualexclusion(互斥)Thepartoftheprogramwheresharedmemory(共享内存)isaccessediscalledthecriticalregionorcriticalsection(临界区).

2.3.2CriticalRegionsConditionsrequiredtoavoidraceconditionNotwoprocessesmaybesimultaneously(同时)insidetheircriticalregions.(任何两个进程不能同时处于其临界区)NoassumptionsmaybemadeaboutspeedsorthenumberofCPUs.(不应对CPU的速度和数量做任何假设)Noprocessrunningoutsideitscriticalregionmayblockotherprocesses.(临界区外运行的进程不得阻塞其他进程)Noprocessshouldhavetowaitforevertoenteritscriticalregion.(不得使进程无限期等待进入临界区)

2.3.2CriticalRegionsMutualexclusionusingcriticalregionsP120Fig2-22

2.3.3MutualExclusion

withBusyWaitingProposalsforachievingmutualexclusionDisablinginterrupts(屏蔽中断)Lockvariables(锁变量)Strictalternation(严格轮换法)PetersonssolutionTheTSLinstruction

2.3.3MutualExclusion

withBusyWaitingDisablingInterrupts(屏蔽中断)每个进程在刚刚进入临界区后立即屏蔽所有中断,并在就要离开之前再打开中断。屏蔽中断对于操作系统本身是一项很有用的技术,但对于用户进程则不是一种合适的通用互斥机制。LockVariables(锁变量)设想有一个共享锁变量,0表示临界区内没有进程,1表示临界区内有进程。锁变量初值为0。缺陷:会出现两个进程同时进入临界区的情形。

Str

文档评论(0)

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

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

1亿VIP精品文档

相关文档