- 1、本文档共144页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统原理4章进程同步与进程通信
《计算机操作系统》- 第4章 操作系统原理Operating System Principles 四川大学计算机学院 段 磊 leiduan@ 2014 Spring 第4章 进程同步与进程通信 进程同步使得进程之间能够相互协作和有序使用资源。 进程通信是进程之间数据的相互交换和信息的相互传递。 本章目录 4.1 进程并发 4.2 临界区管理 4.3 信号量机制 4.4 用信号量解决经典进程同步问题 4.5 管程 4.6 进程通信 4.7 线程的同步和通信 4.1 进 程 并 发 并发是操作系统的基本特征 进程并发使得程序执行的特点发生了变化 4.1.1 程序的顺序执行 程序的顺序性包括 程序的内部顺序性 程序的外部顺序性 4.1 进 程 并 发 并发是操作系统的基本特征 进程并发使得程序执行的特点发生了变化 4.1.1 程序的顺序执行 程序的顺序性包括 程序的内部顺序性 程序的外部顺序性 4.1.1 程序的顺序执行 程序的内部顺序性 一个程序的操作代码在计算机处理器上按照顺序执行,一个代码结束后,后一个代码才能开始。 程序的外部顺序性 如果一项任务由多个程序模块组成,程序模块的运行也需要按照调用顺序执行,即程序模块之间的顺序性。 程序顺序执行具有的特点 顺序性 每个操作必须在上一个操作完成后才能开始;一个程序模块执行完成后另一个程序模块才能开始。 封闭性 程序运行独占系统全部资源,程序执行的结果除初始条件外,由程序本身决定,不会受到任何其它程序和外界因素的干扰。 再现性 针对相同的数据集合,程序执行的结果总是相同的。中断对程序执行的最终结果没有影响。程序执行的结果是可再现的。 程序顺序执行的不足 限制了多个程序模块的并发执行。 在多道程序并发执行环境下,处理器的利用率低,系统性能差。 传统的程序顺序执行在多道程序环境下已不适合。 4.1.2 进程的并发性 在多道程序环境下,程序是按照多个进程并发执行的。 进程的并发性是指一组进程执行在时间点上交替,在时间段上重叠。 进程的并发性 进程并发环境下,一个输入进程还没有完成,另一个计算进程已经开始;或者一个计算进程还没有完成,另一个输出进程已经开始。程序的外部顺序性不再存在。 并发进程之间可能是交互的,相关的。可能在同一时间段内,多个进程执行相同的软件代码,或多个进程共享某些变量,或多个进程请求同一硬件资源,一个进程的执行可能影响到其他进程的执行结果,并发进程之间具有制约关系。 进程并发性举例 例如,两个计数程序A、B,都为: N = N + 1; print(N); 其中,计数值N是共享变量。 如果N的初始值为0,程序A、B执行的顺序不同,产生的结果也不同。 进程并发性举例(续) A → B 程序A:N = N + 1; print(N); /* 此时打印出的结果为1*/ 程序B:N = N + 1; print(N); /* 此时打印出的结果为2*/ 进程并发性举例(续) B → A 程序B:N = N + 1; print(N); /* 此时打印出的结果为1*/ 程序A:N = N + 1; print(N); /* 此时打印出的结果为2*/ 进程并发性举例(续) A → B → A → B (A、B交替进行) 程序A:N=N+1; 程序B:N=N+1; 程序A:print(N);/* 此时打印出的结果为2*/ 程序B:print(N);/* 此时打印出的结果为2*/ 进程并发执行的特点 间断性 多个并发进程共享处理器,执行过程是断断续续的,呈现间断性。 制约性 并发进程存在相互制约关系,系统必须对运行次序进行协调。 不可再现性 并发进程交替执行,如果存在共享变量等关系,程序执行的先后不同,会使共享变量的值不同。 失去封闭性 一个进程的执行环境与其它进程有关,程序执行失去了封闭性。 进程并发执行充分利用计算机资源,提高了效率。 4.1.3 进程间的竞争和协作 并发执行的进程以各自的速度向前推进,相互之间构成了相互竞争资源和相互协作的关系。 1.进程间的竞争 多道程序并发执行环境下,进程的执行失去了封闭性。并发进程相互共处在一个系统中,一个进程的执行必然会影响到其他进程。 进程间的竞争 共享的资源分为: 互斥共享资源:只有一个进程对资源访问,访问结束并释放后,另外的进程才能访问该资源。 同时共享资源:多个进程可并发访问,不需要一个进程访问结束,其他的进程就可访问的资源。 进程对互斥共享资源的竞争要求OS对进程操作采取同步措施,从时间上和顺序上加以限制,使得进程之间相互制约地使用这些资源,保证资源的完整性。 进程间的协作 由于每个进程都以独立地不可知的速度向前推进,需要具有
您可能关注的文档
- 批发市场商铺赁合同.doc
- 承包经营管理工食堂.doc
- 承台肋板施工案.doc
- 扭矩枪控制器能介绍.ppt
- 技术分析与交技巧.ppt
- 技术贸易合同性质国家是如何规定的.docx
- 把群众满意作评价整改成效的根本标准.doc
- 技术标装饰().doc
- 抓标志词判断病.ppt
- 抓住机遇找准入点落实全科医生制度.ppt
- 2024-2025学年辽宁省沈文新高考研究联盟高三上学期12月月度质量监测历史试题(解析版).docx
- 2024-2025学年广西南宁市第二中学 柳铁一中高三上学期12月检测历史试题(解析版).docx
- 2024-2025学年河南省洛阳市强基联盟高一上学期12月月考历史试题(解析版).docx
- 2024-2025学年湖北省市级示范高中智学联盟高三上学期12月月考历史试题.docx
- 2024-2025学年河北省名校联考高三上学期12月月考历史试题.docx
- 2024-2025学年河南省青桐鸣高一第一学期12月大联考历史试题.docx
- 2024-2025学年山东省高一上学期12月选科指导联合考试历史试题(解析版).docx
- 2024-2025学年山西省部分学校高三上学期一轮复习联考(三)历史试题(解析版).docx
- 2024-2025学年江苏省盐城市部分校高三上学期12月联考历史试题.docx
- 2024-2025学年贵州省部分学校高一上学期第一次联考历史试题(解析版).docx
文档评论(0)