- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进程同步和互斥
进程间的相互作用; 进程间的联系;直接作用和间接作用
直接作用:
进程间的相互联系是有意识的安排的,直接作用只发生在相交进程间
间接作用:
进程间要通过某种中介发生联系,是无意识安排的,可发生在相交进程之间,也可发生在无关进程之间;进程的同步(直接作用);进程的互斥(间接作用)
mutual exclusion
由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥
;
临界资源(Critical resource):系统中某些资源一次只允许一个进程使用,这样的资源称为临界资源或互斥资源或共享变量。
临界区(Critical region):把不允许多个并发进程交叉执行的一段程序称为临界区或临界部分。
临界区就是访问公用数据的那段程序。
例如堆栈操作中的get(top)和rel(blk)程序。;贪赢槛诡增沫肆仪拾吠酌蚌主募叁彩锄借枷七破卞续佳顶诸奢丫饵赌岿个进程同步和互斥进程同步和互斥;临界区(互斥区):critical section
一个程序片段的集合,这些程序片段分散在不同的进程中,对某个共享的数据结构(共享资源)进行操作。
在进程中涉及到临界资源的程序段叫临界区。
多个进程的临界区称为相关临界区。
在临界区前面增加一段用于进行检查的代码,称为进入区。
在临界区后面加上一段代码,称为退出区。
进程中除了进入区、临界区及退出区之外的其它部分的代码,称为剩余区。;使用互斥区的原则:;使用互斥区的原则:
前提:任何进程无权停止其它进程的运行
进程之间相对运行速度无硬性规定
进程互斥的解决有两种做法:
由竞争各方平等协商
引入进程管理者,由管理者来协调竞争各方对互斥资源的使用
具体方法:
硬件(当一个进程进入临界区,就屏蔽所有中断,但成本高)
软件(用编程解决,但常常忙等待 );进程互斥的软件方法; 设有两个计算进程PA、PB共享内存MS。其中MS分为三个领域,即系统区、进程工作区和数据区。这里数据区被划分大小相等的块,每个块中既可能放有数据,也有可能未放有数据。系统区主要是堆栈S,其中存放那些空数据块的地址。
如图所示:
;;getspace()
{??
int g;???????????? g?stack[top];
?top?top-1;
}
执行getspace就是获取一个空数据
;信号量:semaphore;P、V操作;V操作;P、V操作为原语操作
原语:primitive or atomic action
是由若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性
即原语的执行必须是连续的,在执行过程中不允许被中断
实现:开关中断;信号量的使用:
必须置一次且只能置一次初值
初值不能为负数
只能执行P、V操作;用P、V操作解决进程间互斥问题;三个进程共用两个I/O缓冲区。
解:设用信号量S表示共享资源,S初始值为2 ;例:用信号量及P、V原语实现两个并发进程Pa和Pb互斥。两进程都想进入临界区S。
解:
1)设sem为互斥信号量,表示临界区是否可进入
2)设sem的初始值为1,表示临界区可用
3)描述:
Pa: Pb:
P(sem) P(sem)
S S
V(sem) V(sem)
…… ……
; 例:大学校门处要求来客登记,只有一张登记表,登记表同时只能由一个人使用,用P、V原语描述一个校外人员进入大学的过程。
;有A、B两进程,A进程从卡片机读信息入缓冲区,B进程负责加工读进缓冲区的卡片
解:设信号量S1:缓冲区中有否可供加工的信息,初始值为0;信号量S2:缓冲区是否为空,初始值为1。;
;下列活动属于哪种制约关系;习题;顾客进程 (i =1,2,…,n);应用实例;经典的生产者─消费者问题;经典的生产者─消费者问题;S1初值为1,S2初值为0;祖撩御跨萌残滋伞赚缺咙殿趁现殴诧肺防响伪滁巾哥服袋狼昧愧邵挥额返进程同步和互斥进程同步和互斥;多个缓冲区的生产者和消费者;生产者-消费者问题;
P1 有界缓冲区 Q1
P2
您可能关注的文档
最近下载
- 社会体育学复习资料与题库.pdf VIP
- 高职体育课程教学大纲.docx VIP
- 中国抗菌药物临床合理应用指南专家讲座.pptx VIP
- 最新ISO9001、ISO14001、ISO45001三体系设计部和业务部内审检查记录(带记录).pdf VIP
- 人音版四年级上册音乐全册教学设计教案.pdf
- 浙教版小学一年级上册《劳动》全册教学课件.pptx
- 管理信息系统开发项目式教程 第3版 教学课件 作者 陈承欢单元1 管理信息系统的开发综述.ppt VIP
- 2025年秋季八年级历史上册新教材解读课件(统编版2024).pptx VIP
- 商业运营管理培训.pptx VIP
- 医疗器械生产企业质量控制与成品放行指南2025年培训PPT.pdf
文档评论(0)