进程概念、进程控制.ppt

上传人:自*** 文档编号:127492256 上传时间:2020-04-02 格式:PPT 页数:61 大小:605.50KB
返回 下载 相关 举报
进程概念、进程控制.ppt_第1页
第1页 / 共61页
进程概念、进程控制.ppt_第2页
第2页 / 共61页
进程概念、进程控制.ppt_第3页
第3页 / 共61页
进程概念、进程控制.ppt_第4页
第4页 / 共61页
进程概念、进程控制.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《进程概念、进程控制.ppt》由会员分享,可在线阅读,更多相关《进程概念、进程控制.ppt(61页珍藏版)》请在金锄头文库上搜索。

1、1 第三章进程管理 OS的任务是使用户充分有效地利用系统资源 对于处理机而言则是如何把处理机分配给多任务用 处理机调度算法 由于多数现代操作系统的设计都是基于进程的概念 处理机的分配对象也大都是进程 所以先介绍进程管理 再介绍处理机调度 2 采用进程的概念来描述计算机程序的执行过程和作为资源分配的基本单位 充分反映OS的执行并发 资源共享 用户随机的特点进程 process 是操作系统中最基本 重要的概念 3 第三章进程管理 3 1进程的概念3 2进程的描述3 3进程状态及其转换3 4进程控制3 5进程互斥3 6进程同步3 7进程通信3 8死锁问题3 9线程的概念3 10线程分类与执行 4 第

2、三章进程管理 进程 process 的引入 5 3 1进程的概念 1程序的顺序执行人们在使用计算机完成各自所要求的功能时 总是使用 程序 这个概念程序 是一个在时间上按严格次序前后相继的操作序列 是一个静态的概念程序的顺序执行 具有独立功能的程序独占处理机直至最终结束的过程 6 程序顺序执行的特点 顺序性 上一条指令的执行结束是下一条指令执行开始的充分必要条件 一个程序开始执行必须要等到前一个程序已执行完成封闭性 程序执行得到的最终结果由给定的初始条件决定 不受外界因素影响可再现性 程序的结果与它的执行速度 时间无关 只要给定相同的输入 一定会得到相同的结果 程序顺序执行的特点 顺序性封闭性可

3、再现性 7 2程序的并发执行为了增强计算机系统的处理能力和提高资源利用率所谓程序的并发执行是指 一组在逻辑上互相独立的程序或程序段在执行过程中 其执行时间在客观上互相重叠 即一个程序或程序段的执行尚未结束 另一个程序或程序段的执行已经开始 会出现什么问题 8 程序并发执行的特点 充分利用了系统资源 提高了系统的处理能力由于资源有限 导致资源共享和竞争 从而改变程序的执行速度并发程序执行的结果与其执行的相对速度有关 是不确定的 失去程序的封闭性不可再现性举例 P41 9 例 有两个循环程序A和B A每执行一次时 都要作m m 1操作 B每执行一次时 先执行print m 操作 然后再将m置成 0

4、 可能出现以下三种情况 假定某时刻m的值为m m m 1在print m 和m 0之前 此时得到的m值分别为m 1 m 1 0m m 1在print m 和m 0之后 此时得到的m值分别为m 0 1m m 1在print m 和m 0之间 此时得到的m值分别为m m 1 0 10 程序并发执行的条件 任何并发执行都是不可再现的吗 定义 R Pi a1 a2 am 表示程序Pi在执行期间需引用的变量的集合 称为 读集 W Pi b1 b2 bn 表示程序Pi在执行期间要改变的变量的集合 称为 写集 11 有如下两条语句 P1 c a bP2 w c 1则它们的读集和写集分别是 R P1 a b

5、W p1 c R P2 c W p2 w 12 若两个程序P1和P2能满足下述条件 它们便能并发执行 否则不能 此条件称伯恩斯坦条件 Bernstein 1966 R P1 W P2 R P2 W P1 W P1 W P2 即P1读集与P2写集的交集 P2读集与P1写集的交集 P1写集和P2写集的交集 三者同时为空集 13 在一般情况下 系统要判断并发执行的各段程序段是否满足Bernstein条件是相当困难的 因此我们需要来解决程序并发执行所带来的问题 14 思考为什么要引入进程的概念 应该有一个描述各程序段执行过程和共享资源的基本单位 以采取某些措施来制约 控制各并发程序段 程序并不合适 1

