计算机操作系统汤小丹PPT推荐.ppt
《计算机操作系统汤小丹PPT推荐.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统汤小丹PPT推荐.ppt(58页珍藏版)》请在冰豆网上搜索。
该图的前趋关系为:
P1P2,P1P3,P1P4P2P5,P3P5,P4P6P5P7,P6P7其中:
P1是初始结点,P7是终止结点。
1144332665577具有一具有一个个重量,重量,该重量可重量可用程序量或用程序量或执行行时间来来计量。
量。
但下例则不是前趋图,因图中存在循环:
112233442.2.程序顺序执行程序顺序执行通常一个应用程序都由若干个程序段组成。
每个程序通常一个应用程序都由若干个程序段组成。
每个程序段完成特定功能,程序执行时,必须按照某种先后次段完成特定功能,程序执行时,必须按照某种先后次序逐个执行,仅当前一个程序段执行完毕后,才能执序逐个执行,仅当前一个程序段执行完毕后,才能执行后继程序段。
行后继程序段。
例如:
在进行计算时,总是先输入数据后,才能计算例如:
在进行计算时,总是先输入数据后,才能计算,计算完成后再打印结果。
,计算完成后再打印结果。
用结点代表各程序段的操用结点代表各程序段的操作,结点作,结点II表输入操作,表输入操作,CC表计算操作,表计算操作,PP表打印操作。
表打印操作。
则上述各程序段的执行可用以下前趋图来表示。
II11CC11PP11II22CC22PP22对于一个程序段中的多条语句来说,也有一个执行顺序问题。
如下述的程序段:
S1:
a:
=x+yS2:
b:
=a-5S3:
c:
=b+1其中S2必须在a被赋值后才能执行,S3也只能在b被赋值后才能执行。
SS11SS22SS3程序顺序执行时的特征程序顺序执行时的特征1.1.顺序性顺序性:
处理机的操作,严格按照程序所规定的顺序处理机的操作,严格按照程序所规定的顺序执行,即只有前一个操作结束后,才能执行后继操作执行,即只有前一个操作结束后,才能执行后继操作。
2.2.封闭性封闭性:
程序是在封闭的环境下运行的。
即程序在运程序是在封闭的环境下运行的。
即程序在运行时,独占全机资源,因而机内各资源的状态(初试行时,独占全机资源,因而机内各资源的状态(初试态除外),只有本程序才能改变。
程序一旦运行,其态除外),只有本程序才能改变。
程序一旦运行,其执行结果不受外界因素影响。
执行结果不受外界因素影响。
3.3.可再现性可再现性:
只要程序执行时的环境和初始条件相同,只要程序执行时的环境和初始条件相同,当程序多次重复执行时,不论是从头到尾不停顿地执当程序多次重复执行时,不论是从头到尾不停顿地执行,还是行,还是“停停走走停停走走”地执行,获得的结果是相同的地执行,获得的结果是相同的。
3.3.程序并发执行程序并发执行对一批程序进行处理时,可使它们并发执行。
设结点Ii表输入程序、Ci表计算程序、Pi表打印程序,则下图描述了程序并发执行时的情况:
其中的Ii+1,Ci,Pi-1是重叠的,即它们可并发执行。
I1I1I4I4I3I3C1C1C2C2C3C3C4C4P2P2P1P1P3P3P4P4I2I2程序段中语句并发执行:
程序段中语句并发执行:
对于具有下述对于具有下述44条语句的程序条语句的程序段:
段:
S1S1:
aa:
=x+2:
=x+2S2:
S2:
bb:
=y+4:
=y+4S3:
S3:
cc:
=:
=aa+bbS4:
d:
=S4:
=cc+6+6可以看出,可以看出,S3S3必须在必须在aa和和bb被被赋值后方能执行;
赋值后方能执行;
S4S4须在须在S3S3之之后执行;
但后执行;
但S1S1和和S2S2可以并发执可以并发执行,因它们彼此互不依赖。
行,因它们彼此互不依赖。
S1S1S2S2S3S3S4S4程序并发执行时的特征:
间断性:
程序在并发执行时,因它们共享资源或为完成同一任务而相互合作,致使并发程序之间形成了相互制约的关系,这种关系导致并发程序具有执行暂停执行执行这种间断性的活动规律。
失去封闭性:
程序并发执行时,多个程序共享系统的各种资源,因而资源的状态将由多个程序来改变,使程序的运行失去了封闭性。
不可再现性:
由于失去封闭性,从而导致可再现性的失去。
不可再现性的例子:
设有设有22个循环程序个循环程序AA和和BB,它们共享一个变量,它们共享一个变量NN。
程序。
程序AA每执行一次每执行一次时,做都时,做都N:
=N+1N:
=N+1操作,程序操作,程序BB则每执行一次时,都要执行则每执行一次时,都要执行print(N)print(N)操作,然后再将操作,然后再将NN置置00,AA和和BB以不同的速度运行。
这样以不同的速度运行。
这样,可能出现三种情况(设某时刻,可能出现三种情况(设某时刻NN的值为的值为nn)。
)。
(1)N:
=N+1beforeprint(N)andN:
=0,sotheNis
(1)N:
=0,sotheNisn+1,n+1,0.n+1,n+1,0.
(2)N:
=N+1afterprint(N)andN:
=0,sotheNis
(2)N:
=0,sotheNisn,0,1.n,0,1.(3)(3)N:
=N+1betweenprint(N)andN:
=0,sotheNisN:
=0,sotheNisn,n+1,0n,n+1,0.这说明程序并发执行时由于失去了封闭性,从而失去了可再现这说明程序并发执行时由于失去了封闭性,从而失去了可再现性,即程序经过多次执行后,虽然其执行时的环境和初始条件性,即程序经过多次执行后,虽然其执行时的环境和初始条件都相同,但得到的结果却各不相同。
都相同,但得到的结果却各不相同。
2.22.2进程描述进程描述程序并发执行时,产生了一些新特征,致使一般的程程序并发执行时,产生了一些新特征,致使一般的程序不能并发执行。
例如,程序在执行中一旦受阻而停序不能并发执行。
例如,程序在执行中一旦受阻而停下来,系统无法保留该程序的现场,因而也就无法再下来,系统无法保留该程序的现场,因而也就无法再恢复该程序的现场以继续执行。
恢复该程序的现场以继续执行。
为使程序在多道程序环境下能并发执行,并能对并发为使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而专门配置了一个称之执行的程序加以控制和描述,而专门配置了一个称之为为“进程控制块进程控制块”的数据结构。
其中,存放了进程标的数据结构。
其中,存放了进程标识符、进程运行的当前状态、程序和数据的地址,以识符、进程运行的当前状态、程序和数据的地址,以及能保存该程序运行时的及能保存该程序运行时的CPUCPU的环境信息。
的环境信息。
由程序段、由程序段、数据段和进程控制块三部分构成了一个进程的实体(数据段和进程控制块三部分构成了一个进程的实体(进程映像)。
进程映像)。
一般情况下,进程实体简称为进程。
2.2.12.2.1进程的定义和特征进程的定义和特征1.进程的定义定义:
进程是进程实体的运行过程,进程是系统进行资源分配和调度的一个独立单位。
或者说进程是可并发执行的程序在一个数据集合上的运行过程。
进程和程序是两个截然不同的概念,二者之间既着密切的联系,又相互区别。
下面分析进程的特征,并与程序作一些对比。
(以动态的观点来理解进程是最基本的。
注意区别进程、进程实体、程序这三个概念)2.2.进程的特征进程的特征动态性:
动态性表现为:
进程由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡。
可见,进程有一定的生命周期。
而程序是一组有序指令的集合,并存放在某种介质上,本身无运动的含义,是一个静态实体。
并发性:
指多个进程实体同存于内存中,能在一段时间内同时运行。
引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
是OS的重要特征。
独立性:
指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
凡未建立进程的程序,都不能作为一个独立的单位参加运行。
异步性:
指进程按各自独立的、不可预知的速度向前推进。
这一特征导致了程序执行的不可再现性。
OS必须管制和协调。
2.2.22.2.2进程的基本状态及转换进程的基本状态及转换11、进程的三种基本状态、进程的三种基本状态就绪状态:
当进程已分配到除CPU之外的所需资源后,只要再获得处理机,便可立即执行。
这时的进程状态称为就绪态。
多个进程可同时处于就绪态。
执行状态:
指进程已获得处理机,其程序正在执行。
阻塞状态:
进程因某事件(如请求I/O、申请缓冲空间等)的发生而暂停执行时的状态。
有时也称为“等待”或“睡眠”状态。
处于阻塞态的进程将排入阻塞队列。
2.三种基本状态的转换就就绪阻塞阻塞执行行时间片完片完进程程调度度I/O完成或完成或事件事件发生生I/O请求或求或等待某事件等待某事件3.创建状态和终止状态创建状态:
进程刚建立,尚未进入就绪队列时的状态。
终止状态:
进程已正常或异常结束,已从就绪队列中移出但未撤消时的状态。
就就绪阻塞阻塞执行行时间片完片完进程程调度度I/O完成或完成或事件事件发生生I/O请求或求或等待某事件等待某事件创建建终止止许可可释放放2.2.32.2.3挂起操作和进程状态的转换挂起操作和进程状态的转换不少系统中,进程只有上述五种基本状态,而有一些系统,基于某种需要又增加了一些新的进程状态,其中最重要的是挂起状态。
所谓挂起状态,是指活动的进程暂时停止活动而处于静止的状态。
引入挂起态可能是因下述的需要。
终端用户的需要。
父进程的需要。
OS的需要。
对换的需要。
负荷调节的需要。
活活动阻塞阻塞活活动就就绪静静止止就就绪静静止止阻塞阻塞执行行挂起挂起释放放激活激活挂起挂起请求求I/OI/O释放放激活激活挂起挂起调度度2.2.42.2.4进程管理中的数据结构进程管理中的数据结构1.1.操作系统中用于管操作系统中用于管理控制的数据结构理控制的数据结构对于每个资源和进程都设置一个数据结构,用于表征其实体,称为资源信息表和进程信息表。
内存设备文件进程内存表设备表文件表进程1进程2进程n进程1进程2进程n进程实体