




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二节进程基本概念 上面所列的多道系统中的程序并发运行的新特点 程序本身是无法描述的 为此 当一个程序在并发系统中执行时 需引进一个新的数据结构来记录和描述这些特征 这样 新引进的数据结构与它所描述的程序便形成了一个有机体 这个有机体就是进程 进程模型的提出 MIT 麻省理工学院 60年代初期进程的概念进程的状态及其转换进程控制块 ProcessControlBlock 一 进程的概念 1 进程定义 Process进程是具有独立功能的程序在某个数据集合上的一次运行活动 是系统进行资源分配和调度的独立单位 此定义包含有如下的含义 1 进程是一个动态的概念 而程序是静态的 2 进程包含了一个数据集合和运行其上的程序 3 同一程序运行于若干不同的数据集合上时 它将属于若干个不同的进程 或者说 两个不同的进程可包含相同的程序 4 系统分配资源是以进程为单位的 所以只有进程才可能在不同的时刻处于几种不同的状态 即等待 就绪 运行 5 从微观上看 进程是轮换地占有处理机而运行的 从宏观上看 进程是并发地运行的 对进程定义的进一步分析 2 进程的构成 进程 PCB 程序 数据其中 PCB processcontrolblock 为记录程序在并发系统中执行时的动态特性的数据结构 进程的这三部分构成进程在系统中存在和活动实体 称为 进程映象 or 进程实体 并发性 任何进程都可以同其他进程一起向前推进动态性 进程对应程序的执行 进程是动态产生 动态消亡的 进程在其生命周期内 在三种基本状态之间转换独立性 进程是CPU调度的一个独立单位异步性 每个进程都与其相对独立的不可预知的速度向前推进结构性 进程的组成 程序 数据 PCB 3 进程的特征 进程是动态的 程序是静态的 程序是有序代码的集合 进程是程序的执行 通常进程不可在计算机之间迁移 而程序通常对应着文件 静态和可以复制 进程是暂时的 程序的永久的 进程是一个状态变化的过程 程序可长久保存 进程与程序的组成不同 进程的组成包括程序 数据和进程控制块 即进程状态信息 进程与程序的对应关系 通过多次执行 一个程序可对应多个进程 通过调用关系 一个进程可包括多个程序 4 程序与进程之间的区别 系统进程系统进程起着资源管理和控制的作用 或者 执行操作系统核心代码的进程 用户进程 执行用户程序的进程 系统进程优先于用户进程 另一种分类 计算进程 I O进程等 5 进程的分类 1 系统进程被分配一个初始的资源集合 这些资源可以为它独占 也能以最高优先权的资格使用 用户进程通过系统服务请求的手段竞争使用系统资源 2 用户进程不能直接做I O操作 而系统进程可以做显式的 直接的I O操作 3 系统进程在系统态 管态 下活动 而用户进程则在用户态 目态 下活动 当中央处理器处于管态时 可以执行包括特权指令在内的一切面器指令 而在目态下工作时不允许执行特权指令 系统进程与用户进程的区别 二 进程的状态及其转换 不同系统设置的进程状态数目不同1 三状态模型 进程的三种基本状态 运行状态 就绪状态 等待 阻塞 状态 进程在生命消亡前总是处于且仅处于三种基本状态之一 运行态 Running 当进程由调度 分派程序 Dispatcher 分派后 进程占有CPU 并在CPU上运行 注意 在系统中 总只有一个进程处于此状态 就绪态 Ready 一个进程已经具备运行条件 但由于无CPU暂时不能运行的状态 当调度给其CPU时 立即可以运行 等待态 Blocked 阻塞态 挂起态 封锁态冻结态 睡眠态指进程因等待某种事件的发生 请求I O 申请缓冲空间等 而暂时不能运行的状态 注意 即使CPU空闲 该进程也不可运行 在进程运行过程中 由于进程自身进展情况及外界环境的变化 这三种基本状态可以依据一定的条件相互转换 就绪 运行 运行 就绪 运行 等待 等待 就绪 进程状态转换 就绪 运行调度程序选择一个新的进程运行运行 就绪运行进程用完了时间片运行进程被中断 因为一高优先级进程处于就绪状态运行 等待当一进程必须等待时OS尚未完成服务对一资源的访问尚不能进行初始化I O且必须等待结果等待某一进程提供输入 IPC 等待 就绪当所等待的事件发生时 进程三状态模型的内存跟踪示意图 进程之间的状态转换并非都是可逆的 进程既不能从等待变为运行 也不能从就绪变为等待 进程之间的状态转换并非都是主动的 在很多情况下是 它动的 事实上 只有运行到等待的转换是进程的主动行为 主动调用调度管理程序 其它都是它动的 如 从执行到就绪 通常是时钟中断引起的 从等待到就绪 是一个进程把另一个进程唤醒 进程三状态转换的再说明 当然 除某些比较特殊的进程以外 大多数进程有其发生 发展和消亡的过程 不会无休止地在上述三种状态中循环 对这些进程而言 还应该有其它状态 如 创建状态 终止状态挂起状态 调节负载 父进程 操作系统 终端用户 其他状态 引入了创建状态与终止状态创建 新new 状态OS已完成为创建一进程所必要的工作 包括已构造了进程标识符 已创建了管理进程所需的表格 但还没有允许执行该进程 尚未同意 因为资源有限终止 退出exit 状态进程已结束运行 回收除PCB之外的其他资源 并让其他进程从PCB中收集有关信息例 为处理用户帐单而累计资源使用情况的财务程序 当数据不再需要后 进程 和它的表格 被删除 2 五状态模型 五状态进程模型图 收容 Admit 也称为提交 收容一个新进程 进入就绪状态 由于性能 内存 进程总数等原因 系统会限制并发进程总数 释放 Release 由于进程完成或失败而中止进程运行 进入结束状态 运行到结束 分为正常退出Exit和异常退出abort 执行超时或内存不够 非法指令或地址 I O失败 被其他进程所终止 就绪或阻塞到结束 可能的原因有 父进程可在任何时间中止子进程 该模型的出现是由于某些原因导致进程被对换至外存 成为挂起状态 包括 终端用户的需要 调试父进程请求 负荷调节的需要 内存等资源紧张OS的需要 检查资源使用情况等 如银行家算法 3 七状态模型 引入挂起状态 状态 就绪状态 Ready 进程在内存且可立即进入运行态 阻塞状态 Blocked 进程在内存等待某事件出现阻塞挂起状态 Blockedsuspend 进程在外存并等待某事件的出现就绪挂起状态 Readysuspend 进程在外存 但只要进入内存 即可运行 七状态进程模型图 1 挂起 Suspend 把进程从内存转到外存 可能有以下几种情况 阻塞到阻塞挂起 释放内存 就绪到就绪挂起 释放内存 运行到就绪挂起 对抢先式分时系统 当有高优先级阻塞挂起进程因事件完成而进入就绪时 系统可能会把运行进程转到就绪挂起状态 新状态转换 中期调度 2 激活 Activate 把进程从外存转到内存 可能有以下几种情况 就绪挂起到就绪 没有就绪进程或挂起就绪进程优先级高于就绪进程时 会进行这种转换 阻塞挂起到阻塞 当BlockedSuspend队列中有一个进程的阻塞事件可能会很快发生 则可将一个Blocked Suspend进程换入内存 变为Blocked 三 进程控制块ProcessControlBlock PCB 1 def 存放进程的管理和控制信息的数据结构称为进程控制块 它是进程管理和控制的最重要的数据结构 在创建时 建立PCB 并伴随进程运行的全过程 直到进程撤消而撤消 PCB就象我们的户口 系统用它来记录进程的外部特征 描述进程的运动变化过程 进程控制块是由OS维护的用来记录进程相关信息的一块内存 系统利用PCB来控制和管理进程 所以PCB是系统感知进程存在的唯一标志 进程的状态转换 进程的推进也是以PCB体现出来的 2 作用 注意 进程与PCB是一一对应的是每个进程在OS中的登记表项 可能有总数目限制 OS据此对进程进行控制和管理 PCB中的内容会动态改变 不同OS则不同处于核心段 通常不能由应用程序自身的代码来直接访问 而要通过系统调用 或通过UNIX中的进程文件系统 proc 直接访问进程映象 image 文件名为进程标识 如 00316 权限为创建者可读写 进程描述信息 进程标识符 processID 唯一 通常是一个整数 1 内部标识符 在所有的操作系统中 都为每一个进程赋予了一个惟一的数字标识符 它通常是一个进程的序号 设置内部标识符主要是为了方便系统使用 2 外部标识符 它由创建者提供 通常是由字母 数字组成 往往是由用户 进程 在访问该进程时使用 为了描述进程的家族关系 还应设置父进程标识及子进程标识 此外 还可设置用户标识 以指示拥有该进程的用户 3 PCB的内容 2 处理机状态处理机状态信息主要是由处理机的各种寄存器中的内容组成的 处理机在运行时 许多信息都放在寄存器中 当处理机被中断时 所有这些信息都必须保存在PCB中 以便在该进程重新执行时 能从断点继续执行 这些寄存器包括 通用寄存器 又称为用户可视寄存器 它们是用户程序可以访问的 用于暂存信息 在大多数处理机中 有8 32个通用寄存器 在RISC结构的计算机中可超过100个 指令计数器 其中存放了要访问的下一条指令的地址 程序状态字PSW 其中含有状态信息 如条件码 执行方式 中断屏蔽标志等 用户栈指针 指每个用户进程都有一个或若干个与之相关的系统栈 用于存放过程和系统调用参数及调用地址 栈指针指向该栈的栈顶 3 进程调度信息在PCB中还存放一些与进程调度和进程对换有关的信息 包括 进程状态 指明进程的当前状态 作为进程调度和对换时的依据 进程优先级 用于描述进程使用处理机的优先级别的一个整数 优先级高的进程应优先获得处理机 进程调度所需的其它信息 它们与所采用的进程调度算法有关 比如 进程已等待CPU的时间总和 进程已执行的时间总和等 事件 指进程由执行状态转变为阻塞状态所等待发生的事件 即阻塞原因 4 进程控制信息进程控制信息包括 程序和数据的地址 指进程的程序和数据所在的内存或外存地 首 址 以便再调度到该进程执行时 能从PCB中找到其程序和数据 进程同步和通信机制 指实现进程同步和进程通信时必需的机制 如消息队列指针 信号量等 它们可能全部或部分地放在PCB中 资源清单 即一张列出了除CPU以外的 进程所需的全部资源及已经分配到该进程的资源的清单 链接指针 它给出了本进程 PCB 所在队列中的下一个进程的PCB的首地址 系统把所有PCB组织在一起 并把它们放在内存的固定区域 就构成了PCB表PCB表的大小决定了系统中最多可同时存在的进程个数 称为系统的并发度 注 多道程序中的多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高功能计算项目按期交付承诺书(5篇)
- 走进大自然:春游体验作文7篇
- 2025年智慧物流物流物联网设备集成方案全景案例分析认证考核试卷
- 2025年互联网与信息技术岗位晋升考试DeFi去中心化金融应用考核试卷
- 2025年农业行业乡村振兴农村大气污染防治认证考核试卷
- 2025年乡村教育振兴乡村学校基建经费使用绩效水平考核试卷
- 解析卷人教版八年级上册物理声现象《声音的特性》重点解析试卷(解析版含答案)
- 难点解析-人教版八年级物理上册第5章透镜及其应用-透镜同步测评试卷(含答案解析)
- 考点解析人教版八年级物理上册第4章光现象达标测试试题(含答案解析)
- 难点解析人教版八年级物理上册第5章透镜及其应用-生活中的透镜专项训练试题(含详细解析)
- 人教版(新教材)高中物理选择性必修2学案1:4 1 电磁振荡
- 《数字故事培训》课件
- 中班科学教案可乐加盐
- 花卉市场发展现状及未来趋势分析
- 1.1 公有制为主体 多种所有制共同发展 课件-高中政治统编版必修二经济与社会
- 2024年新人教版五年级数学上册《教材练习9练习九》教学课件
- 晋升现实表现材料范文四篇
- 综测《中国近代史纲要》1-300 单选题附有答案
- 2024至2030年天津市大健康产业市场运行及投资策略咨询报告
- 【新教材】苏科版(2024)七年级上册数学第1-6章全册教案设计
- HSK标准教程5上-课件-L4
评论
0/150
提交评论