6、5 操作系统引入进程的概念从理论角度看 是对正在运行的程序过程的抽象 从实现角度看 是一种数据结构 目的在于清晰地刻划动态系统的内在规律 有效管理和调度进入计算机系统运行的程序 16 3 1进程的概念 进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS 360系统引入的 进程有很多各式各样的定义 如 进程是一个可以并行执行的计算部分进程是一个抽象实体 当它执行某个任务时 将要分配和释放各种资源进程是一个独立的可以调度的活动等等 17 进程的定义 进程Process进程是一个具有独立功能的程序对某个数据集合在处理机上的执行过程和分配资源的基本单位程序指一组操作序列

7、 数据集合则是接受程序规定操作的一组存储单元的内容 18 进程的特征 动态性 进程是程序的执行具有生命周期 由系统 创建 而诞生 因被 调度 而执行 因得不到资源而暂停 最后因被 撤消 而消亡并发性 多个进程可同存于内存中 能在一段时间内同时运行 19 进程的特征 独立性 独立获得资源和调度的基本单位异步性 各进程按各自独立的不可预知的速度向前推进结构特征 由程序段 数据段 进程控制块三部分组成 20 进程和程序的区别 程序是指令的有序集合 其本身没有任何运行的含义 是一个静态的概念 而进程是程序在处理机上的一次执行过程 它是一个动态的概念 程序可以作为一种软件资料长期存在 而进程是有一定生命

8、期的 程序是永久的 进程是暂时的 进程更能真实地描述并发 而程序不能 21 进程和程序的联系 同一程序同时运行于若干个数据集合上 它将属于若干个不同的进程 也就是说同一程序可以对应多个进程 22 进程和作业的关系 作业是用户向计算机提交的任务实体 进程则是完成用户任务的执行实体一个作业可由多个进程组成作业的概念主要用在批处理系统中 进程的概念用在几乎所有的多道 并发技术的操作系统中 23 3 2进程的描述 进程的静态描述 由程序段 该程序段对其进行操作的数据结构集 进程控制块PCB三部分组成程序段部分描述进程所要完成的功能 数据结构集是程序在执行时必不可少的工作区和操作对象 一般存放在外存中

9、直到该进程执行时再调入内存 24 3 2 1进程控制块PCBProcessControlBlock PCB包含一个进程的描述信息 控制信息以及资源信息 是进程动态特性的集中反映进程与PCB是一一对应的 系统利用PCB来控制和管理进程 所以PCB是系统感知进程存在的唯一标志 PCB结构是全部或部分常驻内存当一个进程完成其功能后 系统释放PCB 进程也随之消亡 25 PCB是进程存在的标志 当系统或父进程创建一个进程时 实际上就是为其建立一个进程控制块PCB既能标识进程的存在 又能刻画出进程的动态特征 它是一个进程仅有的被系统真正感知的部分对操作系统而言 所有进程控制块将构成并发执行控制和维护系统

10、工作的依据 PCB的作用 26 PCB的内容 不同系统不尽相同 27 PCB的内容 1 进程描述信息 进程标识符 processID 唯一 通常是一个整数 或进程名用户名或用户标识符 userID 家族关系2 进程控制信息 当前状态 就绪态 执行态 等待态 进程优先级 priority 进程开始地址运行统计信息 进程占有和利用资源的情况通信信息 28 3 资源管理信息 有关存储器的信息使用输入输出设备的信息有关文件系统的信息等4 CPU现场保护信息 存储退出执行时的进程现场数据 当该进程重新恢复运行时恢复处理器现场 包括通用寄存器内容 控制寄存器内容 用户堆栈指针 系统堆栈指针等 29 PCB

11、是系统中最重要也是被频繁访问的数据结构 系统中的许多模块 如调度程序 资源分配程序 中断处理程序以及监督和分析程序等 特别是运行频率很高的进程分派程序 都要对它进行读或写操作 所以PCB常驻内存的系统区中 系统将所有的PCB组织成若干个链表 或队列 存放在操作系统中专门开辟的PCB区内 30 PCB表 系统把所有PCB组织在一起 并把它们放在内存的固定区域 就构成了PCB表PCB表的大小决定了系统中最多可同时存在的进程个数 称为系统的并发度有两种组织方式 链接和索引 PCB表 31 进程控制块的组织方式 1 链接方式 图PCB链接队列示意图 32 2 索引方式 图按索引方式组织PCB 33 两

