进程概念、进程控制
15
3.1 进程的概念
进程的概念是60年代初首先由麻省理工学院 进程的概念是60年代初首先由麻省理工学院 60 MULTICS系统和IBM公司的CTSS/360系统 系统和IBM公司的CTSS/360 的MULTICS系统和IBM公司的CTSS/360系统 引入的。进程有很多各式各样的定义, 引入的。进程有很多各式各样的定义,如: 进程是一个可以并行执行的计算部分 进程是一个抽象实体,当它执行某个任务时, 进程是一个抽象实体,当它执行某个任务时, 将要分配和释放各种资源 进程是一个独立的可以调度的活动 等等
2.进程控制信息: 2.进程控制信息: 进程控制信息
当前状态(就绪态、执行态、等待态) 当前状态(就绪态、执行态、等待态) 进程优先级(priority) 进程优先级(priority) 进程开始地址 运行统计信息, 运行统计信息,进程占有和利用资源的情况 通信信息
27
ห้องสมุดไป่ตู้
3.资源管理信息: 3.资源管理信息: 资源管理信息 有关存储器的信息 使用输入输出设备的信息 有关文件系统的信息等 4.CPU现场保护信息 现场保护信息: 4.CPU现场保护信息: 存储退出执行时的进程现场数据, 存储退出执行时的进程现场数据,当该进 程重新恢复运行时恢复处理器现场。 程重新恢复运行时恢复处理器现场。 •包括通用寄存器内容、控制寄存器内容、 包括通用寄存器内容、控制寄存器内容、 包括通用寄存器内容 用户堆栈指针、系统堆栈指针等。 用户堆栈指针、系统堆栈指针等。
25
PCB的内容 不同系统不尽相同) PCB的内容 (不同系统不尽相同)
26
PCB的内容 PCB的内容
1.进程描述信息: 1.进程描述信息: 进程描述信息
进程标识符(process ID,唯一, 进程标识符(process ID,唯一,通常是一个整 数)或进程名 用户名或用户标识符(user 用户名或用户标识符(user ID) 家族关系
3
第三章 进程管理
进程(process)的引入 的引入 进程
4
3.1 进程的概念
1 程序的顺序执行 人们在使用计算机完成各自所要求的功能 总是使用“程序” 时,总是使用“程序”这个概念 程序: 程序:是一个在时间上按严格次序前后相 继的操作序列, 继的操作序列,是一个静态的概念 程序的顺序执行: 程序的顺序执行:具有独立功能的程序独 占处理机直至最终结束的过程
5
程序顺序执行的特点: 程序顺序执行的特点: 顺序性: 顺序性:上一条指令的执行结束是下一 条指令执行开始的充分必要条件; 条指令执行开始的充分必要条件;一个 封闭性 程序开始执行必须要等到前一个程序已 可再现性 执行完成 封闭性: 封闭性:程序执行得到的最终结果由给 定的初始条件决定, 定的初始条件决定,不受外界因素影响 可再现性:程序的结果与它的执行速度、 可再现性:程序的结果与它的执行速度、 时间无关,只要给定相同的输入, 时间无关,只要给定相同的输入,一定 会得到相同的结果
第三章 进程管理
OS的任务是使用户充分有效地利用系 OS的任务是使用户充分有效地利用系 统资源,对于处理机而言则是如何把 统资源,对于处理机而言则是如何把 处理机分配给多任务用( 处理机分配给多任务用(处理机调度 算法)。 )。由于多数现代操作系统的设 算法)。由于多数现代操作系统的设 计都是基于进程的概念, 计都是基于进程的概念,处理机的分 配对象也大都是进程, 配对象也大都是进程,所以先介绍进 程管理, 程管理,再介绍处理机调度
6
2 程序的并发执行 为了增强计算机系统的处理能力和提 高资源利用率 所谓程序的并发执行是指: 所谓程序的并发执行是指:一组在逻 辑上互相独立的程序或程序段在执行 过程中, 过程中,其执行时间在客观上互相重 叠,即一个程序或程序段的执行尚未 结束, 结束,另一个程序或程序段的执行已 经开始 会出现什么问题
23
3.2.1进程控制块PCB 3.2.1进程控制块PCB 进程控制块 Process Control Block
PCB包含一个进程的描述信息、控制信 PCB包含一个进程的描述信息、 包含一个进程的描述信息 息以及资源信息, 息以及资源信息,是进程动态特性的集 中反映 进程与PCB是一一对应的。系统利用PCB PCB是一一对应的 进程与PCB是一一对应的。系统利用PCB 来控制和管理进程,所以PCB PCB是系统感 来控制和管理进程,所以PCB是系统感 知进程存在的唯一标志,PCB结构是全 知进程存在的唯一标志,PCB结构是全 部或部分常驻内存 当一个进程完成其功能后, 当一个进程完成其功能后,系统释放 PCB, PCB,进程也随之消亡
12
在一般情况下, 在一般情况下,系统要判断并发执行 的各段程序段是否满足Bernstein Bernstein条 的各段程序段是否满足Bernstein条 件是相当困难的, 件是相当困难的,因此我们需要来解 决程序并发执行所带来的问题
13
思考为什么要引入进程的概念? 思考为什么要引入进程的概念? 为什么要引入进程的概念
9
任何并发执行都是不可再现的吗? 任何并发执行都是不可再现的吗?
程序并发执行的条件
定义: 定义: R(Pi)={a1,a2,…,am} R(Pi)={a1,a2, ,am} 表示程序Pi在执行期间需引用的 表示程序Pi在执行期间需引用的 Pi 变量的集合,称为“读集” 变量的集合,称为“读集” W(Pi)={b1,b2,…,bn} W(Pi)={b1,b2, ,bn} 表示程序Pi在执行期间要改变的 表示程序Pi在执行期间要改变的 Pi 变量的集合,称为“写集” 变量的集合,称为“写集”
8
例:有两个循环程序A和B.A每执行一次时, 有两个循环程序A B.A每执行一次时, 每执行一次时 都要作m 操作。 每执行一次时, 都要作m=m+1操作。B每执行一次时,先执 print(m)操作 然后再将m置成“ 。 操作, 行print(m)操作,然后再将m置成“0”。可能 出现以下三种情况(假定某时刻m的值为m 出现以下三种情况(假定某时刻m的值为m) m=m+1 在print(m)和m=0之前。此时 之前。 和 = 之前 得到的m值分别为 值分别为m+1, m+1 , 0 得到的 值分别为 , m=m+1 在print(m)和m=0之后。此时 之后。 和 = 之后 得到的m值分别为 值分别为m, 得到的 值分别为 , 0 ,1 m=m+1 在print(m)和m=0之间。此时 之间。 和 = 之间 得到的m值分别为 值分别为m, 得到的 值分别为 ,m+1,0 ,
10
有如下两条语句: 有如下两条语句: c=aP1: c=a-b P2: w=c+1 则它们的读集和写集分别是: 则它们的读集和写集分别是: R(P1)={a,b} W(p1)={c} W(p1) {c} W(p2)={w} R(P2)={c} W(p2) {w}
11
若两个程序P1和P2能满足下述条件, 若两个程序P1和P2能满足下述条件,它 P1 能满足下述条件 们便能并发执行,否则不能。 们便能并发执行,否则不能。此条件称 伯恩斯坦条件(Bernstein, 伯恩斯坦条件(Bernstein,1966) R(P1) ∩ W(P2) ∪ R(P2) ∩ W(P1) ∪ }。 P1读集与P2写 读集与P2 W(P1) ∩ W(P2)={ }。即P1读集与P2写 集的交集,P2读集与P1写集的交集 读集与P1写集的交集, 集的交集,P2读集与P1写集的交集,P1 写集和P2写集的交集, P2写集的交集 写集和P2写集的交集,三者同时为空集
16
进程的定义:进程Process 进程的定义:进程Process 进程是一个具有独立功能的程序对某 个数据集合在处理机上的执行过程和 分配资源的基本单位 程序指一组操作序列, 程序指一组操作序列,数据集合则是 接受程序规定操作的一组存储单元的 内容
17
进程的特征
动态性: 动态性:进程是程序的执行具有生命 周期。由系统“创建”而诞生, 周期。由系统“创建”而诞生,因被 调度”而执行, “调度”而执行,因得不到资源而暂 最后因被“撤消” 停,最后因被“撤消”而消亡 并发性:多个进程可同存于内存中, 并发性:多个进程可同存于内存中, 能在一段时间内同时运行
18
进程的特征
独立性: 独立获得资源和调度的基本 独立性 : 单位 异步性: 异步性 : 各进程按各自独立的不可预 知的速度向前推进 结构特征: 数据段、 结构特征:由程序段 、数据段、进程 控制块三部分组成
19
进程和程序的区别: 进程和程序的区别: 的区别 程序是指令的有序集合, 程序是指令的有序集合,其本身没有任 何运行的含义,是一个静态的概念。 何运行的含义,是一个静态的概念。而 进程是程序在处理机上的一次执行过程, 进程是程序在处理机上的一次执行过程, 它是一个动态的概念。 它是一个动态的概念。 程序可以作为一种软件资料长期存在, 程序可以作为一种软件资料长期存在, 而进程是有一定生命期的。 而进程是有一定生命期的。程序是永久 进程是暂时的。 的,进程是暂时的。 进程更能真实地描述并发,而程序不能 进程更能真实地描述并发,
应该有一个描述各程序段执行过程和 共享资源的基本单位, 共享资源的基本单位,以采取某些措 施来制约、控制各并发程序段, 施来制约、控制各并发程序段,程序 并不合适
14
操作系统引入进程的概念 从理论角度看, 从理论角度看 , 是对正在运行的程 序过程的抽象; 序过程的抽象; 从实现角度看, 是一种数据结构, 从实现角度看 , 是一种数据结构 , 目的在于清晰地刻划动态系统的内 在规律, 在规律 , 有效管理和调度进入计算 机系统运行的程序
7
程序并发执行的特点: 程序并发执行的特点: 充分利用了系统资源, 充分利用了系统资源,提高了系统的处 理能力 导致资源共享和竞争, 由于资源有限 ,导致资源共享和竞争, 从而改变程序的执行速度 并发程序执行的结果与其执行的相对速 度有关,是不确定的, 度有关,是不确定的,失去程序的封闭 性 不可再现性 举例(P41) (P41 举例(P41)