欢迎来到天天文库
浏览记录
ID:58783392
大小:247.50 KB
页数:100页
时间:2020-10-03
《操作系统原理 第4章 并发处理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章并发处理主要内容:1.进程的引入2.进程的概念3.进程控制4.进程的相互制约关系5.进程互斥6.信号灯和P、V操作7.进程同步8.进程通信9.UNIX系统的进程管理4.1并发活动——进程的引入4.1.1程序的顺序执行(一)数据、操作对某一有限数据的集合所施行的、目的在于解决某一问题的一组有限的操作的集合,称为一个计算。(二)顺序程序一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这个程序被称为顺序程序。(三)顺序程序的特点1.顺序性:处理机的操作严格按照程序所规定的顺序执行2.封闭
2、性:程序执行的结果不受外界因素的影响,即一个程序执行时所用的变量、指针值、各资源的状态不能被外界改变。3.可再现性:程序执行的结果与它的执行速度无关(即与时间无关),只与初始条件有关。4.1.2程序的并发执行所谓程序的并发执行是指:若干个程序同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序的执行尚未结束,另一个程序的执行已经开始,即使这种重迭是很小的一部分,那么这两个程序是并发执行的。程序的并发执行的表示方法:1.图示方法2.语句方法(荷兰科学家E.W.Dijkstra方法)S0;cobe
3、ginS1;S2;...;Sn;coendSn+1;4.1.3并发执行实例—誉抄(一)一个循环程序的誉抄方案假设f表示输入序列,g表示输出序列。main(){while(f不空){input;/*读入f中的数据;*/output;/*输出读入的数据;*/}}卡片输入机打印机(二)两个并发程序的誉抄方案假设f表示输入序列,g表示输出序列,誉抄过程利用一个缓冲区A。main(){cobeginwhile(f不空){input;/*读入f中的数据;*/send;/*将读入的数据送到A;*/}while(誊
4、抄未完成){receive;/*从A中取的数据;*/output;/*输出取出的数据;*/}coend}fAg三个并发程序的誉抄方案main(){if(f不空){get(s,f);while(誊抄未完成){t=s;/*COPY*/cobeginput(t,g);get(s,f);coend}}}fstg4.1.4与时间有关的错误结论:并发程序如共享某些公共变量时,并发程序执行时会出现与时间有关的错误。如main(){if(f不空){get(s,f);while(誊抄未完成){/*t=s;*//*CO
5、PY*/cobegint=s;/*COPY*/put(t,g);get(s,f);coend}}}4.1.5并发程序的特点(一)失去程序的封闭性和再现性(二)程序与计算不再一一对应(三)程序并发执行的相互制约4.2进程概念4.2.1进程的定义到目前为止,进程有多种定义,如:(1)进程是程序的执行;(2)并行程序称为进程;(3)进程是可以和别的计算并发的计算;(4)进程是一个数据结构及在其上进行操作的程序。这些定义都从不同的侧面描述了进程的特征,都一定的道理,但我们认为下面的定义更全面和更准确:进程是
6、一个具有一定独立功能的程序关于某个数据集合的一次运行活动。此定义包含有如下的含义:(1)进程是一个动态的概念,而程序是一个静态的概念;(2)进程包含了一个数据集合和运行其上的程序;(3)同一程序运行于若干不同的数据集合上时,它将属于若干个不同的进程,或者说,两个不同的进程可包含相同的程序;(4)系统分配资源是以进程为单位的,所以只有进程才可能在不同的时刻处于几种不同的状态,即等待、就绪、运行。(5)从微观上看,进程是轮换地占有处理机而运行的,从宏观上看,进程是并发地运行的。进程和程序是即有联系又有区
7、别的两个概念,它们的区别和关系如下:(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态概念。而进程是程序在处理机上的一次执行过程,它是一动态概念。程序可以作为一种软件资料长期保存,而进程是有一定生命周期的,它能够动态地产生和消亡。即进程可由“创新”而产生,由调度而执行,因得不到资源而暂停,以致最后由“撤消”而消亡。(2)进程是一个能独立运行的单位,能与其它进程并行地活动。(3)进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位。(4)同一程序同时运行于若干不同的数据
8、集合上,它将属于若干个不同的进程。或者说,若干个不同的进程可以包含相同的程序。这句话的意思是:用同一程序对不同的数据先后或同时加以处理,就对应与好几个进程。例如,系统具有一个输入子程序,当它输入不同的作业时就形成了输入进程I1、I2、I3……In。进程的构成进程=PCB+程序+数据4.2.2进程的类型1.系统进程2.用户进程3.系统进程与用户进程的区别:(1)系统进程被分配一个初始的资源集合,这些资源可以独占,也可以最高优先权资格优先使用。用户进程通过系统服务请求的手
此文档下载收益归作者所有