[电脑基础知识]os4管程.ppt

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

1 第四章 并发处理 (一) 程序的顺序执行和并发执行 (二) 进程的概念 (三) 进程控制 (四) 进程互斥 (五) 进程同步 (六) 管程机制 (七) 进程通信 (八) 线程的基本概念 (一) 程序的顺序执行和并发执行 用来表示人们思维对象的抽象概念的物理表现叫做数据 数据处理的规则叫做操作 对某一有限数据的集合所施行的、目的在于解决某一问题的一组有限的操作的集合,称为一个计算 一个程序的执行过程就是一个计算 (一) 程序的顺序执行和并发执行(续) 程序的执行有两种方式:顺序执行和并发执行。 顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统; 现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。 一、顺序程序及特点 1. 什么是程序的顺序执行 一个计算的若干操作必须按照严格的先后次序顺序地执行,这类计算过程就是程序的顺序执行过程。 一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这个程序被称为顺序程序。 顺序程序设计是把一个程序设计成一个顺序执行的程序模块,顺序的含义不但指一个程序的内部,也指两个模块之间。 2. 顺序程序的特点 (1) 顺序性 处理机的操作严格按程序所规定的顺序执行。 (2) 封闭性 程序一旦开始执行,其计算结果不受外界因素的影响。 (3) 可再现性 程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关。 3. 顺序程序的优缺点 顺序程序设计的顺序性、封闭性和可再现性给程序的编制、调试带来很大方便,其缺点是计算机系统效率不高。 4. 顺序程序的例子 对用户作业的处理—— 首先输入用户的程序和数据 然后进行计算 最后打印计算结果 即有三个顺序执行的操作—— I : 输入操作 C:计算操作 P: 输出操作 对上例的讨论 (1) 哪些程序段的执行必须是顺序的?为什么? (2) 哪些程序段的执行是可以并行的?为什么? (3)大批作业的执行是否有更高效的方法? 二、并发程序及特点 1. 什么是程序的并发执行 若干个程序段同时在系统中运行,这些程序段的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,则称这几个程序段是并发执行的。 例:三个并发执行的程序段。 1. 什么是程序的并发执行(续) 从宏观上看,一个时间段中几个程序都在同一处理器上,处于运行还未结束的状态。 从微观上看,任一时刻仅有一个程序在处理器上运行。 并发的实质是一个处理器在几个程序之间的多路复用,并发是对有限的物理资源强制行使多用户共享,消除计算机部件之间的互等现象,以提高系统资源利用率。 2. 并发程序的描述 语句 cobegin S1;S2;… ;Sn coend 可以用来表示语句(或程序段)S1,S2,…,Sn可以并发执行。并发执行意味着各个程序段以不可预知的次序运行。 3. 什么是并发程序设计 并发程序设计就是把一个程序设计成若干个可同时执行的程序模块的方法。 并发程序设计的目的是充分发挥硬件的并行性,提高系统效率。硬件能并行工作仅有了提高效率的可能性,硬件并行性的实现需要软件技术去利用和发挥,这种软件技术就是并发程序设计。 并发程序设计是多道程序设计的基础,多道程序的实质就是把并发程序设计引入到系统中。 3. 什么是并发程序设计(续) 并发程序设计的优点是: 对于单处理器系统,可让处理器和各I/O设备同时工作,发挥硬部件的并行能力。 对于多处理器系统,可让各程序在不同处理器物理地并行,加快计算速度。 但是程序的并发也带来了一些新的问题。 4. 并发程序的例子 誊抄——用卡片输入机将一个文本复写到行式打印机。 (1) 循环顺序执行 while (不空) { INPUT; OUTPUT; } 缺点:未能利用卡片输入机与行式打印机的并行操作能力,造成系统效率低。 4. 并发程序的例子(续) (2) 基于一个缓冲区的并发誊抄方案 卡片输入机 ? 缓冲区 ? 行式打印机 输入程序 输出程序 输入程序I: 输出程序O: while (不空) { while (未结束) { INPUT; RECEIVE; SEND; OUTPUT; } } 问题:提高了誊抄效率,但是可能出现结果不正确(可能出现什么错误?请考虑)。 5. 并发程序的特点 (1) 失去程序的封闭性和可再现性 由于共享资源,一个程序的执行受其他程序的控制逻辑的影响。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的封闭性。 失去封闭性 ?失去可再现

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档