第2章 进程管理(part2)
更新时间:2023-05-29 02:40:01 阅读量: 实用文档 文档下载
- 第2章属下玫瑰见过统帅推荐度:
- 相关推荐
第二章 进 程 管 理
Department of Computer Science
第二章 进程管理2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信 2.7 线程Heb Nomal University1
第二章 进 程 管 理
Department of Computer Science
简单回顾1. 程序顺序执行时的特征 (1) 顺序性: (2) 封闭性: (3) 可再现性: 2. 程序并发执行时的特征 1) 间断性 2) 失去封闭性 3) 不可再现性
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
程序与进程之间的区别 进程更能真实地描述并发,而程序不能 进程更能真实地描述并发, 并发 进程是由程序 数据和控制块三部分组成的 程序, 进程是由程序,数据和控制块三部分组成的 动态的 程序是静态的,进程是动态 程序是静态的,进程是动态的 进程有生命周期 有诞生有消亡,短暂的; 生命周期, 进程有生命周期,有诞生有消亡,短暂的;而程序 是相对长久的 一个程序可对应多个进程,反之亦然 一个程序可对应多个进程, 多个进程 创建其他进程的功能 进程具有创建其他进程的功能,而程序没有 进程具有创建其他进程的功能,
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
较典型的进程定义有: 较典型的进程定义有: (1) 进程是程序的一次执行。 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系 进程是程序在一个数据集合上运行的过程, 统进行资源分配和调度的一个独立单位。 统进行资源分配和调度的一个独立单位。 在引入了进程实体的概念后,我们可以把传统 传统OS中的 在引入了进程实体的概念后,我们可以把传统 中的 进程定义为 进程是进程实体的运行过程, 进程定义为:“进程是进程实体的运行过程,是系统进行 资源分配和调度的一个独立单位” 资源分配和调度的一个独立单位”。
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
2. 进程的三种基本状态就绪
1)就绪 就绪(Ready)状态 就绪 状态进程占有CPU,并在CPU上运行 进程占有CPU,并在CPU上运行时间片完 I/O完成 进程调度
2) 执行状态 执行状态一个进程已经具备运行条件,但由 一个进程已经具备运行条件, 于无CPU暂时不能运行的状态 暂时不能运行的状态( 于无CPU暂时不能运行的状态(当 调度给其CPU时 立即可以运行) 调度给其CPU时,立即可以运行)
阻塞
执行 I/O请求
3) 阻塞状态又叫等待态、封锁态、睡眠态指进 又叫等待态、封锁态、 程因等
待某种事件的发生而暂时不 能运行的状态(即使CPU空闲 空闲, 能运行的状态(即使CPU空闲,该 进程也不可运行) 进程也不可运行)
图 2-5 进程的三种基本状态及其转换
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
三种进程状态三种进程状态->五状态进程模型增加: 创建状态,终止状态 增加: 创建状态,
创建( new)状态 创建(新new)状态 终止(退出exit)状态 终止(退出exit)状态 exit) –OS 已完成为创建一进程所必要的工作 OS –中止后进程移入该状态 中止后进程移入该状态 已构造了进程标识符 –它不再有执行资格 它不再有执行资格 已创建了管理进程所需的表格 –表格和其它信息暂时由辅助程序保留 表格和其它信息暂时由辅助程序保留 –但还没有允许执行该进程 (尚未同意) 但还没有允许执行该进程 尚未同意) –一旦其他进程完成了对终止态进程的信息 一旦其他进程完成了对终止态进程的信息 因为资源有限 抽取之后,系统将删除该进程。 抽取之后,系统将删除该进程。 Heb Nomal University6
第二章 进 程 管 理
Department of Computer Science
2) 进程状态的转换 执行→静止就绪。 执行 静止就绪。 静止就绪 (1) 活动就绪→静止就绪。 活动就绪 静止就绪。 静止就绪 (2) 活动阻塞 静止阻塞。 活动阻塞→静止阻塞 静止阻塞。 (3) 静止就绪 活动就绪。 静止就绪→活动就绪 活动就绪。 激活 (4) 静止阻塞 活动阻塞。 静止阻塞→活动阻塞 活动阻塞。 就绪状态 就绪状态(Ready):进程在内存且可立即进入运行状态 : 阻塞状态 阻塞状态(Blocked):进程在内存并等待某事件的出现 : 静止阻塞/阻塞挂起状态(Blocked, suspend):进程在外 ):进程在外 静止阻塞 阻塞挂起状态( 阻塞挂起状态 ): 存并等待某事件的出现 静止就绪/就绪挂起状态(Ready, suspend):进程在外 静止就绪 就绪挂起状态( ):进程在外 就绪挂起状态 ): 存,但只要进入内存,即可运行 但只要进入内存,图 2-6 具有挂起状态的进程状态图
挂起
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
*进程要素 进程程序 进程数据 栈–用于过程调用和参数传递 用于过程调用和参数传递
进程控制块PCB (进程属性) 进程控制块PCB (进程属性 进程属性)– 处于核心段 – 用户进程不能直接访问、修改自己的PCB 用户进程不能直接访问、修改自己的
Heb Nomal University
第二章 进 程 PCB的内容 PCB的内容 管 理CPU 现场 保护 信息
Department of Computer Science
进程描述信息 进程控制信息
注意:不同操作系统中对进程的控制和管理机制不一样,P
CB中的信息多少也不一样 注意:不同操作系统中对进程的控制和管理机制不一样,PCB中的信息多少也不一样
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
第二章 进程管理2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信 2.7 线程Heb Nomal University10
第二章 进 程 管 理
Department of Computer Science
2.2 进 程 控 制处理器管理的一个主要工作是对进程的控制, 处理器管理的一个主要工作是对进程的控制, 包括:创建进程、阻塞进程、唤醒进程、挂起进程、激活进程、 包括:创建进程、阻塞进程、唤醒进程、挂起进程、激活进程、 终止进程和撤销进程等
2.2.1 进程的创建1. 进程图(Process Graph)B
A C
D
E
F
G
H
I
J
K
L
M
图 2-9 进程树 Heb Nomal University11
第二章 进 程 管 理
Department of Computer Science
2. 引起创建进程的事件 (1) 用户登录。 在终端上交互式的登录。系统为用户创建一个进程,并插入就绪队列 用户登录。 在终端上交互式的登录。 (2) 作业调度。 提交一个批处理作业。 作业调度。 提交一个批处理作业。 (3) 提供服务。 操作系统为用户请求创建一个服务进程。 提供服务。 操作系统为用户请求创建一个服务进程。 (4) 应用请求。 存在的进程孵化(spawn)新的进程。用户进程自己 应用请求。 存在的进程孵化(spawn)新的进程。创建进程
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
3. 进程的创建 进程的创建(Creation of Progress) (1)申请空白 申请空白PCB。 申请空白 。 (2) 为新进程分配资源。 为新进程分配资源。 (3) 初始化进程控制块。 初始化进程控制块。 (4) 将新进程插入就绪队列,或直接投入运行。 将新进程插入就绪队列,或直接投入运行。
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
2.2.2 进程的终止1. 引起进程终止 引起进程终止(Termination of Process)的事件 的事件 的事件 1) 正常结束 在任何计算机系统中,都应有一个用于表示进程已经 运行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条 例如,在批处理系统中,通常在程序的最后安排一条Holt指令或终止的系统 指令或终止的系统 调用。当程序运行到Holt指令时,将产生一个中断,去通知 本进程已经完 指令时, 调用。当程序运行到 指令时 将产生一个中断,去通知OS本进程已经完 在分时系统中,用户可利用Logs off去表示进程运行完毕, 此时同样可 去表示进程运行完毕, 成。 在分时系统中,用户可利用 去表示进程运行完毕 产生一个中断,去通知OS进程已
运行完毕 进程已运行完毕。 产生一个中断,去通知 进程已运行完毕。
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
2) 异常结束 异常结束 在进程运行期间, 在进程运行期间, 由于出现某些错误和故障而迫使进程 终止。这类异常事件很多,常见的有: 终止。这类异常事件很多,常见的有:越界错误。这是指程序所访问的存储区,已越出该进程的区域; ① 越界错误。这是指程序所访问的存储区,已越出该进程的区域; 保护错。进程试图去访问一个不允许访问的资源或文件, ② 保护错。进程试图去访问一个不允许访问的资源或文件,或者以不 适当的方式进行访问,例如,进程试图去写一个只读文件; 适当的方式进行访问,例如,进程试图去写一个只读文件; 非法指令。程序试图去执行一条不存在的指令。出现该错误的原因, ③ 非法指令。程序试图去执行一条不存在的指令。出现该错误的原因, 可能是程序错误地转移到数据区,把数据当成了指令; 可能是程序错误地转移到数据区,把数据当成了指令; 特权指令错。用户进程试图去执行一条只允许OS执行的指令 执行的指令; ④ 特权指令错。用户进程试图去执行一条只允许 执行的指令; 运行超时。进程的执行时间超过了指定的最大值; ⑤ 运行超时。进程的执行时间超过了指定的最大值; 等待超时。进程等待某事件的时间, 超过了规定的最大值; ⑥ 等待超时。进程等待某事件的时间, 超过了规定的最大值; 算术运算错。进程试图去执行一个被禁止的运算,例如, 除 ⑦ 算术运算错。进程试图去执行一个被禁止的运算,例如,被0除; ⑧ I/O故障。这是指在I/O过程中发生了错误等。 故障。这是指在 过程中发生了错误等。 故障 过程中发生了错误等
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
3) 外界干预 外界干预 外界干预并非指在本进程运行中出现了异常事件 , 本进程运行中出现了异常事件, 本进程运行中出现了异常事件 而是指进程应外界的请求而终止运行。 而是指进程应外界的请求而终止运行。这些干预有:操作员或操作系统干预。 由于某种原因,例如,发生了死锁, ① 操作员或操作系统干预。 由于某种原因,例如,发生了死锁, 由操作员或操作系统终止该进程; 由操作员或操作系统终止该进程; 父进程请求。 ② 父进程请求。 由于父进程具有终止自己的任何子孙进程的权 因而当父进程提出请求时,系统将终止该进程; 利, 因而当父进程提出请求时,系统将终止该进程; 父进程终止。 当父进程终止时, 也将他的
所有子孙进程终 ③ 父进程终止。 当父进程终止时,OS也将他的所有子孙进程终 止。
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
2. 进程的终止过程 进程的终止过程 (1) 根据被终止进程的标识符,从PCB集合中找出该进 程的PCB,从中读出该进程的状态。 (2) 若被终止进程正处于执行状态,应立即终止该进程 的执行,并置调度标志为真,用于指示该进程被终止后应 重新进行调度。 (3) 若该进程还有子孙进程,还应将其所有子孙进程予 以终止,以防他们成为不可控的进程。 (4) 将被终止进程所拥有的全部资源,或者归还给其父 进程, 或者归还给系统。 (5) 将被终止进程(它的PCB)从所在队列(或链表)中移出, 将它的PCB归还到PCB池 将它的PCB归还到PCB池。17
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
2.2.3 进程的阻塞与唤醒1. 引起进程阻塞和唤醒的事件 1) 请求系统服务 2) 启动某种操作 3) 新数据尚未到达 4) 无新工作可做
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
2. 进程阻塞过程 进程阻塞过程 正在执行的进程, 当发现上述某事件时, 正在执行的进程 , 当发现上述某事件时 , 由于无法继续 执行,于是进程便通过调用阻塞原语 阻塞原语block把自己阻塞。可见, 把自己阻塞。 执行,于是进程便通过调用阻塞原语 把自己阻塞 可见, 进程的阻塞是进程自身的一种主动行为。 进程的阻塞是进程自身的一种主动行为。 进入block过程后,由于此时该进程还处于执行状态, 所 过程后,由于此时该进程还处于执行状态, 进入 过程后 以应①立即停止执行,保存现场信息到PSW; 以应① 立即停止执行 ,保存现场信息到PSW;② 把进程控制 块中的现行状态由“执行” 改为阻塞, 块中的现行状态由 “ 执行 ” 改为阻塞 , ③ 将 PCB插入阻塞队 插入阻塞队 如果系统中设置了因不同事件而阻塞的多个阻塞队列, 列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞(等待 队列 程插入到具有相同事件的阻塞 等待)队列。 等待 队列。
最后,转调度程序进行重新调度, 最后 , 转调度程序进行重新调度 , 将处理机分配给另一 就绪进程,并进行切换,亦即, 就绪进程 , 并进行切换 , 亦即 , 保留被阻塞进程的处理机状 中的处理机状态设置CPU的 态(在PCB中),再按新进程的 在 中 ,再按新进程的PCB中的处理机状态设置 中的处理机状态设置 的 环境。 环境。 Heb Nomal University19
第二章 进 程 管 理
Department of Computer Science
3. 进程唤醒过程
进程唤醒过程 当被阻塞进程所期待的事件出现时,如I/O完成或其所 期待的数据已经到达,则由有关进程(比如,用完并释放 了该I/O设备的进程)调用唤醒原语 唤醒原语wakeup( ),将等待该事 唤醒原语 件的进程唤醒。 唤醒原语执行的过程是:①首先把被阻塞的进程从 等待该事件的阻塞队列中移出,②将其PCB中的现行状态 由阻塞改为就绪,③然后再将该PCB插入到就绪队列中。
Heb Nomal University
第二章 进 程 管 理
Department of Computer Science
2.2.4 进程的挂起与激活1. 进程的挂起 进程的挂起 当出现了引起进程挂起的事件时,比如,用户进程 请求将自己挂起,或父进程请求将自己的某个子进程挂 起, 系统将利用挂起原语 挂起原语suspend( )将指定进程或处于阻 挂起原语 塞状态的进程挂起。 挂起原语的执行过程是:首先检查被挂起进程的状 态,若处于活动就绪状态,便将其改为静止就绪;对于 活动阻塞状态的进程,则将之改为静止阻塞。 为了方便 用户或父进程考查该进程的运行情况而把该进程的PCB 复制到某指定的内存区域。最后,若被挂起的进程正在 执行,则转向调度程序重新调度。
Heb Nomal University
正在阅读:
第2章 进程管理(part2)05-29
日常生活中的悖论问题05-11
《画正方形与长方形》教学设计10-20
神经病学题库o05-25
2015年度湖南省普法无纸化考试1000题库(附答案)04-07
路基过轨管施工作业指导书02-29
天气业务现代化建设问题的分析与思考(山东授课NEW)07-19
初三化学方程式总结(按反应类型)05-02
新编基础日语第二册模拟试题504-21
化工原理习题解答03-27
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 进程
- part2
- 管理
- 平原县现代农业小麦产业项目建设与管理探索
- 经费管理预留签名、印鉴卡
- 硅业用煤炭分析报告
- 食品添加剂使用管理办法
- 从海航金鹿公务机公司看中国公务航空市场的现状与未来
- 学校传染病预防管理制度
- 04026设计美学第一章《 形态构成论》课后练习题参考答案
- “十三五”重点项目-碳纤维材料项目申请报告
- 顺义区北务卫生院招聘试题【含答案】
- PWM控制器的控制方法
- 公司考勤招聘管理规章制度
- 千年桐的研究进展与发展前景
- 苹果种植户投入—产出效率分析——基于陕西洛川300个苹果种植户调查数据的分析
- 语言学纲要课后答案
- 教科版八年级上册政治知识点
- Flash项目案例教程-2-1
- 2011-2012学年人教版山东省威海市文登市实验中学九年级化学上册期中试卷
- 高考化学58个考点精讲 考点9 (习题课)物质的量应用于化学方程式的计算
- 2013步步高高考物理考前三个月——专题五 学案9
- 一年级上册校本教案