- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程的终止过程-Read
* 进 程 控 制 * 进 程 控 制 第二章 进程管理 2.1 进程的基本概念 2.2 进程控制 上节回顾 前趋图:P27 程序并发的特征:P29 进程的特征:结构特征,动态性,并发性,异步性 进程的定义:P30 进程的三种基本状态: P31 图2-5 进程的三种基本状态 图 2-5 进程的三种基本状态及其转换 进程状态的转换 活动就绪→静止就绪。 (2) 活动阻塞→静止阻塞。 (3) 静止就绪→活动就绪。 (4) 静止阻塞→活动阻塞。 图 2-6 具有挂起状态的进程状态图 2.1.5 进程控制块 1. 进程控制块的作用 进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。 2. 进程控制块中的信息 1) 进程标识符 进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符: (1) 内部标识符。在所有的操作系统中,都为每一个进 程赋予一个惟一的数字标识符,它通常是一个进程的序号。 设置内部标识符主要是为了方便系统使用。 (2) 外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系, 还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。 2) 处理机状态 处理机状态信息主要是由处理机的各种寄存器中的内容组成的。 ① 通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息, 在大多数处理机中,有 8~32 个通用寄存器,在RISC结构的计算机中可超过 100 个; ② 指令计数器,其中存放了要访问的下一条指令的地址; ③ 程序状态字PSW,其中含有状态信息,如条件码、执行方式、 中断屏蔽标志等; ④ 用户栈指针, 指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。 3) 进程调度信息 在PCB中还存放一些与进程调度和进程对换有关的信息,包括: ① 进程状态,指明进程的当前状态, 作为进程调度和对换时的依据; ② 进程优先级,用于描述进程使用处理机的优先级别的一个整数, 优先级高的进程应优先获得处理机; ③ 进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、 进程已执行的时间总和等; ④ 事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。 4) 进程控制信息 进程控制信息包括: ① 程序和数据的地址, 是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据; ② 进程同步和通信机制,指实现进程同步和进程通信时必需的机制, 如消息队列指针、信号量等,它们可能全部或部分地放在PCB中; ③ 资源清单,是一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单; ④ 链接指针, 它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。 3. 进程控制块的组织方式 1) 链接方式 图 2-7 PCB链接队列示意图 2) 索引方式 图 2-8 按索引方式组织PCB 2.2 进 程 控 制 2.2.1 进程的创建 1. 进程图(Process Graph) 父子进程关系: (1) 资源继承 (2) 进程撤消 (3) PCB表项 2. 引起创建进程的事件 用户登录:winlogon (2) 作业调度。 (3) 提供服务。 (4) 应用请求:Unix的fork()函数,Windows的CreatProcess()函数 3. 进程的创建(Creation of Progress) (1)申请空白PCB。 (2) 为新进程分配资源:用户请求,自身创建,交互型 (3) 初始化进程控制块:标识、处理机状态、控制信息。 (4) 将新进程插入就绪队列,如果进程就绪队列能够接纳新进程, 便将新进程插入就绪队列。 2.2.2 进程的终止 1. 引起进程终止(Termination of Process)的事件 1) 正常结束 在任何计算机系统中,都应有一个用于表示进程已经运行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条Holt指令或终止的系统调用。当程序运行到Hol
文档评论(0)