进程的描述与控制分析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年11月29日10时56分 12
五态模型(4)
进程状态转换的具体原因(2) • 终止态→NULL:完成善后操作; • 就绪态→终止态:某些操作系统允许父进
程终结子进程;
2018年11月29日10时56分
13
进程的挂起(1)
挂起的含义:内存的进程“挂”到外存镜像区
为什么要有“挂起”状态?
由于进程的不断创建,系统资源特别是内存 资源已不能满足进程运行的要求,就必须把 某些进程挂起 (suspend)—— 对换到磁盘镜 像区中,释放它所占有的某些资源,暂时不 参与进程调度。
2018年11月29日10时56分
6
三态模型(2)
三种不同的进程状态
运行态(running): 就绪态(ready): 等待态(wait):又称阻塞态 (blocked)
2018年11月29日10时56分
7
三态模型(3)
进程三态模型及其状态转换
运行态
选 中
中 断
出现等待事件
就绪态 等待事件发生
• 进程程序块 • 进程数据块 • 进程控制块
2018年11月29日10时56分
23
进程控制块(1)
是操作系统用于记录和刻划进程状 态及有关信息的数据结构。 也是操作系统掌握进程的唯一资料, 它包括进程执行时的情况,以及进程 让出处理器后所处的状态、断点等各 种信息。
2018年11月29日10时56分
索引方式组织PCB
执行指针 就绪表指针
就 绪 索 引 表 阻 塞 索 引 表
阻塞表指针
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 …
2018年11月29日10时56分
40
2.3.5 进程的控制
原语
操作系统内核
进程的创建
进程的撤消
进程的阻塞和唤醒
进程的挂起和激活
9
五态模型(1)
•新建态:对应进程刚被创建但还未将 它送入就绪队列的状态; •终止态:当一个进程已经正常结束或 异常结束, OS 已将它从队列中移出, 但尚未将它撤消时的状态; 进入终止态的进程不再执行,但依然 临时保留在系统中等待善后。一旦其他 进程完成了对终止态进程的信息抽取之 后,系统将删除该进程。
2018年11月29日10时56分 10
五态模型(2)
进程五态模型及其转换
新状 态
运行 态
终止 态
选 出现等待事件 中ຫໍສະໝຸດ • 已构造了进程标识符; 中 断 • 已创建了管理进程所需的表格;
• 还没有允许执行该进程 (尚未同意) ; • OS所需的关于该进程的信息保存在主存中的 等待 就绪 进程控制表中,但还没有为与这个程序相关的 态 态 数据分配空间,程序还保留在辅存中 等待事件结束
2018年11月29日10时56分 15
进程的挂起(3)
挂起的原则
(3)定期执行的进程(如审计、监控、记账 程序)对换出去,以减轻系统负荷 (4)用户要求挂起自己的进程,以便进行某 些调试、检查和改正。如父进程要求挂 起子进程,以进行某些检查和改正
2018年11月29日10时56分
16
进程的挂起(4)
2018年11月29日10时56分
等待态
8
三态模型(4)
引起进程状态转换的具体原因
• 运行态→等待态:等待使用资源或某事件发生 • 等待态→就绪态:资源得到满足或事件发生 • 运行态→就绪态:运行时间片到或有更高优先权 进程到来 • 就绪态→运行态:CPU空闲时选择一个就绪进程
2018年11月29日10时56分
0
(a)单向连接
2018年11月29日10时56分
36
链接方式(4) 队列管理
•
入队 • 出队
队列管理模块
2018年11月29日10时56分 37
队列管理和状态转换示意图
提交 就绪队列 指派 超时 事件1 出现 事件2 出现 事件n 出现 事件1等待队列 事件2等待队列 等待事件1 等待事件2 完成 处理器
挂起的原则
(5) 操作系统需要挂起某些进程,检查 运行中资源使用情况,以改善系统性能, 或当系统出现故障或某些功能受到破坏 时,需要挂起某些进程以排除故障
2018年11月29日10时56分
17
挂起进程具有如下特征
• 该进程不能立即被调度执行 • 挂起进程可能会等待事件,但所等待 事件结束并不能导致进程具备调度执 行的条件 • 进程进入挂起状态是由于操作系统、 父进程或进程本身阻止它的运行 , 但 结束进程挂起状态的命令只能通过操 作系统或父进程发出
• 原语 (Primitive) 是 CPU 在管态下执行、 完成系统特定功能的过程; • 原语的执行是顺序的而不是并发的, 因此,一般采用屏蔽中断的方式来实 现原语功能,以保证原语操作不可被 打断的特性;
2018年11月29日10时56分 43
起到平滑系统操作负荷的目的。此时, 进程状态也称“静止状态”。
2018年11月29日10时56分 14
进程的挂起(2)
挂起的原则
(1)把一些阻塞进程先对换出去,对换到磁 盘镜像区中,释放它所占有的某些资源, 腾出足够内存装入就绪进程运行
(2)就绪队列中部分不重要或不紧迫的进程 以调整系统负荷 , 保证系统的实时性或 让系统正常运行
挂起就绪态→就绪态:内存中没有 就绪态进程,或内存较为空闲、系 统负荷不重,或挂起就绪态进程具 有比就绪态进程更高的优先级时, 将把挂起就绪态进程转换成就绪态
就绪态→挂起就绪态:系统根据当 前资源状况和性能要求,可以把就 绪态进程对换出去成为挂起就绪态
22
2018年11月29日10时56分
进程的组成要素
24
进程控制块(2)
进程控制块包含三类信息
2018年11月29日10时56分
标识信息 现场信息 控制信息
25
进程控制块(3)
标识信息
用于唯一地标识一个进程,分由用户 使用的外部标识符和被系统使用的内 部标识号。
2018年11月29日10时56分
26
进程控制块(4)
现场信息
现场信息包括通用寄存器内容、控制 寄存器内容、用户堆栈指针、系统堆 栈指针等 进程让出处理器时必须把处理器现场 信息保存到PCB中,以便当该进程重新 恢复运行时可以恢复处理器现场
19
2018年11月29日10时56分
具有挂起功能的进程状态及其转换
提 交 挂起 就绪态 解 挂 除 起 挂 选 起 中 等待事件结束 挂 起 运行 态 挂起 等待态
新建 态 提 交
就绪 态
解 挂 除 起 挂 出现 起 落 终 等待 选 止 事件 态 等待 等待事件结束 态
20
2018年11月29日10时56分
……
事件n等待队列 等待事件n
队 列 管 理 模 块
38
2018年11月29日10时56分
表格法组织PCB
所有进程的 PCB 都组织在一个线
性表中 , 进程调度时需要查找整 个PCB表; 也可以把相同状态进程的 PCB 组 织在一个线性表中,系统有多个 线性表,这样可缩短查表时间;
2018年11月29日10时56分 39
2018年11月29日10时56分
31
操作系统的控制结构
• I/O控制表:管理系统的 I/O设备和通 道,包括: I/O 设备和通道是否可用, I/O设备和通道分配信息,I/O操作的 状态和进展, I/O 操作传输数据所在 主存区; • 文件控制表:包括:被打开文件的信 息,文件在主存储器和二级存储器中 的位置信息,被打开文件的状态和其 他属性信息;
2018年11月29日10时56分 32
进程管理——进程控制表的组织方式
操作系统通过管理进程控制块 来实现对进程的管理。进程控制 块的组织方式有:
• 链接方式 • 表格方式 • 索引方式
2018年11月29日10时56分 33
链接方式(1)
处于同一状态的所有 PCB 链接在一起
的数据结构称为进程队列 (Process Queues); 同一状态进程的 PCB 既可按先来先到 的原则排成队列,也可按优先数或其 它原则排成队列;
2018年11月29日10时56分 2
程序与进程的区别与联系 进程与程序的区别: 程序 进程 ———————————————————————— 指令的有序集合 程序的一次执行 静态、无生命期 动态、有生命期 可长期保存 因创建而产生,撤消而消亡 ———————————————————————— 进程与程序的联系: 每个进程都必须与某一个程序相对应; 同一个程序可以对应多个进程。 (即多个进程可以含有相同的程序)
2018年11月29日10时56分 27
进程控制块(5)
控制信息(1)
1)进程调度相关信息:如进程状态、 进程优先级、进程等待事件等; 2)进程组成信息:如程序段指针、数 据段指针; 3)进程间通信相关信息:如消息队列 指针、互斥和同步机制需要的信号 量等;
2018年11月29日10时56分 28
2.3 进程的描述与控制
2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6
2018年11月29日10时56分
进程的定义和属性 进程的状态和转换 进程的组成要素 操作系统的控制结构 进程管理 进程的控制
1
进程的定义和属性(1)
进程的定义
进程是可并发执行的、具有独立功 能的程序关于某个数据集合的一次执 行过程,也是操作系统进行资源分配 和保护的基本单位 进程是操作系统中最基本、重要的概念 进程与程序的区别?
进程的定义和属性(2)
进程的属性 • 动态性: • 独立性: • 并发性: • 异步性:
2018年11月29日10时56分 4
进程的状态和转换
三态模型
五态模型
进程的挂起状态
2018年11月29日10时56分
5
三态模型(1)
一个进程从创建而产生至撤销 而消亡的整个生命周期,可用一 组状态加以刻划,按进程在执行 过程中的状况至少定义三种不同 的进程状态:
操作系统的控制表分为四类:
进程控制表,存储控制表,I/O控制 表和文件控制表。
2018年11月29日10时56分
30
操作系统的控制结构
• 进程控制表:管理进程及其相关信息; • 存储控制表:管理主存储器和虚拟存储 器。内容包括:主存储器的分配信息, 存储保护和分区共享信息,虚拟存储器 的分配和管理信息;
进程控制块(6)
控制信息(2)
4)CPU资源的占用和使用信息:如时间 片余量、进程己占用 CPU 总时间、进 程己执行时间; 5 )链接指针:本进程所在队列的下一 个进程的PCB首地址; 6 )资源清单:包括进程所需全部资源、 已经分得的资源;
2018年11月29日10时56分 29
操作系统的控制结构
2018年11月29日10时56分 11
五态模型(3)
进程状态转换的具体原因(1)
• NULL→新建态:创建一个进程; • 新建态→就绪态:系统完成了进程创 建操作,且当前系统的资源、性能和 内存的容量均允许; • 运行态→终止态:一个进程到达自然 结束点,或出现了无法克服的错误、 被操作系统所终结
2018年11月29日10时56分 18
具有挂起功能的进程状态
进程增加了两个新状态: 挂起就绪态( ready suspend )表明 进程具备运行条件但目前在辅存储 器中,当它被对换到主存才能被调 度执行; 挂 起 等 待 态 ( blocked suspend ) 表明进程正在等待某一个事件且在 辅存储器中;
2018年11月29日10时56分
41
原语(1)
处理器管理的一个主要工作是对进
程的控制,包括:创建进程、阻塞 进程、唤醒进程、挂起进程、激活 进程、终止进程和撤销进程等。 这些控制功能是由操作系统中的原 语来实现的。
若干条程序语句组成
2018年11月29日10时56分 42
原语(2)
原语操作的特点: 原语在执行过程中不允许被中断,是 一个不可分割的基本单位;
2018年11月29日10时56分
34
链接方式(2)
链接进程控制块的方法
单向链接
双向链接
2018年11月29日10时56分
35
链接方式(3)
进程控制块的链接
PCB1 PCB2 PCB3 PCB4 PCB1 PCB2 PCB3 PCB4
队首 指针
0
队首 指针 后 向 0 前 向 (b) 双向连接
具有挂起进程状态转换的具体原因(1)
• 等待态→挂起等待态:因为内存资 源紧张,至少一个等待态进程将被 对换出去成为挂起等待态;
• 挂起等待态→挂起就绪态:引起 进程等待的事件发生之后,相应 的挂起等待态进程可被转换为挂 起就绪态
2018年11月29日10时56分 21
具有挂起进程状态转换的具体原因(2)
五态模型(4)
进程状态转换的具体原因(2) • 终止态→NULL:完成善后操作; • 就绪态→终止态:某些操作系统允许父进
程终结子进程;
2018年11月29日10时56分
13
进程的挂起(1)
挂起的含义:内存的进程“挂”到外存镜像区
为什么要有“挂起”状态?
由于进程的不断创建,系统资源特别是内存 资源已不能满足进程运行的要求,就必须把 某些进程挂起 (suspend)—— 对换到磁盘镜 像区中,释放它所占有的某些资源,暂时不 参与进程调度。
2018年11月29日10时56分
6
三态模型(2)
三种不同的进程状态
运行态(running): 就绪态(ready): 等待态(wait):又称阻塞态 (blocked)
2018年11月29日10时56分
7
三态模型(3)
进程三态模型及其状态转换
运行态
选 中
中 断
出现等待事件
就绪态 等待事件发生
• 进程程序块 • 进程数据块 • 进程控制块
2018年11月29日10时56分
23
进程控制块(1)
是操作系统用于记录和刻划进程状 态及有关信息的数据结构。 也是操作系统掌握进程的唯一资料, 它包括进程执行时的情况,以及进程 让出处理器后所处的状态、断点等各 种信息。
2018年11月29日10时56分
索引方式组织PCB
执行指针 就绪表指针
就 绪 索 引 表 阻 塞 索 引 表
阻塞表指针
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 …
2018年11月29日10时56分
40
2.3.5 进程的控制
原语
操作系统内核
进程的创建
进程的撤消
进程的阻塞和唤醒
进程的挂起和激活
9
五态模型(1)
•新建态:对应进程刚被创建但还未将 它送入就绪队列的状态; •终止态:当一个进程已经正常结束或 异常结束, OS 已将它从队列中移出, 但尚未将它撤消时的状态; 进入终止态的进程不再执行,但依然 临时保留在系统中等待善后。一旦其他 进程完成了对终止态进程的信息抽取之 后,系统将删除该进程。
2018年11月29日10时56分 10
五态模型(2)
进程五态模型及其转换
新状 态
运行 态
终止 态
选 出现等待事件 中ຫໍສະໝຸດ • 已构造了进程标识符; 中 断 • 已创建了管理进程所需的表格;
• 还没有允许执行该进程 (尚未同意) ; • OS所需的关于该进程的信息保存在主存中的 等待 就绪 进程控制表中,但还没有为与这个程序相关的 态 态 数据分配空间,程序还保留在辅存中 等待事件结束
2018年11月29日10时56分 15
进程的挂起(3)
挂起的原则
(3)定期执行的进程(如审计、监控、记账 程序)对换出去,以减轻系统负荷 (4)用户要求挂起自己的进程,以便进行某 些调试、检查和改正。如父进程要求挂 起子进程,以进行某些检查和改正
2018年11月29日10时56分
16
进程的挂起(4)
2018年11月29日10时56分
等待态
8
三态模型(4)
引起进程状态转换的具体原因
• 运行态→等待态:等待使用资源或某事件发生 • 等待态→就绪态:资源得到满足或事件发生 • 运行态→就绪态:运行时间片到或有更高优先权 进程到来 • 就绪态→运行态:CPU空闲时选择一个就绪进程
2018年11月29日10时56分
0
(a)单向连接
2018年11月29日10时56分
36
链接方式(4) 队列管理
•
入队 • 出队
队列管理模块
2018年11月29日10时56分 37
队列管理和状态转换示意图
提交 就绪队列 指派 超时 事件1 出现 事件2 出现 事件n 出现 事件1等待队列 事件2等待队列 等待事件1 等待事件2 完成 处理器
挂起的原则
(5) 操作系统需要挂起某些进程,检查 运行中资源使用情况,以改善系统性能, 或当系统出现故障或某些功能受到破坏 时,需要挂起某些进程以排除故障
2018年11月29日10时56分
17
挂起进程具有如下特征
• 该进程不能立即被调度执行 • 挂起进程可能会等待事件,但所等待 事件结束并不能导致进程具备调度执 行的条件 • 进程进入挂起状态是由于操作系统、 父进程或进程本身阻止它的运行 , 但 结束进程挂起状态的命令只能通过操 作系统或父进程发出
• 原语 (Primitive) 是 CPU 在管态下执行、 完成系统特定功能的过程; • 原语的执行是顺序的而不是并发的, 因此,一般采用屏蔽中断的方式来实 现原语功能,以保证原语操作不可被 打断的特性;
2018年11月29日10时56分 43
起到平滑系统操作负荷的目的。此时, 进程状态也称“静止状态”。
2018年11月29日10时56分 14
进程的挂起(2)
挂起的原则
(1)把一些阻塞进程先对换出去,对换到磁 盘镜像区中,释放它所占有的某些资源, 腾出足够内存装入就绪进程运行
(2)就绪队列中部分不重要或不紧迫的进程 以调整系统负荷 , 保证系统的实时性或 让系统正常运行
挂起就绪态→就绪态:内存中没有 就绪态进程,或内存较为空闲、系 统负荷不重,或挂起就绪态进程具 有比就绪态进程更高的优先级时, 将把挂起就绪态进程转换成就绪态
就绪态→挂起就绪态:系统根据当 前资源状况和性能要求,可以把就 绪态进程对换出去成为挂起就绪态
22
2018年11月29日10时56分
进程的组成要素
24
进程控制块(2)
进程控制块包含三类信息
2018年11月29日10时56分
标识信息 现场信息 控制信息
25
进程控制块(3)
标识信息
用于唯一地标识一个进程,分由用户 使用的外部标识符和被系统使用的内 部标识号。
2018年11月29日10时56分
26
进程控制块(4)
现场信息
现场信息包括通用寄存器内容、控制 寄存器内容、用户堆栈指针、系统堆 栈指针等 进程让出处理器时必须把处理器现场 信息保存到PCB中,以便当该进程重新 恢复运行时可以恢复处理器现场
19
2018年11月29日10时56分
具有挂起功能的进程状态及其转换
提 交 挂起 就绪态 解 挂 除 起 挂 选 起 中 等待事件结束 挂 起 运行 态 挂起 等待态
新建 态 提 交
就绪 态
解 挂 除 起 挂 出现 起 落 终 等待 选 止 事件 态 等待 等待事件结束 态
20
2018年11月29日10时56分
……
事件n等待队列 等待事件n
队 列 管 理 模 块
38
2018年11月29日10时56分
表格法组织PCB
所有进程的 PCB 都组织在一个线
性表中 , 进程调度时需要查找整 个PCB表; 也可以把相同状态进程的 PCB 组 织在一个线性表中,系统有多个 线性表,这样可缩短查表时间;
2018年11月29日10时56分 39
2018年11月29日10时56分
31
操作系统的控制结构
• I/O控制表:管理系统的 I/O设备和通 道,包括: I/O 设备和通道是否可用, I/O设备和通道分配信息,I/O操作的 状态和进展, I/O 操作传输数据所在 主存区; • 文件控制表:包括:被打开文件的信 息,文件在主存储器和二级存储器中 的位置信息,被打开文件的状态和其 他属性信息;
2018年11月29日10时56分 32
进程管理——进程控制表的组织方式
操作系统通过管理进程控制块 来实现对进程的管理。进程控制 块的组织方式有:
• 链接方式 • 表格方式 • 索引方式
2018年11月29日10时56分 33
链接方式(1)
处于同一状态的所有 PCB 链接在一起
的数据结构称为进程队列 (Process Queues); 同一状态进程的 PCB 既可按先来先到 的原则排成队列,也可按优先数或其 它原则排成队列;
2018年11月29日10时56分 2
程序与进程的区别与联系 进程与程序的区别: 程序 进程 ———————————————————————— 指令的有序集合 程序的一次执行 静态、无生命期 动态、有生命期 可长期保存 因创建而产生,撤消而消亡 ———————————————————————— 进程与程序的联系: 每个进程都必须与某一个程序相对应; 同一个程序可以对应多个进程。 (即多个进程可以含有相同的程序)
2018年11月29日10时56分 27
进程控制块(5)
控制信息(1)
1)进程调度相关信息:如进程状态、 进程优先级、进程等待事件等; 2)进程组成信息:如程序段指针、数 据段指针; 3)进程间通信相关信息:如消息队列 指针、互斥和同步机制需要的信号 量等;
2018年11月29日10时56分 28
2.3 进程的描述与控制
2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6
2018年11月29日10时56分
进程的定义和属性 进程的状态和转换 进程的组成要素 操作系统的控制结构 进程管理 进程的控制
1
进程的定义和属性(1)
进程的定义
进程是可并发执行的、具有独立功 能的程序关于某个数据集合的一次执 行过程,也是操作系统进行资源分配 和保护的基本单位 进程是操作系统中最基本、重要的概念 进程与程序的区别?
进程的定义和属性(2)
进程的属性 • 动态性: • 独立性: • 并发性: • 异步性:
2018年11月29日10时56分 4
进程的状态和转换
三态模型
五态模型
进程的挂起状态
2018年11月29日10时56分
5
三态模型(1)
一个进程从创建而产生至撤销 而消亡的整个生命周期,可用一 组状态加以刻划,按进程在执行 过程中的状况至少定义三种不同 的进程状态:
操作系统的控制表分为四类:
进程控制表,存储控制表,I/O控制 表和文件控制表。
2018年11月29日10时56分
30
操作系统的控制结构
• 进程控制表:管理进程及其相关信息; • 存储控制表:管理主存储器和虚拟存储 器。内容包括:主存储器的分配信息, 存储保护和分区共享信息,虚拟存储器 的分配和管理信息;
进程控制块(6)
控制信息(2)
4)CPU资源的占用和使用信息:如时间 片余量、进程己占用 CPU 总时间、进 程己执行时间; 5 )链接指针:本进程所在队列的下一 个进程的PCB首地址; 6 )资源清单:包括进程所需全部资源、 已经分得的资源;
2018年11月29日10时56分 29
操作系统的控制结构
2018年11月29日10时56分 11
五态模型(3)
进程状态转换的具体原因(1)
• NULL→新建态:创建一个进程; • 新建态→就绪态:系统完成了进程创 建操作,且当前系统的资源、性能和 内存的容量均允许; • 运行态→终止态:一个进程到达自然 结束点,或出现了无法克服的错误、 被操作系统所终结
2018年11月29日10时56分 18
具有挂起功能的进程状态
进程增加了两个新状态: 挂起就绪态( ready suspend )表明 进程具备运行条件但目前在辅存储 器中,当它被对换到主存才能被调 度执行; 挂 起 等 待 态 ( blocked suspend ) 表明进程正在等待某一个事件且在 辅存储器中;
2018年11月29日10时56分
41
原语(1)
处理器管理的一个主要工作是对进
程的控制,包括:创建进程、阻塞 进程、唤醒进程、挂起进程、激活 进程、终止进程和撤销进程等。 这些控制功能是由操作系统中的原 语来实现的。
若干条程序语句组成
2018年11月29日10时56分 42
原语(2)
原语操作的特点: 原语在执行过程中不允许被中断,是 一个不可分割的基本单位;
2018年11月29日10时56分
34
链接方式(2)
链接进程控制块的方法
单向链接
双向链接
2018年11月29日10时56分
35
链接方式(3)
进程控制块的链接
PCB1 PCB2 PCB3 PCB4 PCB1 PCB2 PCB3 PCB4
队首 指针
0
队首 指针 后 向 0 前 向 (b) 双向连接
具有挂起进程状态转换的具体原因(1)
• 等待态→挂起等待态:因为内存资 源紧张,至少一个等待态进程将被 对换出去成为挂起等待态;
• 挂起等待态→挂起就绪态:引起 进程等待的事件发生之后,相应 的挂起等待态进程可被转换为挂 起就绪态
2018年11月29日10时56分 21
具有挂起进程状态转换的具体原因(2)