第2章进程描述与控制 本章知识点: 21进程状态 22进程描述 23进程控制 24线程和SMP 25系统举例(略)
1 第2章 进程描述与控制 本章知识点: • 2.1 进程状态 • 2.2 进程描述 • 2.3 进程控制 • 2.4 线程和SMP • 2.5 系统举例(略)
21进程状态 进程是程序在并发环境中的执行过程 是动态性二并发 独立性、 性村情查提味、进趣 须按种旋序的方式进行即在在付 时分至多只有一指令被执行。处理器 的主要功能就是执行驻留在内存中的指 令。为了提高效率,处理器可以同时执 多个进程
2 2.1 进程状态 进程是程序在并发环境中的执行过程。 其基本特征是动态性、并发性、独立性、 异步性和结构性。进程是一个主动的实 体,而程序是被动的实体。进程的执行 必须按一种顺序的方式进行,即在任何 时刻至多只有一条指令被执行。处理器 的主要功能就是执行驻留在内存中的指 令。为了提高效率,处理器可以同时执 行多个进程
211进程产生和终止 最简单的模型(a)基于这样一个事实:进程要么正在执 行,要么没有执行。这样,一个进程就有两种状态: 运行和非运行。还有一种模型(b)是设计一种进程队列, 队列中的每项都是一个指向进程的指针。无论采用哪 种模型,进程的生命周期都同产生和终止联系在一起 分派 进程队列 进入(非运行 退出 进入 分派处理器人退出 暂停 暂停
3 2.1.1 进程产生和终止 最简单的模型(a)基于这样一个事实:进程要么正在执 行,要么没有执行。这样,一个进程就有两种状态: 运行和非运行。还有一种模型(b)是设计一种进程队列, 队列中的每项都是一个指向进程的指针。无论采用哪 种模型,进程的生命周期都同产生和终止联系在一起。 进程队列 进入 处理器 分派 退出 暂停 (b) 进入 分派 退出 暂停 (a) 非运行 运 行
211进程产生和终止 1进程产生 通常有4种事件会导致新进程产生: ①在一个交互式环境中,当一个新用户在终端键入登 录命令后,若是合法用户,系统将为该用户建立一个 进程。 ②在一个批处理环境中,为了响应一个任务的要求而 产生进程 ·③当运行中获取用户程序提出的某种请求后,OS可以 代用户程序产生进程以实现某种功能,使用户不必等 待 ④基于应用进程的需要,由已存在的进程产生另 进程,以便使新程序以并发运行方式完成特定任务
4 2.1.1 进程产生和终止 1.进程产生 通常有4种事件会导致新进程产生: • ①在一个交互式环境中,当一个新用户在终端键入登 录命令后,若是合法用户,系统将为该用户建立一个 进程。 • ②在一个批处理环境中,为了响应一个任务的要求而 产生进程。 • ③当运行中获取用户程序提出的某种请求后,OS可以 代用户程序产生进程以实现某种功能,使用户不必等 待。 • ④基于应用进程的需要,由已存在的进程产生另一个 进程,以便使新程序以并发运行方式完成特定任务
211进程产生和终止 2进程终止 导致进程终止的事件大致有14种:正常 结束、超时限制、内存不足、超界 保护错误、算术错误、超越时限、I/O 失败、非法指令、特权指令、错误使用 数据、操作员或0S干预、父进程终止 父进程需要
5 2.1.1 进程产生和终止 2.进程终止 导致进程终止的事件大致有14种 :正常 结束 、超时限制 、内存不足 、超界 、 保护错误 、算术错误 、超越时限 、I/O 失败 、非法指令 、特权指令 、错误使用 数据 、操作员或OS干预、父进程终止 、 父进程需要
212进程状态模型 进程的动态性质是由其状态变化决定的。 通常操作系统中进程都具有三种状态:运 态、就绪态和阻塞态。进程的生命周期 中通常还有创建和消失两种状态。创建和 终止状态对进程管理非常有用
6 2.1.2 进程状态模型 进程的动态性质是由其状态变化决定的。 通常操作系统中进程都具有三种状态:运 行态、就绪态和阻塞态。进程的生命周期 中通常还有创建和消失两种状态。创建和 终止状态对进程管理非常有用
212进程状态模型 准许 分派 创建 就绪 超运行),释放 消失 事件 发生 等待 事件 阻塞 运行:进程当前处于运行状态。 就绪;进程已准备好运行 阻塞;进程等待某些事件发生(如Ⅰ/O操作)后才能运行。 ·创建:进程刚产生,但还未被操作系统提交到可运行进程池中。 消失:进程被操作系统从可运行进程池中释放
7 2.1.2 进程状态模型 • 运行:进程当前处于运行状态。 • 就绪;进程已准备好运行。 • 阻塞;进程等待某些事件发生(如I/O操作)后才能运行。 • 创建:进程刚产生,但还未被操作系统提交到可运行进程池中。 • 消失:进程被操作系统从可运行进程池中释放。 事件 发生 准许 创 建 就 绪 分派 运 行 超时 释放 消 失 阻塞 等待 事件
212进程状态模型 进程状态转换 原状态 转换后状态 创建 运行就绪 阻塞终止 0S根据作业控制请 × × 求;分时系统用户 登录;进程产生子 进程而创建进程 创建 ×0S准备 运行新 的进程 (转下表)
8 2.1.2 进程状态模型 进程状态转换 (转下表) 原状态 转换后状态 创建 运行 就绪 阻塞 终止 OS根据作业控制请 求;分时系统用户 登录;进程产生子 进程而创建进程 × × × × 创建 × × OS准备 运行新 的进程 × ×
212进程状态模型 原状态 转换后状态 创建运行 就绪 阻塞终止 运行× 超时;0服0s服务进程 务请求;0S请求;完成, 响应具有更资源请进程 高优先级的求:事天折 进程;进程件请求 释放控制 就绪× 被分派程序选 × 被父 择为下一个即 进程 将执行的进程 终止 阻塞× 事件发生 × 被父 进程 终止
9 2.1.2 进程状态模型 原状态 转换后状态 创建 运行 就绪 阻塞 终止 运行 × × 超时;OS服 务请求;OS 响应具有更 高优先级的 进程;进程 释放控制 OS服务 请求; 资源请 求;事 件请求 进程 完成, 进程 夭折 就绪 × 被分派程序选 择为下一个即 将执行的进程 × × 被父 进程 终止 阻塞 × × 事件发生 × 被父 进程 终止
213进程挂起 1.进程挂起的状态 由于I/0操作比CPU计算慢得多,故常会出现内 存中所有进程都等待I/0的现象。即使运行多 个程序,处理器在大多数时间仍处于空闲状态。 为此可采用交换方法,将内存中的一部分进程 转移到磁盘中。在进程行为模式中需增加一个 新的挂起状态,当内存所有进程阻塞时,操作 系统可将一进程置为挂起状态并交换到磁盘, 再调入另一进程执行。挂起状态与原有的阻塞 和就绪状态结合为阻塞挂起状态和就绪挂起状
10 2.1.3 进程挂起 1. 进程挂起的状态 由于I/O操作比CPU计算慢得多,故常会出现内 存中所有进程都等待I/O的现象。即使运行多 个程序,处理器在大多数时间仍处于空闲状态。 为此可采用交换方法,将内存中的一部分进程 转移到磁盘中。在进程行为模式中需增加一个 新的挂起状态,当内存所有进程阻塞时,操作 系统可将一进程置为挂起状态并交换到磁盘, 再调入另一进程执行。挂起状态与原有的阻塞 和就绪状态结合为阻塞挂起状态和就绪挂起状 态