- 1、本文档共241页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 进程间的竞争和协作; 在计算机系统中,共享的资源分为:
互斥共享资源和同时共享资源。
互斥共享资源是指只有一个进程对资源访问,访问结束并释放后,另外的进程才能访问该资源。如:打印机、扫描仪等硬件设备
软件资源有各种数据结构、数据库对象、服务性程序等。这些资源需要进程互斥访问。
同时共享资源是指多个进程可以并发访问,不需要一个进程访问结束,其他的进程就可访问的资源。如磁盘、光盘等外存储设备。这些资源不存在进程的互斥访问问题。
进程对互斥共享资源的竞争要求操作系统对进程操作采取同步措施,从时间上和顺序上加以限制,使得进程之间相互制约地使用这些资源,保证资源的完整性。; 进程对互斥共享资源的竞争要求操作系统对进程操
您可能关注的文档
最近下载
- 21CS03-3:一体化预制泵站选用与安装(三).docx VIP
- 2025届高考物理考点一轮复习:功能关系 能量守恒定律(解析版).pdf VIP
- 二年级上册语文教案 第七单元.docx VIP
- 快递业务操作规范与流程.pdf VIP
- 用在线乳化技术实现柴油机低温燃烧的研究 the experimental study of online emulsification technology in realizing diesel low- temperature combustion.pdf VIP
- 课桌椅项目实施方案-(范文模板).docx VIP
- 快递服务行业业务查询处理规范.doc VIP
- PDCA循环工作方法培训.pptx VIP
- 快递业务操作规范及投诉处理.doc VIP
- 充电桩采购安装项目售后服务承诺.docx VIP
文档评论(0)