第2章 进程的描述和控制 (2)
操作系统第二章进程的描述与控制题目
操作系统第⼆章进程的描述与控制题⽬1-1. 下⾯对进程的描述中,错误的是。
A.进程是动态的概念B. 进程执⾏需要处理机C.进程是有⽣命周期的D. 进程是指令的集合【答案】D动态的,有⽣命周期的。
【解析】【解析】程序是指令的集合。
⽽进程是程序的⼀次执⾏,是动态的,有⽣命周期的。
1-2. 分配到必要的资源并获得处理机时的进程状态是 ()A. 就绪状态B. 执⾏状态C. 阻塞状态D. 撤消状态【答案】B【解析】分配到必要地资源获得处理机时的进程状态是执⾏状态。
1-3.程序的顺序执⾏通常在①的⼯作环境中,具有以下特征②。
程序的并发执⾏在③的⼯作环境中,具有如下特征④。
A. 单道程序B.多道程序C. 程序的可再现性D. 资源共享【答案】①A ②C ③B ④D。
【解析】程序的顺序执⾏通常在单道程序的⼯作环境中,具有程序结果的可再现性特征;程序的并发执⾏在多道程序的⼯作环境中,具有共享资源的特征。
1-4. 下列进程状态变化中,变化是不可能发⽣的A. 运⾏——就绪B.运⾏—— 等待C. 等待——运⾏D. 等待——就绪【答案】C【解析】当调度程序为某就绪状态的进程分配了处理机时,该进程便由就绪状态变为执⾏状态;正在执⾏的进程因等待发⽣某事件⽽⽆法执⾏时,该进程由执⾏状态变为等待状态;当处于等待状态的进程所等待的事件发⽣时,该进程由等待状态变为就绪状态;正在执⾏的进程如因时间⽚⽤完⽽暂停执⾏,该进程由执⾏状态变为就绪状态。
等待——运⾏不可能发⽣,就绪—— 等待不可能发⽣。
运⾏不可能发⽣,就绪唯⼀的双向箭头是运⾏运⾏——就绪,就绪——运⾏唯⼀的双向箭头是1-5. 当时,进程从执⾏状态转变为就绪状态。
A. 进程被调度程序选中B. 时间⽚到C. 等待某⼀事件D.等待的事件发⽣【答案】B。
【解析】正在执⾏的进程,如因时间⽚⽤完⽽暂停执⾏,则该进程由执⾏状态转变为就绪状态。
就绪——运⾏ C. 等待某⼀事件运⾏—— 阻塞 D.等待的事件发⽣等待——就绪A. 进程被调度程序选中,进程被调度程序选中,就绪1-6. 如果系统中有n个进程,则就绪队列中进程的个数最多为。
第二章 进程描述与控制
进程是执行程序的动态过程—动态概念。 程序是指令的有序集合—静态概念。
一个进程可以执行一个或多个程序。 一个程序可以被多个进程执行。 程序可以作为一种资源以文件的形式长期保存。 进程只是一次执行过程,具有生命期。
2.2 进程状态与描述
A program in execution?
进程状态
–
–
– –
–
event; scheduling info. data structuring - linked queues; children; inter-process communication - signals; mesgs. process privileges - memory granted; mode; memory management - ptrs to segments resource ownership and utilization - open files
用户可能为了调试或与资源连接而要求挂起进程
间断
父进程请 求
一个进程可能是周期性地执行的,那么它在等待下一次执 行时如被挂起
父进程有时希望挂起某个后代进程以检查或修正挂起进程, 或协调多个后代进程的运行
UNIX Process State Transition Diagram
fork
Created
Preempted
Allocate resources to processes Support inter-process communication and user creation of processes
How to achieve Goals ?
Schedule and dispatch processes for execution
【操作系统】《计算机操作系统》汤小丹第2章进程的描述和控制
【操作系统】《计算机操作系统》汤⼩丹第2章进程的描述和控制博主:海底淤泥1.什么是前趋图?为什么要引⼊前趋图? 前趋图:⼀个有向⽆循环图,它⽤于描述进程之间的先后顺序 作⽤:更好描述程序的顺序和并发执⾏情况2.试画出下⾯四条语句的前趋图S1:a=x+y S2:b=z+1 S3:c=a-b S4:w=c+1 S1->S3 S2->S3 S3->S43.为什么程序并发执⾏会产⽣间断特征? 程序在并发执⾏时,由于它们共享系统资源,以及为完成同⼀项任务相互合作,⾄使在这些并发程序之间形成了相互制约的关系4.程序并发执⾏时为什么会失去封闭性和可再现性? 失去封闭性:当系统存在着多个可以并发执⾏的程序时,系统中的各种资源将为它们所共享,⽽这些资源的状态也由这些程序来改变,导致其中任意程序运⾏时,其环境都必然会受到其他程序的影响。
失去可再现性:程序并发执⾏时,由于失去了封闭性,其计算结果必然将与并发程序的执⾏速度有关,从⽽使程序的执⾏失去了可再现性5.在操作系统中为什么要引⼊进程的概念?它会产⽣什么影响? 为了使程序并发执⾏,并且可以对并发执⾏的程序加以描述和控制,⼈们引⼊了“进程”的概念。
影响:使程序并发执⾏,进程实体和其他进程实体并发执⾏6.试从动态性、并发性、和独⽴性上⽐较进程和线程 动态性:进程实体有⼀定⽣命期,是动态的;⽽程序是⼀组有序指令集合,并存放在某种介质上,其本⾝不具有活动意义,是静态的 并发性:进程可以并发执⾏,没有PCB的程序是不能并发执⾏的 独⽴性:进程实体是⼀个能独⽴运⾏,独⽴获得资源和独⽴接受调度的基本单位。
未建⽴PCB的程序不能作为⼀个独⽴的单位参与运⾏7.试说明PCB的作⽤具体表现在什么⽅⾯,为什么说PCB是进程存在的唯⼀标志? PCB描述进程是基本情况和活动过程,进⽽控制和管理进程。
创建进程:创建进程实体的PCB 撤销进程:撤销进程实体的PCB8.PCB提供了进程管理和进程调度所需要的哪些信息?1.进程标识符2.处理机状态3.进程调度信息4.进程控制信息9.进程控制块的组织⽅式有哪⼏种?1.线性⽅式2.连接⽅式3.索引⽅式10.何谓操作系统内核?内核的主要功能是什么? 通常将⼀些硬件紧密相关的模块、各种常⽤设备的驱动程序以及运⾏频率较⾼的模块,都安排在紧靠硬件的软件层次中,将它们常驻内存,被称为操作系统内核 功能:1.对重要软件进⾏保护,防⽌遭到其他程序的破坏 2.提⾼OS的运⾏效率11.试说明进程在三个基本状态之间转换的经典原因 就绪->执⾏:进程调度 执⾏->就绪:时间⽚完 执⾏->阻塞:I/O请求 阻塞->就绪:I/O完成12.为什么要引⼊挂起状态?该状态有哪些性质? 原因:1.终端⽤户的需要 2.⽗进程的请求 3.负荷调节的需要 4.操作系统的需要 性质:1.若程序正在执⾏,将暂停执⾏ 2.若原本处于就绪状态,则该程序不接受调度13.在进⾏进程切换时,所要保存的处理机状态信息有哪些?1.通⽤寄存器2.指令计数器3.程序状态字PSW4.⽤户栈指针14.试说明引起进程创建的主要事件。
第二章、进程的描述与控制
第⼆章、进程的描述与控制第⼆章、进程的描述与控制2.1 前趋图和程序执⾏2.1.1 前趋图概念:所谓前趋图:指⼀个有向⽆循环图(DAG),它⽤于描述进程之间执⾏的先后顺序。
2.1.2 程序顺序执⾏特征:顺序性封闭性:指程序在封闭的环境中运⾏,程序运⾏时独占全机资源,资源的状态只有本程序才能改变,程序⼀旦开始执⾏,其执⾏结果不受外界因素影响可再现性:只要条件相同还会得到相同的执⾏结果。
2.1.3 程序并发执⾏特征:间断性失去封闭性不可在现性2.2进程的描述2.2.1 进程的定义和特征定义为了使程序并发执⾏,并且可以对并发执⾏的程序加以描述和控制,⼈们引⼊了进程的概念。
为了使参与并发执⾏的每个程序都能独⽴运⾏,在操作系统中必须为之分配⼀个专门的数据结构,称为进程控制块(PCB)。
系统利⽤PCB 来描述进程的基本情况和活动过程,进⽽控制和管理进程。
因此进程的定义为:由程序段、相关的数据段和由程序段、相关的数据段和PCB三部分构成的进程实体。
⽐较典型的定义有:进程是程序的⼀次执⾏进程是⼀个程序及其数据在处理机上顺序执⾏时所发⽣的活动进程是具有独⽴功能的程序在⼀个数据结合上运⾏的过程,它是系统进⾏资源分配和调度的⼀个独⽴单位。
进程的特征动态性并发性独⽴性异步性2.2.2 进程的基本状态以及转换进程三种基本状态由于多个进程在并发执⾏时共享系统资源,致使他们在运⾏过程中呈现间断性的运⾏规律,所以进程在⽣命周期内可能具有不同状态。
⼀般⽽⾔,每个进程⾄少应处于以下三种基本状态:就绪(Ready)状态指进程已处于准备好运⾏的状态,即进程已分配到除CPU以外的所有必要资源后,只要再获得CPU就可以⽴即执⾏。
如果有多个就绪状态的进程。
就绪队列通常按照⼀定的策略排成⼀个队列,称该队列为就绪队列执⾏(Running)状态指进程已经获得CPU,其程序正在执⾏的状态。
在单处理机系统中,只有⼀个进程处于执⾏状态,⽽多处理机系统则有多个进程处于阻塞(Block)状态指正在执⾏的进程由于发⽣某事件(如I/O请求、申请缓冲区失败等)暂时⽆法继续执⾏时的状态,即进程的执⾏受到了阻塞。
计算机操作系统原理 第二章 进程描述与控制
13
两个并发程序方案
设有一台标准输入设备(键盘),和一台标准 输出设备(显示器或打印机),输入程序负责 从标准设备中读取一个字符,送缓冲区中。输 出程序从缓冲区中取数据,送标准设备输出。
14
两个并发程序方案
f
标准输入 (键盘)
输入程序 缓冲区 输出程序
g
标准输出 (打印机)
15
两个并发程序方案
6
前趋图
前趋图(Precedence Graph)是一个有向无循环图,记 为DAG(Directed Acyclic Graph),用于描述进程之间执行 的前后关系。 结点:一个程序段或进程,乃至一条语句
有向边:偏序或前趋关系
把没有前趋的结点称为初始结点(Initial Node) 没有后继的结点称为终止结点(Final Node) 每个结点还具有一个重量(Weight),用于表示该结点 所含有的程序量或结点的执行时间。
38
进程状态模型
进程状态转换
原状态 创建 OS根据作业控制请求; 分时系统用户登录; 进程产生子进程而创 建进程 转换后状态 运行 × 就绪 × 阻塞 × 终止 ×
创建
×
×
OS准备运 行新的进 程
×
×
(转下表)
39
进程状态模型
原状态 创建 运行 × 运行 × 转换后状态 就绪 超时;OS服务 请求;OS响应 具有更高优先 级的进程;进 程释放控制 阻塞 OS服务 请求; 资源请 求;事 件请求 终止 进程完 成,进 程夭折
2.5 进程同步 2.6 经典进程的同步问题 2.7 管程机制 2.8 进程通信
3
2.1 进程描述
2.1.1 程序的顺序执行 2.1.2 程序的并发执行 2.1.3 进程的定义
第二章 进程的描述与控制PPT课件
2020/11/29
9
进程的特征
动态性:动态性是进程的最基本特征,它是程序执行 过程,它是有一定的生命期。它由创建而产生、由调 度而执行,因得不到资源而暂仃,并由撤消而死亡。 而程序是静态的,它是存放在介质上一组有序指令的 集合,无运动的含义。
在计算机系统支持并行操作时,如采用 多道程序设计技术,则内存中多道程序处于并 发执行状态。如上述有三个程序段的作业类, 虽然每个作业有前趋关系的各程序段不能在系 统CPU和输入输出各部件并行执行,但一个作 业没有前趋关系的程序段或不同作业的程序段 可以分别在CPU和各输入输出部件上并行执行。
2020/11/29
结构特征:从结构上,进程实体由程序段、数据段和进程控制 块三部分组成,UNIX中称为“进程映象”。
2020/11/29
11
(1) 进程是程序的一次执行。
(2) 进程是一个程序及其数据在处理机上顺序执行 时所发生的活动。
(3) 进程是程序在一个数据集合上运行的过程,它 是系统进行资源分配和调度的一个独立单位。
7
例:观察者/报告者
Байду номын сангаас
观察者:
报告者:
begin
begin
repeat
repeat
wait a car go through
deley a time
N=N+1;
Print N ;
N=0 ;
until
until
end
end
初始N=n时不同执行序列:
N=N+1;
Print N;
Print N ;
Print N ;
第二章-进程的描述与控制
第二章 进程的描述与控制第1节 进程的基本概念一、程序的顺序执行程序是一个在时间上有严格次序的指令序列,仅当前一操作(指令)执行完后,才能执行后继操作,如下图b 。
如果在单道环境下对用户作业的处理,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果,见下图a 。
(a) 程序的顺序执行(b) 三条语句的顺序执行程序顺序执行的前驱图所以,在单道系统中,程序执行具有以下特征:(1) 顺序性; (2) 封闭性; (3) 可再现性 ----P33-34 其中最大特征就是程序的顺序执行。
二、前趋图(描述程序执行顺序的工具)前趋图(Precedence Graph)是一个有向无循环图,记为DAG (Directed Acyclic Graph),用于描述进程之间执行的前后关系。
图中的每个结点可用于描述一个进程、一段程序、乃至一条语句;结点间的有向边“→”则用于表示两个结点之间存在的偏序关系(Partial Order)或前趋关系(Precedence Relation)。
如果Pi →Pj ,称Pi 是Pj 的直接前趋,而称Pj 是Pi 的直接后继。
在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。
每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。
(a) 具有九个结点的前趋图(b) 具有循环的前趋图前趋图对于上图(a )所示的前趋图,存在下述前趋关系:P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7, P5→P8,P6→P8,P7→P9,P8→P9对于具有下述四条语句的程序段,可以用右边的前驱图描述语句间的前驱关系: 前趋图:S1: a ∶=x+2S2: b ∶=y+4S3: c ∶=a+bS4: d ∶=c+b三、程序的并发执行1、什么是并发执行、并行执行----回顾概念在下图中,每一个作业由输入程序、计算程序和打印程序组成,以至对一个作业的输入、计算和打印三个操作,必须顺序执行,三操作之间存在着Ii →Ci →Pi 这样的前趋关系。
第2章进程的描述与控制
关,需要有保护模式知识,才能清晰理解进程 的实现机制和实现过程。 ▪ 执行进程切换的相关代码,被统称为OS的进 程调度模块
• 通常被运行在比 “进程”更高的层级上; • 现代OS的调度代码,通常不是一个集中的模块,
而是由分散在内核多个位置的若干代码片段构成。
OS进程切换示意图解
数组或 队列
OS的典型进程切换过程
▪ 为有效管理和调度多道并发执行程序
• 须引入可完整描述每道执行中程序的数据结构;
• 该思想逐步Байду номын сангаас化完善进程(process)概念
2.1.1 进程概念的引入
❖单任务环境下的“可执行”程序 ❖多任务环境下多道程序并发执行 ❖进程概念的引入与意义
▪ 进程是现代OS最重要的概念之一 ▪ 进程的管理、切换及调度,与保护模式密切相
2.1.1 进程概念的引入
❖单任务环境下的“可执行”程序 S1
❖ 多任务环境下多道程序并发执行
S3
S4
▪ 多道程序并发执行情况示例 S2
• 本例中,程序片段S1与S2可并发执行
• 并发可有效提高系统的吞吐量
▪ 多道程序并发执行的特征
• 间断性(切换执行)
• 失去封闭性(共享系统的资源)
• 结果不可再现性
❖ 每个进程在OS都有一个唯一的PCB ▪ Windows中,PCB也被称为 ‘内核进程对象’ ,是 一种内核控制对象。 ▪ 不允许进程自身访问,只允许内核代码访问。
第二章 进程的描述与控制PPT课件
12
进程的三种基本状态
进程基本状态:
➢就绪状态:A process that is prepared to execute when given the opportunity.
➢执行状态:The process that is currently being executed.
严格按照程序所规定的顺序执行。 ➢ 可再现性:指程序对一组数据的重复执行必得到相
同的结果。
5
程序并发执行1
程序并发执行:
例如输入程序、计算程序、打印程序之间,
存在有Ii→Ci→Pi的前趋关系,但不存在 Pi→Ii+1关系 ,这样他们可以并发执行。
I1
I2
I3
I4
C1 C2
C3
C4
P1
P2
P3
P4
6
程序并发执行2
S1: a:=x+2 S2: b:=y+4 S3: z:=a+b
S1
S3
S4
S4: w:=z+9 S 2
7
程序并发执行的特征
间断性:“执行—暂停执行—执行” 失去封闭性:程序在执行期间将受到其他程序影响。 不可再现性:
程序A:
程序B:
N:=N+1
print(N);N:=0;
进程的定义: –进程是程序的一次执行 –进程是可以和别计算并发执行的计算 –进程可以定义为一个数据结构,能 在其上进 行操作的一个程序。 –进程是一个程序及其数据的处理机上顺序执 行时所发生的活动。 –进程是程序在一个数据集合上允许过程,是 系统资源分配和调度的一个独立单位。 –可并发执行的程序在一个数据集合上的执行 过程。
第2章-进程的描述与控制PPT课件
-
34
-
35
Linux系统中的进程标识
#include<stdio.h>
main()
P1 就是一个外部标识符, 在程序的地方可以使用
{ int p1;
p1 = fork();
printf(“%d”,p1); 调用fork后,系统创建一
}
个新的进程,并为该进程
分配一个标识符,比如
12340,系统内部使用
➢ 在机票数据库中取出当前剩余票数X;
➢ 判断X>0(有票吗)?
➢ 如果有, X≥N(票够吗)?
➢ 如果够,则出票(打印票据);
➢ X=X-N(修改剩余票数);
➢ 将X回写到数据库中;-
12
2.2 进程的描述
进程的定义和特征 进程的基本状态和转化 挂起操作和进程状态的转换 进程管理中的数据结构
-
13
-
静止 阻塞
24
1. 引入挂起操作后,进程五种基本状态的转换
引入穿件状态和终止状态后,具有挂 起状态的进程状态转换,要考虑一下 情况:
NULL-〉创建 创建-〉活动就绪 创建-〉静止就绪 执行-〉终止
-
25
创建 不允许 允许
释放
执行
调度
挂起
终止
活动 就绪
释放
激活 挂起
静止 就绪
释放
活动
-
36
3.进程控制块中的信息
处理机状态
也称为处理机的上下文,主要有处理机的 各种寄存器中的内容组成,包括:
通用寄存器 指令计数器 程序状态字 用户栈指针
-
37
3.进程控制块中的信息
进程调度信息
进程状态 进程优先级 进程调度所需的其他信息,如调度算法、
操作系统课件第2章 进程的描述与控制
*程序的存在是永久的;而进程是有生命期
的,它因创建而产生,因调度而执行,因缺 少资源而暂停,因撤消而消亡。
*程序仅是指令的有序集合;而进程则由程
序段、数据段、进程控制块组成。
*进程与程序之间不是一一对应的,即同一
程序可同时运行于若干个不同的数据集合上, 它将属于不同的进程;而一个进程也可以执 行多个程序。
Procedure getaddr(top) Begin Local r r top top top-1 Return(r) End
Procedure reladdr(blk) Begin
top top+1 (top) blk
End
第2章 进程的描述与控制
2.1.3 程序的并发执行
程序并发执行的特征
多道程序的并发执行
某道程序的几个程序段的并发执行
第2章 进程的描述与控制
2.1.3 程序的并发执行
程序并发执行的条件
若两个程序P1和P2能满足下述 条件,它们便能并发执行,且具有 可再现性。
R (P1)∩ W(P2)= { } R (P2)∩ W(P1)= { } W(P1)∩ W (P2 ) = { }
用户态:这是具有较低特权的执行状 态,它只能执行规定的指令,访问指定的 寄存器和存储区。
第2章 进程的描述与控制
2.3 进程控制
二、O操S内作核系功统能内核
* 支撑OS功内能核:是计算机硬*件资的源第管一理功次能扩: 充,* 中由断一管些理与硬件紧密相*关进的程模管块理和 运行频率较高的模块构成。内核常驻 内存* 时,钟受管特理殊保护。 * 存储器管理
第2章 进程的描述与控制
操作系统(第四版)期末复习总结
操作系统(第四版)期末复习总结第一章操作系统引论1、操作系统是什么?操作系统为用户完成所有“硬件相关,应用无关“的工作,以给用户方便、高效、安全的使用环境1.1、定义:操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调多个任务的活动,实现信息的存取和保护。
它提供用户接口,使用户获得良好的工作环境。
1.2、目标(1)、方便性:配置OS后计算机系统更容易使用(2)、有效性:改善资源利用率;提高系统吞吐量(3)、可扩充性:OSde结构(如层次化的结构:无结构发展->模快化结构->层次化结构->微内核结构)(4)、开放性:OS遵循世界标准范围。
1.3、作用:(1)、OS作为用户与计算机硬件系统之间的接口(API/CUI/GUI)即:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
(2)、OS是计算机系统资源的管理者(处理机、存储器、I/O设备、文件)处理机管理是用于分配和控制处理机存储器管理是负责内存的分配与回收I/O设备管理是负责I/O设备的分配(回收)与操纵文件管理是用于实现文件的存取、共享和保护(3)、OS实现了对计算机资源的抽象(OS是扩充机/虚拟机)2、操作系统的发展过程2.1、未配置操作系统的计算机系统(40年代手工操作阶段)(1)、人工操作方式:用户独占全机,资源空闲浪费。
缺点:手工装卸、人工判断、手工修改与调试内存指令等造成CPU空闲;提前完成造成剩余预约时间内的CPU完全空闲;I/O设备的慢速与CPU的速度不匹配造成的CPU空闲等待时间(2)、脱机输入输出(Off-Line I/O)方式。
优点:减少了CPU的空闲时间提高了I/O速度2.2、单道批处理系统(50年代)(1)、解决问题:单道批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的。
批处理系统旨在提高系统资源的利用率和系统的吞吐量。
(但单道批处理系统仍不能充分利用资源,故现在已很少用)单道批处理分为:联机批处理、脱机批处理联机批处理:CPU直接控制作业输入输出脱机批处理:由外围机控制作业输入输出(2)、缺点:系统资源利用率低(因为内存中只存在一道程序,I/O请求成功前CPU都处于空闲状态)(3)、特征自动性。
第二章 进程的描述与控制
第二章进程的描述与控制1. 以下有关进程的描述中,错误的是() [单选题] *A 进程是动态的概念B 进程执行需要处理器C 进程是有生命周期的D 进程是指令的集合(正确答案)2. 以下关于进程的描述中,正确的是() [单选题] *A 进程获得CPU运行是通过调度实现的(正确答案)B 优先级是进程调度的重要依据,一旦确定就不能改变C 在单CPU的系统中,任意时刻都有一个进程处于运行状态D 进程申请CPU得不到满足时,其状态变为阻塞3.以下关于进程的描述中,()最不符合操作系统对进程的理解 [单选题] *A 进程是多个程序并行环境中的完整的程序(正确答案)B 进程可以由程序、数据和进程控制块描述C 线程是一种特殊的进程D 进程是程序在一个数据集合上运行的程序,是系统进行资源分配和调度的独立单位。
4. 一个进程是() [单选题] *A 由处理器执行的一个程序B 一个独立的程序+数据集C PCB结构、程序和数据的组合(正确答案)D 一个独立的程序5. 并发进程是指() [单选题] *A 可并行执行的进程B 可同一时刻执行的进程C 可同时执行的进程(正确答案)D 不可中断的进程6.在单处理器系统中实现并发技术后,() [单选题] *A 各进程在某一时刻并行运行,CPU和I/O设备间并行工作B 各进程在一个时间内并行运行,CPU和I/O设备间串行工作C各进程在一个时间段内并行运行,CPU和I/O设备间并行工作(正确答案)D 各进程在某一个时刻并行运行,CPU和I/O设备间串行工作7.在多道程序设计环境下,操作系统分配资源以()为基本单位 [单选题] *A 程序B 指令C 进程(正确答案)D 作业8. 分配到必要的资源并获得处理器时间的进程状态是() [单选题] *A 就绪状态B 运行状态(正确答案)C 阻塞状态D 撤销状态9. 当一个进程处于这样的状态时,()称为阻塞状态 [单选题] *A 它正等着输入一批数据(正确答案)B 它正等着进程调度C 它正等着分给它一个时间片D 它正等着进入内存10. 某个运行中的进程要申请打印机,它将变为() [单选题] *A 就绪态B 阻塞态(正确答案)C 创建态D 撤销态11. 以下进程状态转换中,()转换是不可能发生的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
链接方式
执行指针 就绪队列指针
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 PCB8 PCB9 4 3 0 8
阻塞队列指针 空闲队列指针
7 9 0 0
索引方式
执行指针
PCB1 PCB2
PCB3
就绪表指针
PCB4 PCB5 PCB6
阻塞表指针
PCB7
进程调度队列
• 作业队列——系统中所有进程集合 • 就绪队列——驻留主存的所有就绪态进 程集合 • 设备队列——等待I/O设备的进程集合 • 进程在各种队列中迁移
程序段 数据段
操作对象及工作区
1. 进程控制块 (PCB, process control block) 的作用
• PCB是OS中最重要的记录型结构,记录用于描 述进程执行情况及控制进程运行的全部信 息。 。 • PCB是进程存在的唯一标志,是每个进程在OS 中的登记表项,OS据此对并发进程进行控制和 管理。 • PCB常驻于由OS维护的内存核心区,不能由应 用程序自身的代码来直接访问,而要通过系统 调用间接访问。 • OS专门开辟PCB区将所有的PCB组织成若干个链 表或队列。
进程图 A
B D C
E
F
G
H
引起创建进程的事件 (1) 用户登录。 (2) 作业调度。 由系统内核创建 (3) 提供服务。 (4) 应用请求。 由自己创建
进程的创建
• 原语CREAT()按下述步骤创建一个新 进程: (1) 申请空白PCB。 (2) 为新进程分配资源:为代码、数据、 用户栈分配空间。 (3) 初始化进程控制块:初始化标识信 息、处理机状态(PC、SP)、处理机控制 信息(进程状态、优先级)。 (4) 将新进程插入就绪队列 。
• 父进程创建子进程,子进程还可创建子进程,从 而形成进程树。 • 父子进程关系: – 资源继承共享 • 父子进程共享所有的资源 • 子进程共享父进程资源的子集 • 父进程和子进程之间不共享资源 – 执行关系: • 父进程和子进程并发执行 • 父进程等待子进程执行结束 – 地址空间 • 子进程是父进程的复制(克隆) • 子进程将自己代码装入其中。
1 2 3
• 顺序执行的特征: – 顺序性:按照程序结构所指定的次序 执行(可能有分支或循环) – 封闭性:独占全部资源,计算机的状 态只由于该程序的控制逻辑所决定, 结果不受外界因素的影响 – 可再现性:初始条件相同则结果相同。
2)程序的并发执行
• 引入并发执行的目的是为了提高资源利用率。 • 并发执行的特征(在不加入任何系统控制情况 下): – 间断性:表现为“走走停停”,一个程序可 能走到中途停下来,失去原有的时序关系; – 失去封闭性:共享资源,受其他程序的控制 逻辑的影响。如:一个程序写到存储器中的 数据可能被另一个程序修改,失去原有的不 变特征。 – 失去可再现性:失去封闭性 ->失去可再现 性;外界环境在程序的两次执行期间发生变 化,失去原有的可重复特征。
• 2. 进程的特征 • (1)动态性:创建产生,调度执行,受制 于资源,撤销消亡。 –进程具有动态的地址空间(数量和内容), 地址空间上包括:代码、数据、进程控制 块(PCB) • (2)并发性:多个进程同时存在于内存, 宏观上同时运行。 • (3)独立性:资源分配的单位。 –各进程的地址空间相互独立,除非采用进 程间通信手段
就绪队列和各种I/O队列
进程状态的转换
2.2
进程控制
• 进程管理中最基本功能是进程控制 • 进程控制任务: – 进程的创建、终止、进程状态的转变等 • 进程控制一般由OS内核的原语(primitive)来 实现。 – 原语:由若干条指令构成的“原子操作 (atomic operation)”过程,作为一个整 体而不可分割--要么全都完成,要么全 都不做。 – 许多系统调用是原语。但并不是所有的系 统调用都是原语
• 并发执行的条件:达到封闭性和可再现 性(正确性的要求)。
2.1.2 进程的定义与特征
• 1. 进程的定义 – 一个具有一定独立功能的程序在一个 数据集合上的一次动态执行过程。 – 在未引入线程的系统中,进程是处理 机、存储器和外设等资源的分配和回 收的单位。 – 引入多进程,提高了对硬件资源的利 用率,但又带来额外的空间和时间开 销,增加了OS 的复杂性。
例:单处理机系统中,可并行的是 I 进程与进程 II 处理机与设备 III 处理机与通道 IV 设备与设备 答: II III IV
2.1.3 进程的状态
就绪状态:进程已获得除处理 机外的所需资源,等待分配处理 机资源;只要分配到CPU就可执 行。在某一时刻,可能有若干个 进程处于该状态
就绪
阻塞态:正在执行的进程由于发 生某事件,如申请系统服务或资 源、通信、I/O操作等,而暂时无 法继续执行时,放弃处理机而进 入的状态,又称等待状态。
操作系统需要挂起某些进程以便检查运行中的资源使用情况 或进行记账。
挂起引起的状态转换
静止状态 挂起状态 活动状态 非挂起状态
• 引入的新状态 –1) 就绪挂起(静止就绪):进程在外存, 但只要进入内存,即可运行; –2) 阻塞挂起状态(静止阻塞):进程在 外存并等待某事件的出现。
有挂起状态的进程状态图
• UNIX: – fork 系统调用:创建一个子(新)进程。 精确复制父进程 – exec系统调用: 在 fork 之后执行,用 新的代码替换原父进程的代码。
void main (int argc, char *argv[ ]) { int pid; pid = fork( ); if ( pid < 0) { fprint ( stderr, “fork failed”); exit (-1); } else if ( pid == 0) { execlp (“ /bin/ls”, “ls”, NULL); } else { wait ( NULL); printf (“ child complete”); exit (0); } }
某事件已发生
进程调度 时间片完
执行 阻塞 等待某事件发生 执行状态:占用处理机资源运行
;处于此状态的进程的数目小于 等于CPU的数目。
挂起状态
• 引入原因:
(1)终端用户请求
终端用户发现自己运行的程序有问题,希望暂停自己程序的 执行
(2)父进程请求
父进程希望挂起自己的某个子进程,以便考察和修改该子进 程
Байду номын сангаас
• (4)异步性:进程按各自独立的、不可 预知的速度向前推进。 • (5)结构化:进程实体由代码段,数据 段和进程控制块(PCB) 组成。 –进程控制块包含在核心区。内存核心 段通常存放OS核心部分,由各个进程 共享,包括各进程的PCB。 –程序文件中通常划分为代码段和数据 段
• 3. 进程与程序的区别 – 1) 进程是动态的,程序是静态的;程 序是有序代码的集合;进程是程序的 执行。 – 2) 进程是暂时的,程序是永久的。 – 3) 进程与程序的组成不同:进程的组 成包括程序、数据和进程控制块。 – 4) 进程与程序的对应关系:通过多次 执行,一个程序可对应多个进程;通 过调用关系,一个进程可包括多个程 序。
执行
挂起 调度 I/O请求
释放
活动 阻塞
活 动 就 绪
激活 挂起
挂起 激活
静止 就绪
释 放
静止 阻塞
创建状态和终止状态
静止 就绪
许 可
激活 进程调度
时间片完
挂起 挂起
运行态 进程完成 释放
创建
许可
活动 就绪
活动 阻塞
终止 挂起 激活
静止 阻塞
2.1.4
进程控制块
PCB
进程控制块
动态特征的集中反映 描述要完成的功能
2.2.1
进程的创建(Creation of process)
• 1.进程图(Process Graph) –树状结构,父子进程关系。 –子进程可以继承父进程所拥有的资源,如 打开文件、缓冲区等。当子进程被撤销应 将继承的资源归还给父进程。撤销父进程 也必须同时撤销所有的子进程。 –PCB中设臵了家族关系表项。
(3)负荷调节需要
高优先级的进程要执行,而内存不空,系统将低优先级进程 对换至外存。 提高处理机效率:就绪进程表为空时,要提交新进程,而此 时内存不空,需挂起阻塞态的进程 为运行进程提供足够内存(对换及调整负荷):资源紧张时, 暂停某些进程,如:实时任务执行,而内存紧张
(4)操作系统的需要
利用PCB完成进程间切换
进程P0
执行 状态存入PCB0 从PCB1载入状态 闲置 Idle 中断或系统调用 状态存入PCB1 从PCB0载入状态 执行 闲置 Idle
操作系统
中断或系统调用
进程P1
· · · · · ·
闲置 Idle
执行
3. PCB的组织方式 • 将处于同一状态的PCB组织在一起,有两 种组织方式: – 链表:同一状态的进程其PCB构成一个链 表,多个状态对应多个不同的链表,如: 就绪链表、阻塞链表 – 索引表:同一状态的进程归入一个index 表(由index指向PCB),多个状态对应 多个不同的index表
第二章 进程管理
• 为了描述程序在并发执行时对系统资源 的共享,我们需要一个描述程序执行时 动态特征的概念,这就是进程或线程。 在本章中,我们将讨论进程的概念和进 程间的关系。
2.1 进程的基本概念
2.1.1 程序的执行特征 • 程序的执行有两种方式:顺序执行和并 发执行。 • 1)顺序执行是单道批处理系统的执行方 式。
• (3)进程调度信息: –进程的当前状态; –优先级(priority); –运行统计信息(执行时间、页面调 度); –事件:阻塞原因等。
•
(4)进程控制信息: – 程序段和数据段的地址; – 进程间同步和通信; – 资源占用信息:除CPU外的进程所 需的全部资源及已分配资源清单 – 链接指针:本进程所在队列的下一 个进程的PCB首地址。