第2章__进程管理ppt课件计算机操作系统汤小丹梁红兵版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

– 间断性、失去封闭性、不可再现性
第2 章
进程管理
2.1.3程序并发执行的特性
(1)程序结果的不可再现性。并发程序执行时,结果 随执行的相对速度不同而变化,在不同的时间运行,结 果各不相同。 (2)独立性和制约性。独立性是指每一个程序都是一
个相对独立的实体,用以实现不同的功能。
(3)程序执行的间断性。并发执行的程序之间存在着 相互制约的关系,这就意味着程序执行时间会不连贯。
进程管理
运行态(Running) :进程已获得必要的资源,并占有处理机,处理机正在 执行该进程的程序。
就绪态(Ready) :进程等待系统为其分配 CPU,而 CPU被其他进程占用, 所以暂时不能运行,但此时进程已经具备了执行的所有条件。
阻塞态(Blocked):也可称为等待态、挂起态或睡眠态等,此时进程因等待 某个事件而暂时不能运行,例如等待某个I/O事件的完成,或等待使用某个资源 等。
调度信息:标识进程的优先级,进程正在等待的 事件等。
数据结构信息:标识进程间的联系,如指向该进 程的父进程控制块的指针,指向该进程的子进程列表 的指针等。
第2 章
进程管理
队列指针:在该单元存放下一个进程的PCB的块首址,将处于 同一状态的进程链接成一个队列,便于对进程实施管理。 位置信息:记录进程在内存中的位置和大小信息,如程序段指 针,数据段指针。 通信信息:指进程相互通信时所需的信息,如消息队列 ( 记录 可消费资源的列表)指针,进程间的互斥和同步机制。 特权信息:记录进程访问内存的权限。 存储信息:记录进程在辅存中的位置及大小。 资源占有使用信息:标识进程的可重用资源和可消费资源,是 对进程占有和使用CPU及I/O设备的情况记录。
数目 一个系统中,数十个、数 百个甚至数千个 • 链接组织方式 把具有同一状态的PCB链 接成一个队列; 就绪队列、若干个阻塞队 列、空队列.
ห้องสมุดไป่ตู้
空闲队列指针
PCB6 7
PCB7 9 PCB8 0 PCB9 18 ……
图2.8队列管理(1)
第2 章
进程管理
入队
就绪队列
PCB
PCB

PCB
PCB 执行 0
– – – –
如果:(Pi,Pj) P3 ∈,也可以写成: Pi P9Pj 则称:Pi是Pj的直接前趋, Pj是Pi的直接后继 P7 初始节点:没有前趋 P4 终止节点:没有后继
P6
P8
第2 章
进程管理
2.1.2 多道程序设计 在第1章的内容里我们讲述了操作系统具有并发性、
共享性、虚拟性和不确定性等特征。形成这些特征的
第2 章
进程管理
第2章 进程管理
2.1 进程的引入 2.2 进程定义与控制 2.3 进程调度
2.4 进程间的相互作用
2.5 进程通信 2.6 线程 2.7 UNIX进程模型 习题
第2 章
进程管理
2.1 进程的引入
2.1.1 顺序程序
顺序程序是指程序在计算机上严格按照写入的顺序执行。顺 序程序设计也就是指不同程序的按序执行。顺序程序设计具有以
原因就是引入了多道程序设计。采用多道程序设计技 术,计算机中的 CPU 和外围设备的利用率得到了很大 提高。
第2 章
进程管理
举一个“统筹方法”的例子,任务是沏一壶茶, 清洗水壶需1分钟,烧开水需12分钟,拿茶叶需1分钟, 洗茶壶需2分钟。如图2.1所示,如果按照上述顺序执行, 总共花费16分钟。
第2 章
结束 CPU
时间片用完 完成等待 PCB 0 PCB … PCB PCB 等待队列 1

完成等待
PCB 0
PCB

PCB
PCB
等待队列 n
图2.8队列管理(2)
第2 章
进程管理
程序顺序执行的特征
程序的顺序执行 特征:
– 顺序性、封闭性、可再现性
语句1 语句2 语句3 语句4 语句5
I1
C1
P1
I2
C2
P2
第2 章
进程管理
前趋图与前趋关系
前趋图(Precedence Graph)
– 一个有向无循环图 P5 P2 – 描述程序或程序段之间执行的前后关系
前趋关系“” P1
第2 章
进程管理
T1:
T2:
公共数据区为Hi(i=1,2,…,n),分别存放各次班机的现存票数,T1 T2表示售票终端的进程,
Begin
按乘客需要查找到Hi; R1:=Hi;
Begin
按乘客需要查找到Hi; R2:=Hi;
ifR1>=1 then
Begin R1:=R1-1;
ifR2>=1then
begin R2:=R2-1;
Hi:=R1;
售出一张票; end
Hi:=R2;
售出一张票; end
else{提示“票已售完”}; else{提示"票已售完"};
end; end;
第2 章
进程管理
T1
T2
图2.3飞机订票系统模型