12、类进程 系统进程和用户进程系统进程是在系统态下执行操作系统代码用户进程是在用户态下执行用户程序 34 管态与目态 管态指操作系统的管理程序在执行时CPU所处的状态 又名特权态 系统态 核心态目态指用户程序在执行时CPU所处的状态 又名用户态 35 为什么要区分管态与目态 操作系统是计算机系统中最重要的系统软件 为了能正确地进行管理和控制 其本身是不能被破坏的 因此 系统采用了区分处理机状态的办法 为操作系统程序建立一个保护环境 这样 用户程序只能在目态下运行 只能执行非特权指令 只能访问自己的存储区 从而保护了操作系统程序的正常运行 36 3 2 2进程上下文 进程上下文实际上是进程执行活动全

13、过程的静态描述OS中把进程物理实体和支持进程运行的环境合称为进程上下文 context 37 包括计算机系统中与执行该进程有关的各种寄存器的值 程序段在经过编译之后形成的机器指令代码集 数据集 各种堆栈值和PCB结构等当系统调度新进程占有处理器时 这时要做一次进程上下文切换 即保存老进程状态而装入被保护了的新进程的状态 以便新进程运行 38 已执行过的进程指令和数据在相关寄存器与堆栈中的内容称为上文正在执行的进程指令和数据在相关寄存器与堆栈中的内容称为正文待执行的进程指令和数据在相关寄存器与堆栈中的内容称为下文 39 进程上下文的结构 进程上下文可按一定的执行层次组合 用户级上下文 由进程的用

14、户程序块 用户数据块和用户堆栈组成的进程地址空间 系统级上下文 包括系统进程的标识信息及系统堆栈等组成的进程地址空间 寄存器上下文 由PSW寄存器和各类控制寄存器 地址寄存器 通用寄存器组成 40 进程切换的步骤 保存被中断进程的处理器现场信息 修改被中断进程的进程控制块的有关信息 如进程状态等 把被中断进程的进程控制块加入有关队列 选择下一个占有处理器运行的进程 修改被选中进程的进程控制块的有关信息 根据被选中进程恢复处理器现场 41 3 2 3进程上下文切换 包括3个部分1 保存被切换进程的正文部分2 操作系统进程中有关调度和资源分配程序执行 选取新的进程3 将被选中进程的原来被保存的正文

15、部分恢复 42 3 2 4进程空间与大小 每个进程都有自己的地址空间 该空间称为进程空间或虚空间进程空间的大小只与处理机的位数有关 16位长处理机的进程空间大小为216 程序的执行都在进程空间内进行可划分为 用户空间和系统空间 43 3 3进程状态及其转换 3 3 1进程状态3 3 2进程状态转换 44 3 3 1进程状态 一个进程的生命期可以划分为一组状态 系统根据PCB结构中的状态值控制进程进程在生命消亡前处于且仅处于三种基本状态之一三种状态 执行 Running 等待 Wait 阻塞 Blocked 就绪 Ready 45 执行状态 进程正在处理机上运行的状态 该进程已获得必要的资源 也

16、获得了处理机 用户程序正在处理机上运行 等待 阻塞 状态 进程等待某种事件完成 例如 等待输入 输出操作的完成 而暂时不能运行的状态 处于该状态的进程不能参加竞争处理机 此时 即使分配给它处理机 它也不能运行 46 就绪状态 该进程运行所需的一切条件都得到满足 但因处理机资源个数少于进程个数 所以该进程不能运行 而必须等待分配处理机资源 一旦获得处理机就立即投入运行在不少系统中 又增加了两种基本状态 新状态和终止状态 47 引入新状态和终止状态的原因 由于OS在建立一个新进程时 通常分为2步 第一步是为新登录的用户程序创建进程 并为他分配资源 此时进程即处于新状态 第二步是把新创建的进程送入就绪队列 一旦进程进入就绪队列 它便由新状态变为就绪状态一个结束了的进程 其退出系统的过程也分为两步 第一步是将该进程从执行队列中移出 相应的进程处于终止状态 此时系统并不立即撤销它 而是将它暂时留在系统中 以便其它进程去收集该进程的有关信息 48 3 3 2进程状态转换 进程的状态反映进程执行过程的变化 这些状态随着进程的执行和外界条件发生变化和转换 49 典型的进程状态演变图 50 就绪 执行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号