大工21春《操作系统概论》复习资料五
《操作系统概论》辅导资料五主题:第2章进程管理(第1—2节)学习时间:2020年4月27日--5月3日
“不忘初心、牢记使命”主题理论学习:群众路线是我们党的生命线和根本工作路线,是我们党永葆青春活力和战斗力的重要传家宝。不论过去、现在和将来,我们都要坚持一切为了群众,一切依靠群众,从群众中来,到群众中去,把党的正确主张变为群众的自觉行动,把群众路线贯彻到治国理政全部活动之中。
摘选自《坚持和运用好毛泽东主席思想活的灵魂》《习近平谈治国理政》内容:
第三章进程管理
这周我们将学习课件第2章中的第1—2节,下面整理出的理念框架供同学们学习。
本篇的基本要求:
1.了解程序的执行及特征,了解前驱图
2.掌握进程的概念
重点掌握内容:
1. 进程的概念
2. 进程与程序区别
3. 进程的状态及转化2.1 程序的执行及特征
1. 程序的顺序执行及特征
程序是一个按照严格次序执行的操作序列。对一个特定的程序,可以将它划分成若干程序段,各程序段必须按照某种次序顺序执行,仅当前一个操作执行完成后,才能执行后继操作。同样,对一个特定的作业,也必须顺序执行,总是先输入,再计算,最后输出。而对一批作业,若使用单道批处理系统进行处理,也是顺序执行,前一个作业处理结束后,才能处理后一个作业,且每个作业的输入、计算、输出也是顺序执行关系。
/
程序顺序执行时的特征:
(1)顺序性:处理机严格按照程序规定的顺序执行,即后一个操作必须在前一个操作结束后才能开始
(2) 封闭性:程序在封闭环境下执行,即正在执行的程序独占全机资源,资源的状态只受本程序控制,程序一旦开始执行,其执行结果就不受外界因素影响。
(3) 可再现性:只要程序的执行环境和初始条件相同,则程序无论按照什么方法重复执行,无论是走走停停还是一气呵成,都具有相同的执行结果
前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(Partial Order)或前趋关系(Precedence Relation)“→”。
→={(Pi, Pj)|Pi must complete before Pj may start}, 如果(Pi, Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。
每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间Ii→Ci→Pi和S1→S2→S3 示例:下图两个前驱图
/
对于图 (a)所示的前趋图, 存在下述前趋关系
P1→P2, P1→P3, P1→P4, P2→P5, P3→P5, P4→P6, P4→P7, P5→P8, P6→P8, P7→P9, P8→P9
或表示为:
P={P1, P2, P3, P4, P5, P6, P7, P8, P9}
→={ (P1, P2), (P1, P3), (P1, P4), (P2, P5), (P3, P5), (P4, P6), (P4, P7),
(P5, P8), (P6, P8), (P7, P9), (P8, P9)}
应当注意,前趋图中必须不存在循环,但在图b)中却有着下述的前趋关系,显然,这种前趋关系是不可满足的:S2→S3, S3→S2 2 程序并发执行及其特征
同一作业的输入、计算、输出必须顺序执行,但不同作业的输入、计算、输出之间却没有先后顺序关系。对一批作业进行处理时,可以让它们并发执行,以提高效率。?输入程序完成第一个作业的输入后,在使用计算程序对第一个作业进行计算的同时,由输入程序输入第二个作业;在使用输出程序输出第一个作业的计算结果的同时,分别由计算程序对第二个作业进行计算和由输入程序输入第三个作业……。
/
可以明显看出,对同一个作业而言,输入(I)、计算(C)、输出(O)必须顺序执行,即存在Ii→Ci→Oi顺序关系,但不同作业的输出、计算、输入可以并发执行,即Ii+2、C i+1、Oi在宏观上可以同时执行。
一个程序段中的多条语句,有时也可以并发执行。若某个程序段包含以下几条语句:
S1:a=x+5;
S2:b=3*y;
S3:c=a-b-5;
S4:d=20+c;
显然,S3依赖S1和S2的执行结果,因此S3必须在S1和S2执行完成后才能执行;但S1与S2之间却没有相互依赖关系,因此可以并发执行。这段程序中语句的执行顺序可用图2-3表示。
/程序并发执行时的特征:
(1)间断性
(2) 失去封闭性
(3)不可再现性2.2. 进程的定义和基本特征
进程是程序在某个数据集合上的一次并发执行过程。要使程序能够并发执行,需要为它配置相应的控制结构,即进程控制块(PCB)。程序、相关的数据以及进程控制块(PCB)三部分组合在一起,就构成了可以独立运行的实体——进程实体。在早期的版本中,把这三部分称为“进程映像”,进程实体的运行过程就是进程。
在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。
进程具有的特征:
(1)动态性
(2)并发性
(3)独立性
(4)异步性
(5)共享性
进程与程序区别:
(1)进程是进程实体的一次执行过程,是动态概念;程序是一组有序的代码,不一定非要执行,是静态概念。
(2)进程能够并发执行,程序只能顺序执行。
(3)进程有生命期,它只在计算机运行期间才有可能存在;程序可以在外存上长期保存。
(4)进程(进程实体)由程序、相关的数据以及进程控制块(PCB)三部分组成;程序只是进程实体中的可执行代码部分。
注意:进程与程序之间并不总是一一对应,可以为一个程序创建多个进程。例如,操作系统可以为一个应用程序创建一个输入进程,一个计算进程,一个输出进程,再使这几个进程并发执行,以提高运行效率。
为了使在多道程序环境下不能独立运行的程序转变成能够并发执行的进程,操作系统为每个进程定义了一个专门的数据结构——进程控制块(PCB)。进程控制块(PCB)构成了进程实体的一部分,记录了操作系统所需的,用于描述进程状态和控制进程运行的全部信息。 进程控制块(PCB)是操作系统中最重要的数据结构。正是借助PCB,操作系统才能对并发进程进行有效管理和控制。
在进程的整个生命期内,操作系统总是通过PCB来感知进程的存在并实施管理,以至于可以说PCB是进程存在的唯一标志。正是借助PCB,操作系统才能对并发进程进行有效管理和控制。
并发系统中,通常存在多个进程。这些进程(在单CPU系统中)除了一个处于执行状态外,其他或处于就绪状态,或处于阻塞状态。为了对这些进程进行有效管理和调度,需要将它们按照适当方式组织起来。由于进程的特征主要由PCB刻画,因此实际上是将每个进程的PCB按照一定方式组织起来。为了提高效率,操作系统通常将处于相同状态的所有进程的PCB组织在一个数据结构中,称为“进程队列” 。
两种常用进程队列组织方式
(1)链接方式
(2)索引方式 (1)链接方式
通过PCB中的链接指针将具有相同状态的PCB链接成一个队列。可采用单向链接或双向链接。单向链接中,每个PCB中只设置一个链接指针;双向链接中,每个PCB中要设置两个链接指针,一个指向当前PCB的前一个PCB,另一个指向当前PCB的后一个PCB。
由于不同状态的PCB可以链接成不同的队列,于是就形成了三种队列:运行、就绪、阻塞(或等待)队列。
/(2)索引方式
操作系统在内存中为具有相同状态的PCB建立相应的索引表,同状态的每个PCB在该表中对应一个索引项,记录了该PCB在内存中的首地址,并将索引表在内存中的首地址记录在内核专门的指针单元中。系统通常建立了一个就绪索引表,一个或几个阻塞阻塞(或等待)索引表,一个空闲索引表。 /进程的状态及其转换
进程的基本状态及其转换
(1)运行(执行)状态。
(2)就绪状态。
(3)阻塞状态,又称等待状态或睡眠状态。
/
重要考点
一、选择题
1、进程的基本特性是()。
A、进程是动态的、多个进程可以含有相同的程序和多个进程可以并发运行
B、进程是动态的、多个进程对应的程序必须是不同的和多个进程可以并发运行
C、进程是动态的、多个进程可以含有相同的程序和多个进程不能并发运行
D、进程是静态的、多个进程可以含有相同的程序和多个进程可以并发运行
答:A
注:注意区分进程和程序的区别,进程是动态的,程序是静态的2、并发进程执行的相对速度是()。
A、由进程的程序结构决定的
B、由进程自己来控制
C、在进程被创建时确定的
D、与进程调度策略有关
答:D3、多个进程在一段时间内都得到运行,这种特性称为进程的()。
A、动态性
B、并发性
C、调度性
D、异步性
答: B
注:注意区分并发和并行的概念4、操作系统中,可以并发运行的基本单位是(),同时,它也是操作系统调度及资源分配的基本单位。
A、作业
B、函数
C、进程
D、过程
答: C
注:进程是调度的基本单位二、简答题
1. 在操作系统中为什么要引入进程这一概念?
答:在单道程序设计环境下,CPU被一道程序独占,CPU严格按该程序的指令顺序来执行。单道程序具有顺序性、封闭性和可再现性。单道程序有许多局限性,于是出现了多道程序。在多道程序环境中,有若干个程序同时运行,具有了许多新的特征,如并发性、动态性以及相互制约性等。这时,程序的概念已经不能描述上述这些特征,并发程序的特征必须用新的概念来描述,于是引进了“进程”的概念。2. 简述并发和并行的区别
答:并发是指两个或多个事件在同一时间间隔内发生,并行是指两个或多个事件在同一时刻内发生。
南开答案可以联系QQ 761296021
页:
[1]