Hi
第2 章
进程管理
2.2进程定义与控制
2.2.1进程的概念 1.进程的定义 许多科学家给进程下过定义,其中有些很相似,有些侧重的 方面各异。其中,能够反映进程实质的定义有: (1)进程是程序的一次执行。 (2)进程是可以和别的计算并发执行的计算。 (3)进程是定义在一个数据结构上并能在其上进行操作的一个 程序。 (4)进程是程序在一个数据集合上运行的过程,它是系统进行 资源分配和调度的一个独立单位。
运行 被调度 时间片 用完 等待资源或 事件
就绪 资源释放或 事件完成
阻塞
第2 章
进程管理
2.进程状态转换原因
运行—阻塞:进程出让CPU,等待系统分配资源或某些事件的发生,
如暂时不能访问某一资源,操作系统尚未完成服务,系统正在初始 化I/O设备,等待用户的输入信息等。 运行—就绪:进程分配的时间片已用完,或者在中断机制下,有更 高优先级的进程进入系统,这时进程进入就绪队列等待下一次被选 中而占用CPU。当进程创建成功时处于就绪态。 阻塞—就绪:处于阻塞队列中的进程,当其等待的事件已经发生 或等待的资源可用时,此进程将进入就绪队列竞争CPU。 就绪—运行:进程被调度程序选中占用CPU。
第2 章
进程管理
以上是进程的基本状态转换关系。实际的操作系统 中进程的状态及转换要更为复杂,引入了五种状态,即 运行、就绪、新建、阻塞和终止。
新建 选中 创建完毕 就绪 时间片用完 结束等待 运行
结束执行 等待事件 终止
阻塞
图2.6五种进程状态转换
第2 章
进程管理
对于有部分进程存在于外存中的情况,进程又增 加了挂起就绪态(存在于外存可以执行的进程状态)和挂 起阻塞态(存在于外存等待某事件的进程状态),其状态 转换图如图2.7所示。
第2 章
进程管理
多道程序设计的特点如下: (1) 多道。主存中有多道程序,它们在任一时刻必须
处于就绪、运行、阻塞三种状态之一。
(2) 宏观上并行。从宏观上看,它们在同时执行。 (3) 微观上串行。从微观上看,它们在交替、穿插地 执行。 其主要优点是: (1) CPU的利用率高。
(2) 设备利用率高。
进程管理
洗水壶
烧开水
拿茶叶 洗茶壶
0
1
13 14 16
洗水壶 拿茶叶 洗茶壶 烧开水
0
1
13
16
图2.1 统筹方法
第2 章
进程管理
为了更好地理解这种系统,我们来看一看图 2.2 。 图2.2(a)描述了在一个多道程序的环境中,内存存放的 四道程序顺序执行的情况。在这种情况下,四道程序 总的运行时间为每个程序运行时间之和。在图2.2(b)中, 将四道程序抽象成为四个各自拥有自己控制流程的独
结束等待 时间片用完 就绪 选中 挂起 解挂 运行 挂起 等待事件 结束执行 挂起 终止 挂起就绪 创建完毕 结束等待 挂起阻塞 解挂 阻塞
创建完毕
新建
图2.7七种进程状态转换
第2 章
进程管理
3.进程队列 在系统中存在有许多不同状态的进程,为了便于 对诸多进程进行管理和调度,必须将各进程的PCB按 照某种方法组织起来,队列就是其中一种比较常用的 方法。系统将同种状态的PCB排成一个队列,利用指
(3) 系统吞吐量大。
第2 章
进程管理
2.1.4与时间有关的错误
在多道程序的执行当中,不可避免地会发生程序 之间相互制约的情况。为了便于理解,我们先来看一 个实际生活中遇到的例子——飞机订票系统。 一个飞机订票系统可以有多个订票处的n个订票终 端。如图2.3所示,现假设n=2,公共数据区为 Hi(i=1,2,…,n) ,分别存放各次班机的现存票数, T1 和 T2表示售票终端的进程,。T1和T2进程的程序如下:
第2 章
进程管理
(4) 资源共享。多个程序可以使用同一资源。多道 程序的引入就是为了提高资源利用率和系统效率,因
此,如果程序不能并发执行,多道程序也就是失去了
它存在的意义。 (5) 程序和计算的不一致。在顺序执行的程序中, 程序和计算始终保持一一对应的关系,但在程序的并 发执行中,程序执行的环境不同,这种对应关系将不 复存在。
第2 章
进程管理
2.进程的组成
进程是在一个上下文的执行环境中运行的,这个 执行环境称为进程的映像,或称进程图像,它包括处 理机中各个通用寄存器的值、进程的内存映像、打开 文件的状态和进程占用资源的信息等。进程映像的主 要部分是存储映像。
第2 章
进程管理
进程的存储映像由以下几部分组成:进程控制块 (ProcessControlBlock,即进程状态信息)、进程执行的程序、执 行时所需要的数据和进程执行时使用的工作区,如图2.4所示。
于进程创建原 语处 着重讨论
第2 章
进程管理
2.2.3进程的基本状态及其转换 1.进程的基本状态 进程因创建而存在,因撤消而消亡,此期间是进 程的生命期。进程在它的生命期内,由于内因和外因 的影响,会呈现不同的状态,每一种状态都有各自的
特征。一般地,进程具有三种基本状态:运行态、就
绪态和阻塞态。
第2 章
PCB 程序 数据区 工作区
图2.4进程的组成
第2 章
进程管理
2.2.2进程控制块 进程控制块记录了进程的标识信息、状态信息和 控制信息。不同的操作系统中, PCB 包含的内容各不 相同,大致有以下三类。 (1)标识信息:惟一地标识一个进程,主要有: 进程标识:为了标识系统中的各个进程,每个进程 必须有一个且只有一个标识名或标识数,也就是在创 建进程时系统分配的惟一的代码,它只能在操作系统 内部使用,如一些数字标识符或表索引号。 用户标识:指明一个进程的所有者,如登录的名称。 父进程标识:是指创建该进程的进程标识。
第2 章
进程管理
(2) 现场信息:记录进程使用处理器时的各种现场 信息,主要有 CPU 通用寄存器的内容, CPU 状态寄存 器的内容以及栈指针等。 (3) 控制信息:操作系统对进程进行调度管理时用 到的信息,主要有: 进程状态:标识进程当前处于运行、就绪或阻塞 三种状态中的哪一种,是进程调度的主要依据。
针组成单向链表或双向链表,方便查找和调度。
当进程状态变化时,它就要被排到另外的队列中, 引起进程的出队和入队。处理器有专门管理出队和入
队工作的模块,简称队列管理。图2.8描述了队列管理
的过程。
第2 章
进程管理
执行指针
PCB1 4 PCB2 3 PCB3 0 PCB4 8 PCB5
就绪队列指针
阻塞队列指针
第2 章
进程管理
进程的创建有以下几个基本步骤: (1) 创建进程标识。即在主进程表中为新进程添加一个表项, 进程就得到了一个惟一的标识符,并被分配进程控制块空间。 (2)分配内存和其他资源。操作系统根据程序、数据的大小, 为进程分配合理的内存空间。 (3) 初始化进程控制块。这一步是初始化进程的控制信息,包 括与调度相关的信息,进程间通信的信息及进程的优先级信息等。 (4) 将创建的进程置于就绪队列。进程创建工作结束后,还要 负责把进程放入就绪队列,等待系统根据一定的算法调度执行。
下主要特征:
(1) 顺序性:当多个程序在处理机上运行时,处理机严格按照 程序结构所指定的顺序执行,程序的每一步都必须在上一步执行
后才能开始。
(2) 资源独占性:一个程序在执行时,独占全部资源。 (3) 可再现性:如果程序的初始条件相同,则其执行的结果相 同,与程序的执行速度无关,即在同一数据集上执行的结果均相 同。
立运行单位(进程),每个运行单位都有自己的运行环境。
第2 章
进程管理
程序顺序执行 A D
进程切换
B C
C B A
D
时间
(a)
(b)
图2.2 四道程序的执行 (a) 顺序执行;(b) 四道程序并发执行的时间关系
第2 章
进程管理
程序的并发执行
I1 I2 C1 I3 C2 P1 并发执行时的特征 I4 C3 P2 C4 P3 P4
相关文档
最新文档