计算机操作系统第4章进程同步和进程通信.pptVIP

计算机操作系统第4章进程同步和进程通信.ppt

  1. 1、本文档共241页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机操作系统 主讲: 四川大学计算机学院 刘 循 ;第4章 进程同步与进程通信;第4章 进程同步与进程通信;4.1 进 程 并 发;4.1.1 程序的顺序执行;程序顺序执行的特点: 顺序性:一个程序在处理器上的运行是按照顺序进行的,每个操作必须在上一个操作完成后才能开始;由多个程序模块构成的一个程序,一个程序模块执行完成后另一个程序模块才能开始。 封闭性:在程序顺序执行下,运行的程序独占系统全部资源,程序执行的结果除初始条件外,由程序本身决定,不会受到任何其它程序和外界因素的干扰。 再现性:针对相同的数据集合,程序执行的结果总是相同的。在程序执行过程中允许出现中断,但是,中断对程序执行的最终结果没有影响。即,程序执行的结果会重复出现。程序执行的结果是可再现的。 ;程序设计的顺序性、封闭性和再现性表明程序设计与程序执行是一一对应的,这给编制程序和调试程序带来了极大的方便。 程序顺序性,特别是外部顺序性,要求一个程序模块完成后另一个程序模块才能开始,这样,限制了多个程序模块的并发执行。 在多道程序并发执行环境下,如果再按照程序的顺序执行,处理器的利用率低,系统性能差。 传统的程序顺序执行在多道程序环境下已不适合。;4.1.2 进程的并发性;输入进程、计算进程、输出进程之间存在顺序关系:;一个输入进程还没有完成,另一个计算进程已经开始;程序的外部顺序性不再存在。 多个进程并发执行,并发进程之间可能是分别在不同的变量集合上操作。一个进程执行与其它进程的进展没有关系,不会改变另一个并发进程的变量值。 并发进程之间也可能是交互的,相关的。可能在同一时间段内,多个进程执行相同的软件代码,或多个进程共享某些变量,或多个进程请求同一硬件资源,一个进程的执行可能影响到其他进程的执行结果,并发进程之间具有制约关系。;例如,两个计数程序A、B,都为: N=N+1; print(N); 其中,计数值N是共享变量。 如果N的初始值为0: ;(1)如果执行的次序为程序A在前,程序B在后,完成A之后再执行程序B。 程序A:N = N + 1; print(N); /* 此时打印出的结果为1*/ 程序B:N = N + 1; print(N); /* 此时打印出的结果为2*/ 最终程序结果为: 程序A打印出的结果为1,程序B打印出的结果为2。;(2)如果执行的次序为程序B在前,程序A在后,完成B之后再执行程序A。 程序B:N = N + 1; print(N); /* 此时打印出的结果为1*/ 程序A:N = N + 1; print(N); /* 此时打印出的结果为2*/ 最终程序结果为: 程序A打印出的结果为2,程序B打印出的结果为1。;(3)如果程序A、B以另一种方式交替执行,那么 程序A:N=N+1; 程序B:N=N+1; 程序A:print(N); /* 此时打印出的结果为2*/ 程序B:print(N); /* 此时打印出的结果为2*/ 最终程序结果为: 程序A打印出的结果为2,程序B打印出的结果为2。 从上面可以看到,相同的程序由于并发执行的情况不同,最终得到的结果也不同,程序运行出现了不可再现性。;进程并发执行的特点: ? 间断性 ? 制约性 ? 不可再现性 ? 失去封闭性 进程并发执行充分利用了计算机资源,提高了计算机系统的效率。并发程序设计是多道程序设计的基础,是现代程序设计的主流。 ;4.1.3 进程间的竞争和协作 ; 在计算机系统中,共享的资源分为: 互斥共享资源和同时共享资源。 互斥共享资源是指只有一个进程对资源访问,访问结束并释放后,另外的进程才能访问该资源。如:打印机、扫描仪等硬件设备 软件资源有各种数据结构、数据库对象、服务性程序等。这些资源需要进程互斥访问。 同时共享资源是指多个进程可以并发访问,不需要一个进程访问结束,其他的进程就可访问的资源。如磁盘、光盘等外存储设备。这些资源不存在进程的互斥访问问题。 进程对互斥共享资源的竞争要求操作系统对进程操作采取同步措施,从时间上和顺序上加以限制,使得进程之间相互制约地使用这些资源,保证资源的完整性。; 进程对互斥共享资源的竞争要求操作系统对进程操

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档