当前位置:
文档之家› 《操作系统原理》第二章 进程管理
《操作系统原理》第二章 进程管理
本章主要内容
进程的引入和概念 进程的描述:进程状态、PCB 进程控制:创建、撤销、阻塞、唤醒… 处理机的调度 线程的引入
进程的引入和概念
程序的顺序执行 程序: 指令或语句序列的集合,体现了某种算法 所有程序是顺序的 程序的顺序执行:在任何时刻,机器只执 行一个操作,只有在前一个操作执行完后 ,才能执行后继操作。
运行 进程因某事件(I/O, etc)变成堵塞状态
时间片 已用光
某事件被解除 (如I/O完成) 阻塞
就绪
由进程状态转换图可以看出:
就绪态--运行态:处于就绪态的某进程被进程调度 程序的执行选中时。 运行态--阻塞态:是由运行进程自己主动改变的。 例:一个正在运行的进程启动了某一外围设备后, 等待该外围设备传输完成时,使自己由运行态变为 阻塞态。 阻塞态--就绪态:是由外界事件引起的。 例:上 程序把因等待这一I/O完成而阻塞的进 程变为就绪态
PCB内容
1、进程标识符:用于唯一地标识一个进程。 外部标识符:由创建者提供,通常是由字母、 数字所组成,往往是由用户访问进程时使用,便 于记忆。如计算进程、打印进程、发送进程、接 收进程等。 内部标识符:OS为每一个进程赋予了一个唯一 的整数,作为内部标识。父进程标识符、子进程 标识符、用户标识符。
进程的基本状态及其转换(3)
阻塞状态:正在执行的进程由于发生某事件 而暂时无法继续运行时,放弃处理机而进入 的状态,又称等待状态、封锁态、睡眠态。 处于阻塞态的进程在逻辑上是不能运行的 ,即使CPU空闲,该进程也不可运行 引起阻塞的事件:请求I/O,申请缓存等。
进程调度 程序把处 理机分配 给进程
进程的基本状态及其转换(1)
进程的三种基本状态:运行状态、就绪状态 和阻塞状态 进程在生命消亡前处于且仅处于三种基本 状态之一
不同系统设置的进程状态数目不同
进程的基本状态及其转换(2)
运行状态:进程占有CPU,并在CPU上运行 ;在单处理机系统只有一个进程处于执行 状态。多处理机系统则有多个处于执行状 态 就绪状态:进程已经分配了除处理机以外 的所有必要资源,只要再获得处理机就能 够执行的状态。这样的进程可能有多个, 通常排成一个队列,称就绪队列。
进程和程序的关系
3)一对多的关系 一个程序可对应多个进程,一个进程为多个程序 服务 4)并发性 多个进程实体,能在一段时间内同时执行;而程 序无法描述并发执行 5)进程具有创建其他进程的功能,而程序没有 6)操作系统中的每一个程序都是在一个进程现场中 运行的
进程分类
系统进程是操作系统管理系统资源并行活动的并发 软件;用户进程是可以独立执行的用户程序段。 系统进程之间的关系由操作系统负责;用户进程之 间的关系由用户负责。为便于用户管理自己的任务 ,操作系统提供了一套简便的任务调用命令作为协 调手段。 系统进程直接管理有关的软、硬设备的活动;用户 进程只能间接和系统资源发生关系 系统进程优先级高于用户进程。
进程
进程这个概念是为了描述系统中各并发活 动而引入的。 定义:Process 进程是具有独立功能的程序关于某个数据 集合上的一次运行活动,是系统进行资源 分配和调度的独立单位
又称任务(Task)
进程的特征
动态性 并发性 独立性 异步性 结构特征
进程的特征—动态性
进程对应程序的执行,是一个动态的过程 。进程是动态产生,动态消亡的。 进程在其生命周期: 进程由创建而产生,由调度而执行,由撤 销而消亡的过程。
新状态和终止状态 新状态(创建态):刚刚建立,还未送入就绪队列 的状态。刚创建,并为它分配资源。 终止状态:已正常结束或异常结束,但尚未撤消时 。暂留在系统中,以便其它进程去收集该进程的有 关信息。 创建态—就绪态:OS准备好再接纳一个进程时 ,把一个进程从新建状态转换到就绪状态。大多数 系统基于现有的进程数或分配给现有进程的虚存数 量设置一些限制,以确保不会因为活跃进程的数量 过多而导致系统的性能下降。
PCB内容(2)
2、进程的状态:说明进程目前所处的状态,进程可 能的状态在下一节描述。 3、CPU现场保护区:当进程由于某种原因不能继续 运行时,要将其CPU运行的现场信息保存起来,以 便下次继续运行。通常,CPU的现场信息包括:程 序计数器(PC)、工作寄存器、程序状态字等。 4、CPU的调度信息:包括进程优先级、进程所在各 种队列的指针。 5、进程要执行的程序在主存和外存起始地址,及存 取保护信息。
PCB 进程控制块
动态特征的集中反映
程序段
描述要完成的功能
数据段
操作对象及工作区
进程和程序的关系
1)动态性和静态性 进程是一个动态概念,程序是一个静态概 念。程序可以作为一种软件资源长期保存 进程是把程序作为它的运行实体,没有程 序,也就没有进程。 可以把程序看做菜谱,而进程则是按照菜 谱进行烹饪的过程 2)进程控制块 进程由:程序+数据+PCB构成
PCB1
执行指针 PCB2 PCB3 就绪队列指针 PCB4 PCB5
4 3 0 8
阻塞队列指针
PCB6
PCB7
7 9 0 11
接纳 Fork() 创建态
进程调度
就绪态
被抢占
运行态
阻塞
终止态
进程的五种状态
进程控制块的组织方式
PCB是系统对进程进行统一管理的依据。一个系 统可有几十个、几百个PCB。为了便于系统查找, 目前常用的组织方式如下: 1)线性表方式:将所有进程的PCB组成一个数组, 系统通过数组下标访问每一个PCB。其组成方式如 下:
程序并发执行的特征
3、程序与CPU执行活动之间不再一一对应
程序:是完成某一特定功能的指令或语句序列,是静态概 念 CPU执行的活动:是一个动态概念,它是程序的执行过程 。 程序在顺序执行(即单道运行)时,程序与CPU的活动是 一一对应的,而在程序并行执行(即多道程序)时,这种 关系不再存在。 例:在分时系统中,多个用户都调用C编译对自己的源程 序进行编译,实际系统只保留一个编译程序,为多个用户 进行编译
进程的特征—并发性、独立性、异步性
并发性:多个进程同时在内存中,且能在一 段时间内同时运行。 独立性:进程是一个能独立运行、独立分配 资源、独立接受调度的基本单位。 例如:各进程的地址空间相互独立 异步性:每个进程都以其相对独立的、不可 预知的速度向前推进
进程的特征—结构特征
进程结构特征 进程=PCB+程序段+数据段
程序顺序执行优缺点
优点:由于顺序程度的资源独占性(封闭 性)和结果无关性(可再现性),为程序 员调试程序带了很大方便 缺点:由于资源的独占性,使得系统资源 利用率非常低
程序并发执行
并发处理技术引入:大大提高了计算机的 利用率、运行速度和系统的处理能力。 程序的并发执行:是指若干个程序(或程 序段)同时在系统中运行,这些程序(或 程序段)的执行在时间上是重叠的,一个 程序(或程序段)的执行尚未结束,另一 个程序(或程序段)的执行已经开始。
程序的顺序执行
例如:一个有四条语句的程序段:
S1: S2: S3: S4: a:=x+2; b:=y+4; c:=a+b; d:=c+b;
S1 S2 S3 S4
程序顺序执行的特征
顺序性:处理机的操作严格按照程序所规定的顺 序执行,即每一个操作必须在下一个操作之前结 束。 资源独占性(封闭性):运行程序独占全机资源 。系统资源状态由运行的这个程序决定和改变。 执行过程中不受外界因素影响。 结果无关性(可再现性):程序运行结果与程序 执行速度无关,只要环境和初始条件相同,程序 重复执行总能得到相同结果。
程序并发执行的特征
例如: 程序A
L1: N:=N+1; Goto: L1
程序B
L2: PRINT(N); N:=0; Goto: L2
设共享变量N初值为5,则会产生3种执行结果 1)6,6,0 2)5,0,1 3)5,6,0
程序并发执行的特征
2、并行执行的程序间产生了相互制约关系
因共享资源或协调完成同一任务,使得并发程序之间 发生了相互制约关系 间接制约关系 例:系统中并发执行的程序段A和B在运行过程中都希 望使用打印机输出计算结果, 若系统只有一台打印机,分得打印机的程序段(假 设A得到)可以继续运行,而没有得到打印机的程序段 B就不得不暂停,等到有可用打印机时才能继续执行 。我们称这种制约关系为间接制约关系
PCB(0) PCB(1) PCB(2) …….. PCB(n1) PCB(n)
优点:简单,节省存储空间 缺点:查找一个指定的PCB较费时间,平均要花费半个PCB的 时间,早期的UNIX系统就是采用这种形式的表
2、链接方式:把具有相同状态的PCB,用其中的连 接字,链接成一个队列。 每一个队列有一个专用 队列指针指出该队列中第一个进程PCB所在位置。 这样就形成了就绪队列、阻塞队列。 处于就绪态的进程可按照某种策略排成多个就 绪队列。 处于阻塞态的进程又可以根据阻塞的原因不同 组织成多个阻塞队列。例如:等待磁盘I/O队列, 等待磁带I/O队列等。
PCB内容(3)
6、进程使用的资源信息:包括分配给进程的 I/O设备、正在执行的I/O请求信息、当前 进程正打开的文件等。 7、记帐信息:包括CPU占用量,实际所用时 间量,帐号等。 8、进程之间的家族关系:在进程的树型结构 系统(如UNIX系统)中,进程之间存在着 家族关系。创建进程的进程称为父进程, 被创建进程称为子进程。
运行态--就绪态:处于运行态的进程被剥夺CPU时 。例:采用时间片轮转法调度时,当前运行进程 用完分给它的时间片后,将由运行态变为就绪态 ;或采用优先级调度时,若有更高优先级的进程 变为就绪态,当前进程被迫放弃CPU,使自己由运 行态变为就绪态,之后转进程调度。