第2章-进程描述与控制-1.ppt

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

进程状态转换条件——在进程运行过程中,由于自身进展情况及外界环境的变化,这三种基本状态可以依据一定条件相互转换: 就绪 ? 执行 调度程序为处于就绪态的进程分配了处理机。 执行 ? 就绪 分配的时间片用完。 或出现更高优先权的进程。 */47 执行 ? 阻塞 当进程等待要使用的资源或某事件发生时,如:进程同步、等待IO完成、等待资源。 阻塞 ? 就绪 资源释放。 当所等待的事件发生时。 */47 挂起状态(被换出内存的状态) 引入原因 终端用户请求 父进程请求 负荷调节需要 操作系统需要 */47 进程状态的转换(引入挂起状态) 活动就绪 ? 静止就绪(挂起) 执行 ? 静止就绪(挂起) 活动阻塞 ? 静止阻塞(挂起) 静止就绪 ? 活动就绪(激活) 静止阻塞 ? 活动阻塞(激活) */47 等待资源/ 事件 调度 资源释放/ 事件发生 执行 活动 就绪 静止 就绪 活动 阻塞 静止 阻塞 激活 挂起 激活 挂起 资源释放/ 事件发生 挂起 */47 进程的创建状态和终止状态 创建状态 创建PCB、填写相关信息,所需资源尚未分配 终止状态 PCB清0,PCB空间返还 调度 时间片完 等待资源或事件 资源释放或 事件发生 终止 运行 就绪 阻塞 创建 许可 释放 */47 练习题 从静态角度上看,进程是由()、()、()三部分组成。 当()时,进程从执行状态转变为就绪状态。 A.进程被调度程序选中 B.等待的事件发生 C.有高优先级进程到来或时间片用完 D.等待某事件 在进程转换时,下列()转换是不可能发生的。 A.就绪态→执行态 B.执行态→就绪态 C.执行态→阻塞态 D.阻塞态→执行态 同一个程序经过多次创建,运行在不同的数据集上,形成了()的进程。 A.不同 B.相同 C.同步 D.互斥 */47 2.2 进程控制 进程控制的主要任务 对系统中所有进程从产生、存在到消亡的全过程实行有效的管理和控制。它是进程管理的最基本功能,包括:进程创建、进程终止、进程阻塞、进程唤醒、进程挂起、进程激活等。 进程控制一般是由OS的内核来实现,内核在执行操作时,往往是通过执行各种原语操作来实现的。 */47 原语(Primitive) 原语是由若干条指令组成、在管态下执行、常驻内存、用于完成系统特定功能的一个过程。 其特点是执行过程中不允许被中断,是一个不可分割的基本单位,即:所有动作要么全做,要么全都不做。 原语的执行是顺序的、不可能是并发的。 原语的实现方法是以系统调用方式提供原语接口,且采用屏蔽中断的方式来实现原语功能,以保证原语操作不被打断的特性。 */47 父进程 子进程 祖先进程 D E F G H B C I J K L M A 进程创建 进程树:描述了进程的家族关系。进程可继承父进程的资源,撤消时应归还给父进程,父进程的撤消将会撤消全部子进程。 */47 引起进程创建的事件 用户登录:为终端用户建立一进程 作业调度:为被调度的作业建立进程 提供服务:如要打印时建立打印进程 应用请求:由应用程序建立多个进程 */47 进程创建的过程(creat原语) 申请空白PCB(一个系统的PCB是有限的); 初始化PCB:标识符、程序计数器、栈指针、状态和优先级; 为新进程分配资源:必要的内存,后将新进程插入就绪队列。 */47 进程终止 引起进程终止的事件 正常结束:如Halt、exit、logoff 异常结束:如越界、非法访问、非法指令、超时、特权指令、算术运算错误和I/O故障等。 外界干预: 系统员kill进程; 父进程终止; 父进程的请求。 */47 进程终止的过程 根据进程标识符,查找该进程的PCB,读出该进程的状态。 若是执行态,则终止,且置调度标志为真。 若有子孙需终止。 归还资源给其父进程 或 系统。 从PCB队列中移出其PCB。 */47 进程控制的阻塞与唤醒 引起进程阻塞和唤醒的事件 请求系统服务得不到满足时(如请求打印),会被阻塞;其他进程释放打印机时,才被唤醒。 启动某种操作需同步时(如某操作完成后,请求该操作的进程才继续运行)。 新数据尚未到达:如进程A写,进程B读,则A未写完,B不能读。 无新工作可做:Web服务器中发送进程。 */47 进程阻塞过程(进程自身的一种主动行为) 调用block原语: 停止执行,修改进程状态,将PCB插入相应的阻塞队列; 重新调度。 进程唤醒过程 (由其它相关进程调用) 调用wakeup原语: 移出阻塞队列,修改PCB(进程状态),插入就绪队列。 若调用了block原语,则在其它进程中就应有wakeup原语。 */47 进程控制的挂起与激活 进程的挂起过程 由进程自己或其父进程调suspend原语完成,将该进程PCB移

文档评论(0)

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

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

1亿VIP精品文档

相关文档

相关课程推荐