03进程的管理一基本概念.ppt

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

* 2.2 进程控制 进程挂起 * 2.2 进程控制 进程挂起 * 2.2 进程控制 进程唤醒 一个正在运行的进程会因等待某事件(例如,等待打印机)的发生,由运行状态转换成阻塞状态,当它等待的事件发生后,这个进程将由阻塞状态转换成就绪状态。这种转换由进程唤醒操作完成。 调用进程唤醒操作一般在中断处理、进程通信等过程中。例如,打印机完成中断处理程序, 在完成了打印完成的操作后,就去检查等待打印机的队列,若不为空,则调用进程唤醒操作,唤醒一个(或多个)等待打印机的进程。 * 2.2 进程控制 进程唤醒 进程唤醒原语的形式: wakeup(chan) 其中:chan 唤醒进程阻塞的原因。 * 2.2 进程控制 进程唤醒 算法:wakeup 输入:chan:等待的事件(阻塞原因) 输出:无 { 找到chan的等待队列的指针; for(该队列不为空) { 从队列中移出一个进程; 置进程状态为“就绪”,并加入到就绪队列; } } * 2.2 进程控制 进程唤醒 按此算法,是把等待在chan事件上的所有进程唤醒,类似于UNIX系统的处理方式。也有的系统只唤醒一个等待chan事件的进程,若这样处理,等待队列就要按某种优先级排队。 进程唤醒操作会引起就绪队列和等待chan事件的等待队列发生变化。 * 进程的相互制约关系 在多道程序的环境中,系统中的多个进程可以并发执行,同时它们又要共享系统中的资源,这些资源有些是可共享使用的,如磁盘,有些是以独占方式使用的,如打印机。由此将会引起一系列的矛盾,产生错综复杂的相互制约的关系。 产生这种错综复杂的相互制约关系的原因有二: 资源共享 进程合作 作业 程序与进程的区别有哪些? 为什么说PCB是进程存在的唯一标志? 引起进程阻塞和唤醒的几类事件? * 2.5 进程互斥 2.5.1 互斥的概念 引例: 宿舍电话的使用 打印机的使用 1. 临界资源:一次仅允许一个进程使用的资源称为临界资源。 引例中的电话和打印机都属于临界资源。除此之外,还有内存变量、指针、数组等等也是临界资源。 * 2、临界区: 每个进程中访问临界资 源的那段程序段称为临 界区(临界段)。 * 3.互斥 定义: 在操作系统中,当某一进程正在访问某临界区时, 就不允许其它进程进入,否则就会发生(后果)无法 估计的错误。我们把进程之间的这种相互制约的关 系称为互斥。 例如:飞机定票系统中的机票库 * 进入临界区的准则: (1)每次至多有一个进程处于临界区; (2)当有若干个进程欲进入临界区时,应在有限 的时间内使其进入; (3)进程在临界区内仅逗留有限的时间。 * 处理机执行这3个进程的轨迹(见图 3.3,P104) * 3进程状态转换 * 其状态转换的队列结构() * 增加“挂起”状态 挂起状态(被换出内存的状态) 引入原因 终端用户请求 父进程请求 负荷调节需要 操作系统需要 * 5状态进程转换图 活动 就绪 静止 就绪 活动 阻塞 静止 阻塞 激活 挂起 激活 挂起 释放 释放 挂起 请求I/O 执行 * 五状态进程模型:增加了“挂起”操作 (5种状态) 执行状态:占用处理机(单处理机环境中,某一时刻仅一个进程占用处理机) 活动就绪状态:准备执行 静止就绪状态:从活动就绪挂起 活动阻塞状态:等待某事件发生才能执行,如等待I/O完成等 静止阻塞状态:从阻塞状态挂起 * 进程实体描述 在系统中一个进程实体存在: 进程控制块(数据结构) 进程的执行程序(一个可执行文件) 进程总是位于某个队列(就绪、等待某事件队列) 处于某种状态(运行、就绪、等待) 占用某些系统资源(内存,打开某些文件、处理机、外设) * 进程的组成 PCB Process Control Block 灵魂,进程存在的唯一标志。 数据 程序 程序:描述了进程要完成的功能,是 进程执行时不可修改的部分。 数据:进程执行时用到的数据(用 户输入的数据、常量、静态变量)。 工作区 工作区:参数传递、系统调用时使 用的动态区域(堆栈区)。 实体 * 进程描述 进程控制块 PCB (Process Control Block) 存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,在创建时,建立PCB,并伴随进程运行的全过程,直到进程撤消而撤消。PCB就象我们的户口。 * 进程控制块 PCB内容 1、进程标识符 name 每个进程都必须有一个唯一的标识符,可以是字

文档评论(0)

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

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

1亿VIP精品文档

相关文档