操作系统教程ppt_02.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统教程ppt_02

第二章??? 进程管理 第一节? 多道程序设计 第二节? 进程的描述 第二节? 进程的控制 第三节? 进程互斥与同步 第四节??经典进程同步问题 第五节??管程机制 第六节??进程通信 第七节? 线程 第一节??多道程序设计 程序顺序执行的特征 前趋图与前趋关系 程序的并发执行及其条件 程序顺序执行的特征 程序的顺序执行 特征: 顺序性、封闭性、可再现性 前趋图与前趋关系 前趋图(Precedence Graph) 一个有向无循环图 描述程序或程序段之间执行的前后关系 前趋关系“?” 如果:(Pi,Pj) ∈?,也可以写成: Pi?Pj 则称:Pi是Pj的直接前趋, Pj是Pi的直接后继 初始节点:没有前趋 终止节点:没有后继 程序的并发执行 并发执行时的特征 间断性、失去封闭性、不可再现性 并发执行时的条件(Bernstein条件) 当两个程序的读集与写集的交集以及写集与写记的交集都为空时,它们可以并发执行。 第二节? 进程的描述 进程的定义与特征 进程的基本状态 进程的挂起状态 进程控制块 进程的队列 进程的定义与特征 进程: 是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 是系统进行资源分配和调度的一个独立单位。 特征: 动态性、并发性、独立性、异步性、结构性(PCB) 与程序的区别: 进程是动态的 程序是静态的 程序不具备上述五个特征 进程的基本状态 就绪状态(Ready) 得到了除CPU以外的所有必要资源 执行状态(Running) 已获得处理机,程序正在被执行 阻塞状态(Blocked) 因等待某事件发生而暂时无法继续执行,从而放弃处理机,使程序执行处于暂停状态 进程的挂起状态 挂起状态的引入 中断交互用户的需要 父进程考查和修改、协调子进程间的活动 操作系统协调资源使用或进行记账 对换的需要,缓解内存紧张 负荷调节的需要,如实时紧急任务 增加了两个状态 挂起就绪、挂起阻塞 进程控制块 PCB(Process Control Block) PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。 作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。 PCB存放在OS中专门开辟的PCB区内 数据结构 进程标识符:内部标识(OS)、外部标识(用户) 处理机状态:通用R、PC、PSW、用户栈指针 进程调度信息:状态、优先级、其它信息、等待事件(阻塞原因) 进程控制信息:程序和数据的地址、同步和通信机制、资源清单、链接指针 进程的队列 数目 一个系统中,数十个、数百个甚至数千个 链接组织方式 把具有同一状态的PCB链接成一个队列 就绪队列、若干个阻塞队列、空队列 索引组织方式 建立相应的索引表 就绪索引表、阻塞索引表 第二节? 进程的控制 进程控制机构 进程创建 进程撤消 进程阻塞 进程唤醒 进程挂起与激活 进程控制机构 负责控制进程从创建到撤消的自动执行与协调 OS内核——常驻内存 进程管理模块:由相关的原语组成 原语操作(Atomic Operation) : 操作系统内核中由若干条指令构成用于完成特定功能的小过程。 原语过程在执行时是不可分割的,可以看成是机器指令的延伸。一般用屏蔽中断来实现 OS内核中的进程管理模块 进程创建(Creat( )) 进程之间的关系: 父、子进程与祖先进程:PCB中标识 继承归还资源、“父”创建“子”、父撤子消 进程撤消(Terminat( )) 引起进程终止(Termination)的事件 正常结束:执行到最后的结束指令、中断 异常结束:出现错误或因故障而被迫终止 外界干扰:进程应外界的请求而终止运行 进程撤消的过程 检索进程状态、结束并置调度标志、撤销其所有的子进程、归还资源、移出队列 一个进程可以向其父进程申请撤消自己;也可以因父进程的被撤销而被同时撤消。 进程阻塞(Block( )) 引起阻塞的事件 请求系统服务、启动某种操作、数据尚未到达、无新工作可做 进程阻塞的过程 发现上述事件,调用阻塞原语把自己阻塞 停止进程的执行,修改PCB中的状态信息,并将其插入相应的阻塞队列 转调度程序 进程唤醒(Wakeup( )) 引起唤醒的事件 与引起阻塞的事件相对应 进程唤醒的过程 阻塞进程所期待的事件出现,有关的进程调用唤醒原语,将等待该事件的进程唤醒 将PCB从阻塞队列中移出,修改PCB中的状态信息,再将其插入到就绪进程队列中 阻塞与唤醒要匹配使用,以免造成“永久阻赛” 进程挂起与激活(Suspend( )、Active( )) 进程挂起 检查被挂进程的状态,改为相应的挂起状态,把进程的PCB复制到指定的区域。最后,转向调度程序重新调度。 进程激活 先将进程从外存调入内存,检查该进程

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档