第2章 进程管理(part2)

时间:2022-11-23 13:54:16 作者:壹号 字数:15914字

第二章 进 程 管 理

Department of Computer Science

第二章 进程管理2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信 2.7 线程Heb Nomal University1

第二章 进 程 管 理

Department of Computer Science

简单回顾1. 程序顺序执行时的特征 (1) 顺序性: (2) 封闭性: (3) 可再现性: 2. 程序并发执行时的特征 1) 间断性 2) 失去封闭性 3) 不可再现性

Heb Nomal University

第二章 进 程 管 理

Department of Computer Science

程序与进程之间的区别 进程更能真实地描述并发,而程序不能 进程更能真实地描述并发, 并发 进程是由程序 数据和控制块三部分组成的 程序, 进程是由程序,数据和控制块三部分组成的 动态的 程序是静态的,进程是动态 程序是静态的,进程是动态的 进程有生命周期 有诞生有消亡,短暂的; 生命周期, 进程有生命周期,有诞生有消亡,短暂的;而程序 是相对长久的 一个程序可对应多个进程,反之亦然 一个程序可对应多个进程, 多个进程 创建其他进程的功能 进程具有创建其他进程的功能,而程序没有 进程具有创建其他进程的功能,

Heb Nomal University

第二章 进 程 管 理

Department of Computer Science

较典型的进程定义有: 较典型的进程定义有: (1) 进程是程序的一次执行。 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系 进程是程序在一个数据集合上运行的过程, 统进行资源分配和调度的一个独立单位。 统进行资源分配和调度的一个独立单位。 在引入了进程实体的概念后,我们可以把传统 传统OS中的 在引入了进程实体的概念后,我们可以把传统 中的 进程定义为 进程是进程实体的运行过程, 进程定义为:“进程是进程实体的运行过程,是系统进行 资源分配和调度的一个独立单位” 资源分配和调度的一个独立单位”。

Heb Nomal University

第二章 进 程 管 理

Department of Computer Science

2. 进程的三种基本状态就绪

1)就绪 就绪(Ready)状态 就绪 状态进程占有CPU,并在CPU上运行 进程占有CPU,并在CPU上运行时间片完 I/O完成 进程调度

2) 执行状态 执行状态一个进程已经具备运行条件,但由 一个进程已经具备运行条件, 于无CPU暂时不能运行的状态 暂时不能运行的状态( 于无CPU暂时不能运行的状态(当 调度给其CPU时 立即可以运行) 调度给其CPU时,立即可以运行)

阻塞

执行 I/O请求

3) 阻塞状态又叫等待态、封锁态、睡眠态指进 又叫等待态、封锁态、 程因等

待某种事件的发生而暂时不 能运行的状态(即使CPU空闲 空闲, 能运行的状态(即使CPU空闲,该 进程也不可运行) 进程也不可运行)

图 2-5 进程的三种基本状态及其转换

Heb Nomal University

第二章 进 程 管 理

Department of Computer Science

三种进程状态三种进程状态->五状态进程模型增加: 创建状态,终止状态 增加: 创建状态,

创建( new)状态 创建(新new)状态 终止(退出exit)状态 终止(退出exit)状态 exit) –OS 已完成为创建一进程所必要的工作 OS –中止后进程移入该状态 中止后进程移入该状态 已构造了进程标识符 –它不再有执行资格 它不再有执行资格 已创建了管理进程所需的表格 –表格和其它信息暂时由辅助程序保留 表格和其它信息暂时由辅助程序保留 –但还没有允许执行该进程 (尚未同意) 但还没有允许执行该进程 尚未同意) –一旦其他进程完成了对终止态进程的信息 一旦其他进程完成了对终止态进程的信息 因为资源有限 抽取之后,系统将删除该进程。 抽取之后,系统将删除该进程。 Heb Nomal University6

第二章 进 程 管 理

…… 此处隐藏3651字 ……

3. 进程唤醒过程

 进程唤醒过程 当被阻塞进程所期待的事件出现时,如I/O完成或其所 期待的数据已经到达,则由有关进程(比如,用完并释放 了该I/O设备的进程)调用唤醒原语 唤醒原语wakeup( ),将等待该事 唤醒原语 件的进程唤醒。 唤醒原语执行的过程是:①首先把被阻塞的进程从 等待该事件的阻塞队列中移出,②将其PCB中的现行状态 由阻塞改为就绪,③然后再将该PCB插入到就绪队列中。

Heb Nomal University

第二章 进 程 管 理

Department of Computer Science

2.2.4 进程的挂起与激活1. 进程的挂起 进程的挂起 当出现了引起进程挂起的事件时,比如,用户进程 请求将自己挂起,或父进程请求将自己的某个子进程挂 起, 系统将利用挂起原语 挂起原语suspend( )将指定进程或处于阻 挂起原语 塞状态的进程挂起。 挂起原语的执行过程是:首先检查被挂起进程的状 态,若处于活动就绪状态,便将其改为静止就绪;对于 活动阻塞状态的进程,则将之改为静止阻塞。 为了方便 用户或父进程考查该进程的运行情况而把该进程的PCB 复制到某指定的内存区域。最后,若被挂起的进程正在 执行,则转向调度程序重新调度。

Heb Nomal University