已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3 1进程的基本概念 一 进程的引入二 进程的概念三 进程的特征四 进程的状态及其转换五 进程控制块六 进程的创建和撤消 三 进程的特征1 动态性2 并发性3 独立性进程实体是一个能独立运行的基本单位 同时也是系统中独立获得资源和独立调度的基本单位 没有建立进程的程序 不能作为一个独立的单位参加运行 4 异步性5 结构特性从结构上看 进程由程序段 数据段及PCB三部分组成 四 进程的状态及其转换 1 进程的三种基本状态 1 就绪状态 Ready 当进程已经分配到除CPU以外的所有必要的资源后 只要能再获得处理机 就可以立即执行 2 执行状态 Running 运行状态 指进程已获得处理机而执行的状态 3 阻塞状态 Block 等待状态 进程因为发生某个事件而暂停执行时的状态 如 请求I O 申请缓冲空间等 有时也称 等待 状态或 睡眠 状态 2 进程状态转换 就绪 执行 调度 执行 等待 等待某个事件发生而睡眠 等待 就绪 因等待的事件发生而唤醒 执行 就绪 时间片用完或出现高优先进程 示意图 附 进程状态的转换1 就绪状态执行状态处于就绪状态的进程 当进程调度程序为它分配了处理机后 该进程便由就绪状态变为执行状态 正在执行的进程也称为当前进程 2 执行状态阻塞状态正在执行的进程因发生某件事件而无法执行 例如 进程请求访问临界资源 而该资源正被其它进程访问 则请求该资源的进程将由执行状态转变为阻塞状态 3 执行状态就绪状态正在执行的进程 如果事件发生或中断而被暂停执行 该进程便由执行状态转变为就绪状态 分时系统中 时间片用完 抢占调度方式中 优先权高抢占处理机 4 执行状态终止状态当一个进程经完成或发生某事件 如程序中出现地址越界 非法指令等错误 而被异常结束时 进程将由执行状态转变为终止状态 就绪 结束 执行 阻塞 事件发生 进程调度 等待某事件 完成 时间片用完 创建 进程状态转换示意图 五 进程控制块 进程的静态描述 PCB 程序 数据集各部分的作用 进程控制块 用于描述进程情况及控制进程运行所需的全部信息 程序段 是进程中在CPU上执行的程序代码段 数据段 一个进程的数据段 可以是进程对应的程序加工处理的原始数据 也可以是程序执行后产生的中间或最终数据 1 进程控制块中的信息 进程控制块中主要包括用于描述和控制进程运行的信息 1 进程标识符信息进程标识符用于唯一的标识一个进程 外部标识符 由创建者提供 通常是由字母 数字组成 往往是用户 进程 访问该进程使用 外部标识符便于记忆 如 计算进程 打印进程 发送进程 接收进程等 内部标识符 为了方便系统使用而设置的 在所有的OS中 都为每一个进程赋予一个唯一的整数 作为内部标识符 2 处理机状态信息 现场信息 主要是由处理机各种寄存器中的内容所组成 通用寄存器 又称为用户可视寄存器 可被用户程序访问 用于暂存信息 指令寄存器PC 存放要访问的下一条指令的地址 程序状态字PSW 其中含有状态信息 条件码 执行方式 中断屏蔽标志等 用户栈指针 每个用户进程有一个或若干个与之相关的系统栈 用于存放过程和系统调用参数及调用地址 栈指针指向该栈的栈顶 3 进程调度信息在PCB中还存放了一些与进程调度有关的信息 进程状态 指明进程当前的状态 作为进程调度和对换时的依据 进程优先级 用于描述进程使用处理机的优先级别的一个整数 优先级高的进程优先获得处理机 进程调度所需要的其他信息 进程已等待CPU的时间总和 进程已执行的时间总和 阻塞原因 这是进程由执行状态转变为阻塞状态所等待发生的事件 2 PCB的组织方式 常用的组织方式有两种 链接方式 索引方式 1 链接方式 具有相同状态的PCB 用其中的链接字 链接成一个队列 这样就可以形成就绪队列 若干个阻塞队列和空白队列等 对其中的就绪队列常按照进程优先权的大小排列 把优先权高的进程的PCB排在队列前面 2 索引方式 系统根据所有进程的状态 建立几张索引表 例如 就绪索引表 阻塞索引表 并把各索引表在内存的首地址记录在内存中的一些专用单元中 每个索引表的表目中 记录具有相同状态的某个PCB在PCB表中的地址 六 进程的创建和撤消 由原语实现 一般地 把系统状态下执行的某些具有特定功能的程序段称为原语和进程控制有关的原语有 创建原语 撤销原语 阻塞原语 唤醒原语进程阻塞过程当有阻塞事件发生时 进程便调用阻塞原语block把自己阻塞进程唤醒过程当阻塞进程所期待的事件出现时 则调用唤醒原语wakeup 将等待事件的进程唤醒 唤醒原语执行的过程是 把被阻塞进程从阻塞队列中移出 将其PCB插入到就绪队列中 1 进程的创建 1 申请空白的PCB为新进程分配唯一的数字标识符 并从PCB表项中申请一个空白的PCB 2 为新建立的进程分配资源 3 初始化PCB填写PCB相关表项 将进程的状态设置为 就绪 状态 4 将新进程插入就绪队列 入口 查PCB链表 有空PCB PCB入就绪队列 将有关参数填入PCB相应项 取空闲PCB块 返回 创建失败 无 创建原语流程图 有 2 进程的撤消 1 将该进程所拥有的全部资源 或者归还给它的父进程 或者归还给系统 2 撤消该进程的PCB表项 练习1 正在执行的进程由于时间片用完而被暂停执行 此时进程应从执行状态变为 状态 处于阻塞状态的进程 在进程等待事件出现后 应转变为 状态 若正在执行的进程申请I O则应转变为 3 状态 A 阻塞B 就绪C 执行D 撤消E 创建2 一个进程状态转换发生 有无另一个转换一定发生 试举例说明 3 2进程调度 一 调度级别二 进程调度功能三 进程调度算法四 进程调度时机五 进程上下文 一 调度级别 高级调度 作业调度 宏观调度 中级调度 交换调度 进程在内 外存之间进行切换 引入中级调度的目的是为了提高内存的利用率和系统吞吐量低级调度 进程调度 图 处理机三级调度 作业调度作业运行状态外存 二 进程调度功能 1 记录系统中所有进程的执行情况2 选择占有处理机的进程3 进行进程上下文的切换 三 进程调度算法 进程调度的算法较多 在设计进程调度算法时应考虑的因素多 比如 尽量提高资源利用率减少处理机的空闲时间对于用户作业要较合理的平均响应时间 以及尽可能地增强CPU的处理能力 1 先进先出进程调度算法 FIFO 按照进程就绪的先后次序来调度进程优点 实现简单缺点 没考虑进程的优先级 2 基于优先数的调度 HPF HighestPriorityFirst 优先选择就绪队列中优先级最高的进程投入运行优先级根据优先数来决定 确定优先数的方法静态优先数法 在进程创建时指定优先数 在进程运行时优先数不变动态优先数法 在进程创建时创立一个优先数 但在其生命周期内优先数可以动态变化 如等待时间长优先数可改变 思考 静态优先权和动态优先权相比 更易于实现的是 静态优先权 运行开销较小的是 静态优先权 更需要谨慎确定初始优先权的是 静态优先权 更能反映运行环境变化的是 动态优先权 两种占用CPU的方式 可剥夺式 可抢占式 当有比正在运行的进程优先级更高的进程就绪时 系统可强行剥夺正在运行进程的CPU 提供给具有更高优先级的进程使用不可剥夺式 不可抢占式 某一进程被调度运行后 除非由于它自身的原因不能运行 否则一直运行下去 3 时间片轮转程序调度算法 RR RoundRobin 把CPU划分成若干时间片 并且按顺序赋给就绪队列中的每一个进程 进程轮流占有CPU 当时间片用完时 即使进程未执行完毕 系统也剥夺该进程的CPU 将该进程排在就绪队列末尾 同时系统选择另一个进程运行 轮转调度 时间片长度的确定 时间片长度变化的影响过长 退化为FCFS算法 进程在一个时间片内都执行完 响应时间长 过短 用户的一次请求需要多个时间片才能处理完 上下文切换次数增加 响应时间长 对响应时间的要求 T 响应时间 N 进程数目 q 时间片 时间片长度的影响因素 就绪进程的数目 数目越多 时间片越小 当响应时间一定时 系统的处理能力 应当使用户输入通常在一个时间片内能处理完 否则使响应时间 平均周转时间和平均带权周转时间延长 4 多队列反馈调度算法 将就绪队列分为N级 队列级别越高 时间片越小 最后一级采用时间片轮转 其他队列采用先进先出 系统从第一级调度 当第一级为空时 系统转向第二个队列 如此类推当运行进程用完一个时间片 放弃CPU时 进入下一级队列 等待进程被唤醒时 进入原来的就绪队列 当进程第一次就绪时 进入第一级队列 多级反馈调度队列模型 几点说明 I O型进程 让其进入尽可能高优先级队列 以及时响应I O交互 通常执行一个小时间片 要求可处理完一次I O请求的数据 然后转入到阻塞队列 计算型进程 每次都执行完时间片 进入更低级队列 最终采用最大时间片来执行 减少调度次数 为适应一个进程在不同时间段的运行特点 I O完成时 提高优先级 时间片用完时 降低优先级 四 进程调度的时机 当一个进程运行完毕 或由于某种错误而终止运行当一个进程在运行中处于等待状态 等待I O 分时系统中时间片到当有一个优先级更高的进程就绪 可抢占式 例如 新创建一个进程 一个等待进程变成就绪在进程通信中 执行中的进程执行了某种原语操作 P操作 阻塞原语 唤醒原语 CPU调度过程 保存现场 顺序保存 最后一步保存PSW 选择要运行的程序 如果没有就绪进程 系统会安排一个闲逛进程 idle 没有其他进程时该进程一直运行 在执行过程中可接收中断 恢复现场 最后一步恢复选中进程的PSW 六 进程上下文1 进程上下文 是进程执行活动全过程的静态描述 具体地说 进程上下文包括计算机系统中与执行该进程有关的各种寄存器的值 程序段在经过编译之后形成的机器指令代码集 或称正文段 数据集及各种堆栈值和PCB结构 从CPU的观点来静态地看一个进程时 必须把有关寄存器和栈区的内容也包括在其中 进程上下文结构 显然 一个进程的执行是在该进程的上下文中执行 而当系统调度新进程占有处理机时 新老进程的上下文发生转换 1 决定是否做上下文切换以及是否允许
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CSRME 058-2025地下水封液化石油气库土建工程设计规范
- T/ZBZLXH 006-2024泵类行业绿色工厂建设指南
- T/HEBQIA 166-2023混凝土用方圆颗粒机制砂
- T/CIE 286-2024民航客运销售富媒体数据及应用规范 第3部分:附加服务查询应用接口
- T/CAPID 009-2024零碳能源证书自愿核证体系 生物天然气核证规范
- T/CSAE 497-2025轻型混合动力电动汽车高寒续驶里程道路试验方法
- 2025~2026学年江西省抚州市某校人教版五年级上册期中练习数学试卷【附答案】
- 2025~2026学年广东省佛山市顺德区人教版三年级上册课堂学习材料三数学试卷【附答案】
- 2025-2026学年河北省新乐市初中政治七年级期末上册点睛提升培优拓展题附答案
- PHP 职场场景面试题(含详细真实答案)
- 2026年漠河市法院聘用制书记员考试试题及答案
- 【王朝霞单元活页卷】2026秋五年级上册数学期中综合测试卷
- 2026年中国混凝土搅拌站行业市场分析与发展策略咨询报告
- 临床护理实践指南(2025版)
- 钻井井场安全用电管理办法培训课件
- 2025年国家能源集团笔试试题及答案
- 2026年中国电信校园招聘考试笔试试题及答案
- 47911-2026《小微型企业安全生产标准化管理体系要求》解读
- 《医疗设备报废管理规范(2025版)》
- 2026年部队预防犯罪安全形势分析
- 2026版2型糖尿病全周期分级护理指南
评论
0/150
提交评论