操作系统原理课件第四章并发处理1并发活动--进程的引入

发布时间:2021-09-16 17:36:30

?

第四章 并发处理

4.1 并发活动--进程的引入
?

操作系统的两大重要特性是并发与共 享,即在系统中(内存)同时存在几 个相互独立的程序,这些程序在系统 中既交叉地运行,又要共享系统中的 资源,这就会引起一系列的问题,包 括:对资源的竞争、运行程序之间的 通信、程序之间的合作与协同等等。

?

要解决这些问题,用程序的概念已 经不能描述其在内存中运行的状态, 必须引入新的概念--进程。

4.1 并发活动--进程的引入
4.1.1 程序的顺序执行
? ?

?

一、概念 一个程序由若干个程序段组成,而这些程 序段的执行必须是顺序的,这种程序执行 的方式就称为程序的顺序执行。 例如:

? ?
?

4.1.1 程序的顺序执行 二、程序顺序执行的特点 1.顺序性 2.封闭性

4.1 并发活动--进程的引入

处理机严格按照程序所规定的顺序执行,即每个 操作必须在下一个操作开始之前结束。 程序一旦开始执行,其计算结果不受外界的影响, 当程序的初始条件给定之后,其后的状态只能由 程序本身确定,即只有本程序才能改变它。

?
?

?
?

3.可再现性
程序执行的结果与初始条件有关,而与执行时间 无关。即只要程序的初始条件相同,它的执行结 果是相同的,不论它在什么时间执行,也不管计 算机的运行速度。

4.1 并发活动--进程的引入
4.1.2 程序的并发执行
? ?

?

? ?

例: 在系统中有 n个作业,每个作业都有三个 处理步骤,输入数据、处理、输出,即 Ii,Ci,Pi (i=1,2,3,...,n)。 这些作业系统中执行时是对时间的偏序, 有些操作必须在其它操作之前执行,这是 有序的,但有些操作是可以同时执行的。 例如: I 1 、 C 1 、 P 1 的执行必须严格按照 I 1 , C 1 , P1的顺序,而P1与I2,C1与I2,I3与P1是可 以同时执行的。

4.1 并发活动--进程的引入
4.1.2 程序的并发执行

? ?

例如: I1、C1、P1的执 行必须严格按照I1, C1,P1的顺序,而 P1与I2,C1与I2,I3 与P1是可以同时执 行的。

4.1 并发活动--进程的引入
4.1.2 程序的并发执行
? ?

程序并发执行 (定义) 若干个程序段同时在系统中运行,这些程序的执 行在时间上是重迭的,一个程序段的执行尚未结 束,另一个程序段的执行已经开始,即使这种重 迭是很小的,也称这几个程序段是并发执行的。

P Q 并发执行区 R

4.1 并发活动--进程的引入
4.1.2 程序的并发执行 程序并发执行的描述 cobegin S1;S2;S3;...;SN coend; Si(i=1,2,3,...,n)表示n个语句(程序段), 这n个语句用cobegin和coend括起来表示这 n个语句是可以并发执行的。co是 concurrent的头两个字符。 这是Dijkstra提出的。

? ?

?
? ?

?

4.1 并发活动--进程的引入
4.1.2 程序的并发执行
? ? ?

?
? ? ? ?

假设有一个程序由 S0~Sn+1个语句, 其中 S 1 ~ S n 语句是并 发执行的,程序如下: S0; cobegin S1;S2;S3;...;SN ; coend Sn+1;

?

?
? ?

?
? ? ? ? ? ?

4.1.3 并发执行实例--誊抄 一、一个循环程序顺序执行的誊抄 算法1: 输入:f 输出:g { while (f 不为空) { input ; output ; } } 由这个程序完成誊抄工作是不会出错的。

4.1 并发活动--进程的引入

4.1 并发活动--进程的引入
? ?

二、两个程序并发执行完成誊抄 设有一台标准输入设备(键盘),和一台标准 输出设备(显示器或打印机),输入程序负责 从标准设备中读取一个字符,送缓冲区中。输 出程序从缓冲区中取数据,送标准设备输出。

4.1.3 并发执行实行--誊抄

4.1 并发活动--进程的引入
? ? ? ?

