(1.24)--第2章1操作系统原理.ppt
《(1.24)--第2章1操作系统原理.ppt》由会员分享,可在线阅读,更多相关《(1.24)--第2章1操作系统原理.ppt(194页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 进程的描述与控制进程的描述与控制3本章主要内容本章主要内容进程的基本概念进程的基本概念进程控制进程控制进程同步进程同步经典进程的同步问题经典进程的同步问题进程通信进程通信线程线程程序的顺序执行及其特征程序的顺序执行及其特征前趋图前趋图程序的并发执行及其特征程序的并发执行及其特征进程的特征与状态进程的特征与状态进程控制块进程控制块42.1 2.1 前趋图前趋图3有向有向无循环无循环图图,记记DAG124567结点,可表示一语句、结点,可表示一语句、程序段或进程程序段或进程前趋关系前趋关系初始结点初始结点终止结点终止结点前趋关系前趋关系:P1P2,P2 P5,P5 P7 P1 P3,
2、P3 P5 P1 P4,P4 P6,P6 P7直接前趋直接前趋直接后继直接后继52.1 2.1 前趋图前趋图作用作用描述进程之间执行的前后关系描述进程之间执行的前后关系图论概念图论概念集合表示法集合表示法有向无循环图有向无循环图结点:程序段、进程、语句结点:程序段、进程、语句有向边:偏序、前趋关系有向边:偏序、前趋关系前趋、后继前趋、后继初始结点、终止结点初始结点、终止结点不存在循环不存在循环=(Pi=(Pi,Pj)|Pi must Pj)|Pi must complete before Pj may complete before Pj may startstart,如果,如果(Pi(Pi,
3、Pj)Pj),可写成可写成PiPjPiPj,称,称PiPi是是PjPj的直的直接前趋,而称接前趋,而称PjPj是是PiPi的直接后的直接后继。继。62.1 2.1 前趋图前趋图参考教材参考教材P33P33:图:图2-12-1(a a)、()、(b b)(会会用集合的方式表示出用集合的方式表示出(a)(a)图图对应的前趋关系)对应的前趋关系)72.1.2 2.1.2 程序的顺序执行及其特征程序的顺序执行及其特征顺序执行顺序执行 程序在执行时,必须按某种先后次序逐个执行,只有当程序在执行时,必须按某种先后次序逐个执行,只有当前一个操作执行完后,才能执行后一个操作。前一个操作执行完后,才能执行后一个
4、操作。例:例:S1,S2,S3S1:a:xyS2:b:a5S3:c:b1S1S3S282.1.2 2.1.2 程序的顺序执行及其特征程序的顺序执行及其特征例:假定用例:假定用 I I、C C和和 P P分别表示输入、计算和输出操作。分别表示输入、计算和输出操作。I1C1P1I2C2P2(a)两个程序的)两个程序的前趋图(单道情况)前趋图(单道情况)S1S3S2(b)三个语句表示的三个语句表示的前趋图前趋图a=10;b=a+8;Print(b);S1:S2:S3:程程序序1 1程程序序2 29考虑时间上的关系,可以示例如下。考虑时间上的关系,可以示例如下。t输入:输入:计算:计算:输出:输出:I
5、1C1P1I2C2P2I3C3P3 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10三个程序间顺序执行三个程序间顺序执行t程序程序1:I1C1P1程序程序2:程序程序3:I2C2P2I3C3P39个个t 结束结束2.1.2 2.1.2 程序的顺序执行及其特征程序的顺序执行及其特征10程序顺序执行特征:程序顺序执行特征:n 顺序性;顺序性;处理机的操作严格按照程序所规定的处理机的操作严格按照程序所规定的顺序执行,即每一个操作必须在上一个操作结束之顺序执行,即每一个操作必须在上一个操作结束之后开始。后开始。n 封闭性;封闭性;程序独占资源,只有程序本身可改变这程序独占资源,只有程
6、序本身可改变这些资源;程序执行得到的最终结果由给定的初始条些资源;程序执行得到的最终结果由给定的初始条件决定,件决定,不受外界因素的影响不受外界因素的影响。n 可再现性;可再现性;只要输入的初始条件相同,则无论何只要输入的初始条件相同,则无论何时重复执行该程序都会得到相同的结果。时重复执行该程序都会得到相同的结果。程序顺序执行的特性为程序员检测程序顺序执行的特性为程序员检测和校正程序错误带来很大的方便!和校正程序错误带来很大的方便!2.1.2 2.1.2 程序的顺序执行及其特征程序的顺序执行及其特征112.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征I1I2I3I4C1
7、C2C3C4P1P2P3P4在处理一批作业时,有的程序之间可实现并发执行。在处理一批作业时,有的程序之间可实现并发执行。(P34),有三个程序:输入程序,计算程序和输出程序),有三个程序:输入程序,计算程序和输出程序并发性是增强计算机系统的处理能力和提高资源并发性是增强计算机系统的处理能力和提高资源利用率所采取的一种技术利用率所采取的一种技术122.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征 输入:输入:计算:计算:输出:输出:t0 t1 t2 t3 t4 t5 t6tttI1三个程序并发执行的前趋图三个程序并发执行的前趋图I2I3C1C2C3P1P2P3时间时间:5
8、个个t并发并发并发并发并发并发前趋关系前趋关系执行顺序执行顺序132.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征n 程序内保持程序内保持 IiCiPi IiCiPi 程序逻辑顺序性。程序逻辑顺序性。n 存在存在IiIi+1IiIi+1;CiCi+CiCi+1;PiPi+1;1;PiPi+1;表明表明系统资源竞争系统资源竞争带来带来顺序顺序性前趋关系性前趋关系。n 不同程序之间不同程序之间 Ii+2Ii+2、Ci+1 Ci+1 和和PiPi ,没有前趋关系,说明可以,没有前趋关系,说明可以并发执行并发执行,这是,这是系统的并发性系统的并发性。I1I2I3C1C2C3P1
9、P2P3142.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征S1:a:x2S2:b:Y4S3:c:abS4:d:cb参考教材参考教材P34P34:图:图2-42-4(请画出对应的前趋关系图)(请画出对应的前趋关系图)152.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征间断性间断性失去封闭性失去封闭性不可再现性不可再现性顺序执行的特征:顺序执行的特征:o 顺序性顺序性o 封闭性(资源独占)封闭性(资源独占)o 可再现性(结果的无关性)可再现性(结果的无关性)16n 间断性;程序在并发执行时具有间断性;程序在并发执行时具有执行执行-暂停暂停-执行执行
10、的活动规律的活动规律。2.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征17n 失去封闭性;程序在并发执行时,是多个程序失去封闭性;程序在并发执行时,是多个程序共享系统中的各种资源共享系统中的各种资源,因而这些,因而这些资源的状态将由资源的状态将由多个程序来改变多个程序来改变,致使程序的运行失去了封闭性致使程序的运行失去了封闭性。当处理机资源被其它程序占用时,有条件运行的任当处理机资源被其它程序占用时,有条件运行的任何程序都必须等待。何程序都必须等待。n 不可再现性;程序在并发执行时,不可再现性;程序在并发执行时,由于失去了由于失去了封闭性,也导致失去了可再现性封闭性,也
11、导致失去了可再现性。考察一个例子来。考察一个例子来说明这个问题:说明这个问题:2.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征18举例说明不可再现性举例说明不可再现性例:两个循环程序例:两个循环程序A和和B共享一个变量共享一个变量 N(当前值为当前值为 n)。程序程序A:N=N+1;程序程序B:print(N);N=0;在处理机上执行关于在处理机上执行关于N的的3条指令,由于并条指令,由于并发性,有理由假定发性,有理由假定3个可能的执行序列个可能的执行序列:N=N+1;print(N);N=0;(AB)print(N);N=0;N=N+1;(BA)print(N);N=
12、N+1;N=0;(B,A交替运行交替运行)n1,n1,0,最终,最终N的结果为的结果为 0 n,0,1,最终最终N的结果为的结果为 1 n,n+1,0,最终,最终N的结果为的结果为 0 说明程序在并说明程序在并发执行时,由发执行时,由于失去了封闭于失去了封闭性,其性,其计算结计算结果与并发程序果与并发程序的的执行速度执行速度有有关了,关了,使程序使程序也也失去可再现失去可再现性性。下下一一步步2.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征19 前面例子说明了如下问题:在某些情况下,程序的前面例子说明了如下问题:在某些情况下,程序的并发执行使得执行结果不再具有封闭性和可
13、再现性并发执行使得执行结果不再具有封闭性和可再现性,且可能造成出现错误(,且可能造成出现错误(执行结果受执行速度的影执行结果受执行速度的影响响)。)。为了使在并发执行时不出现错误结果,必须为了使在并发执行时不出现错误结果,必须采取某采取某些措施来制约、控制各并发程序段执行的速度些措施来制约、控制各并发程序段执行的速度。2.1.3 2.1.3 程序中的并发执行及其特征程序中的并发执行及其特征20补充:程序并发执行的条件 19661966年年Bernstein Bernstein 提出提出两相邻语句两相邻语句S1,S2可并发执行的条件:可并发执行的条件:将程序中任一语句将程序中任一语句Si划分为两
14、个变量的集合划分为两个变量的集合R(Si)和和W(Si),分别为分别为 Si Si 的读集和写集。的读集和写集。R(Si)=a1 a2am,aj(j=1,m)是语句是语句Si在执行期间必在执行期间必须对其进行读的变量须对其进行读的变量.W(Si)是语句是语句Si在执行期间必须对其进行修改在执行期间必须对其进行修改的变量。的变量。21如果对于语句如果对于语句S1S1和和S2S2,有:,有:R(S1)W(S2)=R(S1)W(S2)=,即即S1S1读变量不是读变量不是S2 S2 修改的变量。修改的变量。W(S1)R(S2)=W(S1)R(S2)=,即即S2S2读变量不是读变量不是S1 S1 修改的
15、变量。修改的变量。W(S1)W(S2)=W(S1)W(S2)=,即双方都不修改相同的变量。即双方都不修改相同的变量。同时成立同时成立,则语句,则语句S1S1和和S2S2是可以并发执行的。是可以并发执行的。补充:程序并发执行的条件22例例 S1:a:=x+2,S2:b:=z+4,S3:c:=a-b,S4:w:=c+1试利用试利用Bernstein条件证明:条件证明:(1)s1与与s2并发执行;(并发执行;(2)s1与与s3,s2与与s3,s3与与s4不能。不能。解:各语句的读、写集分别为:解:各语句的读、写集分别为:R(S1)=x,W(S1)=a,R(S2)=z,W(S2)=b,R(S3)=a,
16、b,W(S3)=c,R(S4)=c,W(S4)=w,因为因为 R(S1)W(S2)=,R(S2)W(S1)=且且W(S1)W(S2)=所以由所以由Bernstein条件,条件,s1与与s2并发执行。并发执行。同理可证同理可证s1与与s3,s2与与s3,s3与与s4不能(略)。不能(略)。补充:程序并发执行的条件23 如果并发执行的各程序段中的语句或指令满足上如果并发执行的各程序段中的语句或指令满足上述述Bernstein Bernstein 的三个条件(同时成立),则认为并发执行不会的三个条件(同时成立),则认为并发执行不会对执行结果的封闭性和可再现性产生影响(证明对执行结果的封闭性和可再现性
17、产生影响(证明略)。略)。但在一般情况下,但在一般情况下,这个条件对于软件设计(模块这个条件对于软件设计(模块化)过于苛刻,系统要判定并发执行的各程序段化)过于苛刻,系统要判定并发执行的各程序段是否满足是否满足Bernstein Bernstein 条件是相当困难的条件是相当困难的。补充:程序并发执行的条件24我们不能通过限制程序的编写方式和内容来获得我们不能通过限制程序的编写方式和内容来获得系统的可再现性,因此系统的可再现性,因此解决此问题需要依靠控制解决此问题需要依靠控制程序的执行过程来解决程序的执行过程来解决。怎么办呢怎么办呢?补充:程序并发执行的条件25引入进程的原因引入进程的原因 为
18、了对并发执行的程序加以控制和描述,引入了为了对并发执行的程序加以控制和描述,引入了“进程进程”的概念。(的概念。(理解理解)程序程序A:N=N+1;发发消消息息给给B,可可以打印以打印N了了程序程序B:收收到到可可以以打打印印N的消息的消息print(N);N=0;程序程序A:上锁上锁N=N+1;解锁解锁程序程序B:上锁上锁print(N);N=0;解锁解锁 有前趋关系时有前趋关系时 无前趋关系时无前趋关系时262.2 2.2 进程的特征与状态进程的特征与状态1.特征特征结构特征结构特征动态性动态性并发性并发性独立性独立性异步性异步性程序段程序段数据段数据段进程控制块进程控制块PCBPCB独立
19、运行独立运行独立分配资源独立分配资源独立接受调度的基本单位独立接受调度的基本单位最基本的特征最基本的特征272.2 2.2 进程的特征与状态进程的特征与状态结构特征:结构特征:PCB进程控制块进程控制块程序段程序段数据段数据段动态特征的集中反映动态特征的集中反映描述要完成的功能描述要完成的功能操作对象及工作区操作对象及工作区282.2 2.2 进程的特征与状态进程的特征与状态动态性:动态性:l进程是程序的一次执行过程,属进程是程序的一次执行过程,属动态动态概念,是进概念,是进程最基本的特征。程最基本的特征。l动态性还表现为动态性还表现为:“它由创建而产生,由调度而执它由创建而产生,由调度而执行
20、,因得不到资源而暂停执行,以及由撤消而消行,因得不到资源而暂停执行,以及由撤消而消亡亡”。即进程有一定的生命期。即进程有一定的生命期。l程序只是一组有序指令的集合,并长期存放在某程序只是一组有序指令的集合,并长期存放在某种介质上,本身并无运动的含义,因此,程序是种介质上,本身并无运动的含义,因此,程序是个静态实体。个静态实体。292.2 2.2 进程的特征与状态进程的特征与状态并发性:并发性:指多个进程实体同存在于内存中,能在一段时间指多个进程实体同存在于内存中,能在一段时间内同时运行。内同时运行。独立性:独立性:进程是一个能独立运行、独立分配资源和独立调进程是一个能独立运行、独立分配资源和独
21、立调度的基本单位度的基本单位.异步性:异步性:进程按各自独立的、不可预知的速度向前推进。进程按各自独立的、不可预知的速度向前推进。30进程概念进程概念-举例举例阅读阅读菜谱菜谱准备原料准备原料烹制菜肴烹制菜肴饭菜饭菜阅读阅读洗衣机手册洗衣机手册准备衣服、洗衣粉准备衣服、洗衣粉设定参数,洗衣服设定参数,洗衣服干净衣服干净衣服程序程序程序程序分时切换分时切换洗衣进程洗衣进程做饭进程做饭进程输入数据输入数据输出数据输出数据运行运行31进程的核心思想进程的核心思想进程是某个程序在某个数据集合上的运行过程,进程是某个程序在某个数据集合上的运行过程,它有程序、输入、输出和状态。它有程序、输入、输出和状态。
22、在分时操作系统中,单个在分时操作系统中,单个CPUCPU被若干进程共享,被若干进程共享,它使用某种它使用某种调度算法调度算法决定何时停止一个进程的运决定何时停止一个进程的运行,转而为其他进程提供服务。行,转而为其他进程提供服务。进程概念进程概念322.2 2.2 进程的特征与状态进程的特征与状态进程的定义:进程的定义:典型的进程定义典型的进程定义进程是程序的一次执行。进程是程序的一次执行。进程是一个程序及其数据在处理机上顺序执行时所进程是一个程序及其数据在处理机上顺序执行时所发生的活动。发生的活动。进程是程序在一个数据集合上运行的过程,它是系进程是程序在一个数据集合上运行的过程,它是系统进行资
23、源分配和调度的一个独立单位。统进行资源分配和调度的一个独立单位。进程是进程实体的执行过程,是系统进行资源分配进程是进程实体的执行过程,是系统进行资源分配和调度的一个独立单位。和调度的一个独立单位。332.2 2.2 进程的特征与状态进程的特征与状态进程与程序的区别进程与程序的区别 程序是静态的,进程是动态的程序是静态的,进程是动态的;程序是有序代码的集合;进程是程序的执行。程序是有序代码的集合;进程是程序的执行。进程是暂时的,程序是永久的:进程是暂时的,程序是永久的:进程只是程序的一次执行过程,有生命周期,有诞生有进程只是程序的一次执行过程,有生命周期,有诞生有消亡,是暂时的;而程序可作为软件
24、资源长期保存,相消亡,是暂时的;而程序可作为软件资源长期保存,相对长久的对长久的;进程与程序的组成不同:进程与程序的组成不同:进程由程序、数据和进程由程序、数据和PCB三部分组成的三部分组成的.进程与程序的对应关系:进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可涉及多个程序。系,一个进程可涉及多个程序。342.2 2.2 进程的特征与状态进程的特征与状态关于程序和进程,以下哪种说法是正确关于程序和进程,以下哪种说法是正确的?的?A)程序是动态的,进程是静态的程序是动态的,进程是静态的 B)程序是静态的,进程是
25、动态的程序是静态的,进程是动态的C)程序和进程都是动态的程序和进程都是动态的 D)程序和进程都是静态的程序和进程都是静态的352.2 2.2 进程的特征与状态进程的特征与状态2、进程的三种基本状态及其转换、进程的三种基本状态及其转换.就绪状态就绪状态(readyready)执行状态执行状态(runningrunning)阻塞状态阻塞状态(blockedblocked)362.2 2.2 进程的特征与状态进程的特征与状态就绪状态:就绪状态:当进程当进程已分配到除已分配到除CPUCPU之外的之外的所有必要资源所有必要资源后,只要再获后,只要再获得得CPUCPU,便可立即执行,进程,便可立即执行,进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1.24 操作系统 原理
限制150内