?
? ? ? ? ? ? ?

二、两个程序并发执行完成誊抄 算法:2 { cobegin while (不为结束符)/* 输入程序段 */ { input; /* 从标准输入设备读入一个数据 */ send; /* 将读入的数据送到bufferf */ } while(buffer不为空) /* 输出程序段 */ { receive; /* 从bufferf中取数据 */ output; /* 送打印机输出 */ } coend }

4.1.3 并发执行实行--誊抄

4.1 并发活动--进程的引入
4.1.3 并发执行实行--誊抄
?
?

?

?

?

这两个程序段并发执行时可能出现如下情况: 1、输出程序运行的速度比输入程序快时,有些输 出会重复; 如输入送入了一个字符“ A ”,输出取出打印 “A”,当输入还未送入新的数据,输出程序已执 行,又取出“A”打印,这样“A”的输出就重复 了,出错。 2、输入程序执行的速度比输出程序快时,有些数 据会丢失; 如输入程序送入一个字符“B”,紧接着(当输 出程序还未取走字符“B”)又送入字符“N”, 这时输出程序取走的是“N”,“B”就丢失了。

4.1 并发活动--进程的引入
4.1.3 并发执行实行--誊抄
?

三、三个并发执行程序的誊抄

? ? ?

get程序输入数据并送到缓冲区s中; copy程序把缓冲区s中的数据复制到缓冲区t中去; put程序从缓冲区t中取出数据打印。

4.1 并发活动--进程的引入
4.1.3 并发执行实行--誊抄
三、三个并发执行程序的誊抄

?

假设有两个缓冲区, 每个缓冲区只存放一 个字符, get 程序负 责从输入序列 f 中读 一个字符,然后,送 到缓冲区 s 中, copy 程序负责将 s 中的字 符复制到 t 中, put 负 责从 t 中提取字符打 印。这个算法是正确 的。

4.1 并发活动--进程的引入
4.1.4 与时间有关的错误

? ?

?
? ? ? ? ?

假定f系列中有记录 f=(R1,R2,...,Rn) g=() 在誊抄完成后: f=() g=(R1,R2,...,Rn) 算法中的: copy≡t=s put ≡ put(t,g)

get ≡ get(s,f)

4.1 并发活动--进程的引入
4.1.4 与时间有关的错误
? ? ? ? ? ?

?
? ?

若程序错写成: ? while( 誊抄未完成)? ? { cobegin ? copy; ? put; ? get; ? coend }
?

初始状态: f=(R1,R2,...,Rn) s=() t=() g=()
首先执行了get(s,f) f=(R1,R2,...,Rn) s=R1,t=(),g=() 假设第一次循环时执 行顺序为 copy 、 put 、 get; f=(R1,R2,...,Rn) s=R2,t=R1,g=(R1)

4.1 并发活动--进程的引入
4.1.4 与时间有关的错误

? ?

?
? ? ? ? ?

然后,第二次循环时,copy,put,get 三个程序段并 发执行,就有六种组合: 1、copy;put;get 导致结果:g=(R1,R2) ? 2、copy;get;put 导致结果:g=(R1,R2) ? 3、put;copy;get 导致结果:g=(R1,R1) ? 4、put;get;copy 导致结果:g=(R1,R1) ? 5、get;copy;put 导致结果:g=(R1,R3) ? 6、get;put;copy 导致结果:g=(R1,R1) ? 这就是与时间有关的错误。

4.1 并发活动--进程的引入
4.1.5 程序并发执行的特点

?
? ?

一、失去了程序的封闭性
如果程序执行的结果是一个与时间无关的 函数,即具有封闭性。 若一个程序的执行可改变另一个程序的变 量,象二个并发程序完成誊抄的例子,程 序执行的结果不仅依赖于程序的初始条件, 还依赖于程序执行时的相对速度,在这种 情况下就失去了程序的封闭性。

?

4.1 并发活动--进程的引入
4.1.5 程序并发执行的特点

?
?

二、程序与计算不再一一对应
在程序顺序执行时,一个程序总是对 应一个具体的计算,但在程序的并发 执行时,可能有多用户共享使用同一 个程序,但处理(计算)的对象却是 不同的,例如,在多用户环境下,可 能同时有多个用户调用 C 语言的编译 程序,这就是典型的一个程序对应多 个用户源程序的情况。

4.1 并发活动--进程的引入
4.1.5 程序并发执行的特点

? ?

三、程序并发执行的相互制约 在多道程序设计的环境下,程序是并发 执行的。即系统中有多道程序在“同时” 执行,这些程序之间要共享系统的资源, 程序之间有合作(通信)的关系。合作与 竞争产生一系列的矛盾,这些矛盾实际上 是一种相互制约,有直接的,也有间接。

?


相关文档

  • 操作系统原理第四章并发处理1并发活动--进程的引入ppt课件
  • 操作系统原理课件第四章并发处理1并发活动--进程的引入共22页
  • 最新2019-操作系统原理课件第四章并发处理1并发活动--进程的引入-PPT课件
  • 2019精选医学操作系统原理课件第四章并发处理1并发活动进程的引入.ppt
  • 操作系统原理并发处理1并发活动进程引入
  • 操作系统原理课件 第四章 并发处理 1 并发活动--进程的引入
  • 操作系统原理课件 第四章 并发处理 2 进程概念 进程控制
  • 操作系统原理课件 第四章 并发处理 4
  • 操作系统原理课件 第四章 并发处理 3
  • 操作系统原理课件 第四章 并发处理 5 进程通信 线程
  • 猜你喜欢

  • 骑马乐趣多
  • 中国民族广东省城镇私有房屋管理规定教学提纲
  • 难忘的教导作文600字
  • 2013年质量测查成绩统计表
  • 人版小学四年级数学(下册)思维导图
  • 第三章 1原核微生物及其引起的疾病 PPT课件
  • 大庆市金亿厨房设备有限公司企业信用报告-天眼查
  • 【精品】教科版小学六年级科学上册《3.8、能量与太阳》教案(2)
  • 高考生物第一轮复*三宝:技巧+策略+心理
  • 没有自由的小鸟_小学作文
  • 六年级下册语文课件-6.唯一的听众 l 西师大版 (共18张PPT)
  • 2019汉语国际教育专业就业方向与就业前景
  • 2015执业药师《药学专业知识一》第七章药效学(一)
  • 《我爱灰太狼》观后感500字作文
  • 福建省漳州市芗城中学八校联考2017-2018学年高考化学模拟试卷 Word版含解析
  • 永安市罗岩木竹制品厂企业信用报告-天眼查
  • 新人教版二年级上册100以内加减法竖式练*题
  • ubuntu系统上安装pytorch1.1.0
  • 2018年优秀范文:解放思想大讨论活动心得体会3-word范文模板 (3页)
  • 【最新2019】张岱《湖心亭看雪》阅读答案-推荐word版 (2页)
  • 最新精品作文:I Like Googlo(我喜欢谷歌)_150字作文
  • 手机酷狗音乐怎么创建酷群?
  • 粲字五行属什么
  • 高中生关于让青春无悔演讲稿
  • (精选ppt资料)中考科学 第40讲 地球与宇宙复*课件
  • 郴州市金星水电开发有限公司五里坳电站企业信用报告-天眼查
  • 湖南太清山宏运生态农业有限公司(企业信用报告)- 天眼查
  • 推荐K12学*陕西省西安市七年级地理上册第三章第四节中国的河流和湖泊第1课时教案中图版
  • 42-浅谈国内科技馆传统科普展品的改进和提高(67-74)
  • 信息安全概述
  • 凤庆县百里长湖旅游开发有限公司企业信息报告-天眼查
  • 小升初考试典型短文阅读训练7.docx
  • 20XX年11月教师入党志愿书模板范文
  • 练声技巧之怎样唱高音
  • 扎实推进文化强国之路在线测试题满分 安徽干部教育在线
  • 最新-部编人教版小学语文二年级上册_第二单元作业练*(直接打印)-word版
  • 好玩的综合实践活动作文
  • MATLAB曲线拟合工具箱在风机实验数据处理上的应用_图文.
  • 青春是生命给我最好的礼物作文
  • 灰姑娘的读后感三年级作文多篇
  • 信息安全技术的计算环境概述
  • 电工与电子技术基础苑尚尊PPT课件
  • 电脑版