《操作系统原理》第二章 进程管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进程的基本状态及其转换(1)
进程的三种基本状态:运行状态、就绪状态 和阻塞状态 进程在生命消亡前处于且仅处于三种基本 状态之一
不同系统设置的进程状态数目不同
进程的基本状态及其转换(2)


运行状态:进程占有CPU,并在CPU上运行 ;在单处理机系统只有一个进程处于执行 状态。多处理机系统则有多个处于执行状 态 就绪状态:进程已经分配了除处理机以外 的所有必要资源,只要再获得处理机就能 够执行的状态。这样的进程可能有多个, 通常排成一个队列,称就绪队列。
PCB 进程控制块
动态特征的集中反映
程序段
描述要完成的功能
数据段
操作对象及工作区
进程和程序的关系
1)动态性和静态性 进程是一个动态概念,程序是一个静态概 念。程序可以作为一种软件资源长期保存 进程是把程序作为它的运行实体,没有程 序,也就没有进程。 可以把程序看做菜谱,而进程则是按照菜 谱进行烹饪的过程 2)进程控制块 进程由:程序+数据+PCB构成
产生间接制约关系的原因主要是竞争相同资源
程序并发执行的特征

直接 制约关系
是各个并发执行的程序段之间需要协调共同完成 同一个任务引起的。 例如:ps -ef |grep httpd 这两条命令就需要两个程序通过管道实现两者之 间协作完成用户希望的工作。
在并发环境下程序的执行是间断性的: 执行----暂停----执行
第二章 进程管理
在多道程序批处理系统和分时系统 中, 程序并不能独立运行,操作系统 引入 进程作为资源分配和独立运行的 基本单位,并按照进程的观点进行设 计



现代操作系统的重要特征:程序的并发性 和资源的共享性(这二者是相互联系和相 互依赖的。) 现代操作系统是围绕进程这个概念设计和 构造的。 操作系统必须交替执行多个进程,以提高 处理器的利用率
进程
进程这个概念是为了描述系统中各并发活 动而引入的。 定义:Process 进程是具有独立功能的程序关于某个数据 集合上的一次运行活动,是系统进行资源 分配和调度的独立单位

又称任务(Task)
进程的特征

动态性 并发性 独立性 异步性 结构特征
进程的特征—动态性


进程对应程序的执行,是一个动态的过程 。进程是动态产生,动态消亡的。 进程在其生命周期: 进程由创建而产生,由调度而执行,由撤 销而消亡的过程。
程序的顺序执行

例如:一个有四条语句的程序段:
S1: S2: S3: S4: a:=x+2; b:=y+4; c:=a+b; d:=c+b;
S1 S2 S3 S4
程序顺序执行的特征



顺序性:处理机的操作严格按照程序所规定的顺 序执行,即每一个操作必须在下一个操作之前结 束。 资源独占性(封闭性):运行程序独占全机资源 。系统资源状态由运行的这个程序决定和改变。 执行过程中不受外界因素影响。 结果无关性(可再现性):程序运行结果与程序 执行速度无关,只要环境和初始条件相同,程序 重复执行总能得到相同结果。
进程的特征—并发性、独立性、异步性
并发性:多个进程同时在内存中,且能在一 段时间内同时运行。 独立性:进程是一个能独立运行、独立分配 资源、独立接受调度的基本单位。 例如:各进程的地址空间相互独立 异步性:每个进程都以其相对独立的、不可 预知的速度向前推进
进程的特征—结构特征

进程结构特征 进程=PCB+程序段+数据段
程序并发执行的特征
例如: 程序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就不得不暂停,等到有可用打印机时才能继续执行 。我们称这种制约关系为间接制约关系
进程的描述
进程控制块 进程状态 进程的组织

进程控制块 (Process Control Block)
操作系统在管理和控制进程时必须知道什么?
1、进程的位置 2、进程属性
进程控制块:与每个进程相关联的操作系统 用于控制进程的所有属性的集合。PCB是进 程存在系统中的唯一标识。它包含了进程 的描述信息和管理控制信息,是进程动态 特性的集中表现。
这里要求编译程序必须是可再入程序(reentry code ) 可再入程序具有这样的性质:它是纯代码,即在执行 过程中自身不改变。可被多个进程同时调用的程序 ,调用它的进程应该提供各自独立的数据区。 由于并发程序的上述这些特点,使得系统中的活动以 及各种活动之间的相互关系非常复杂。 “程序”这个静态的概念已不能如实地反映系统中的 活动情况。 为此,现代操作系统引入了进程的概念



运行态--就绪态:处于运行态的进程被剥夺CPU时 。例:采用时间片轮转法调度时,当前运行进程 用完分给它的时间片后,将由运行态变为就绪态 ;或采用优先级调度时,若有更高优先级的进程 变为就绪态,当前进程被迫放弃CPU,使自己由运 行态变为就绪态,之后转进程调度。
由于系统、进程自身和外界的原因,可能使一个 进程多次反复地经历三个基本状态的转换,才能 最终达到完成而撤消。
PCB1
执行指针 PCB2 PCB3 就绪队列指针 PCB4 PCB5
百度文库
4 3 0 8
阻塞队列指针
PCB6
PCB7
7 9 0 11
程序并发执行

例如:一个有四条语句的程序段:
S1: S2: S3: S4: a:=x+2; b:=y+4; c:=a+b; d:=c+b;
S1 S3 S2 并发执行 S4
程序并发执行的特征
1、失去了程序的封闭性和可再现性
程序在并发执行时,多个程序共享系统 中的各种资源,因而这些资源的状态将由 多个程序来改变,致使程序的运行失去了 封闭性;由于失去了封闭性,也将导致失 去其可再现性。
接纳 Fork() 创建态
进程调度
就绪态
被抢占
运行态
阻塞
终止态
进程的五种状态
进程控制块的组织方式
PCB是系统对进程进行统一管理的依据。一个系 统可有几十个、几百个PCB。为了便于系统查找, 目前常用的组织方式如下: 1)线性表方式:将所有进程的PCB组成一个数组, 系统通过数组下标访问每一个PCB。其组成方式如 下:
进程和程序的关系
3)一对多的关系 一个程序可对应多个进程,一个进程为多个程序 服务 4)并发性 多个进程实体,能在一段时间内同时执行;而程 序无法描述并发执行 5)进程具有创建其他进程的功能,而程序没有 6)操作系统中的每一个程序都是在一个进程现场中 运行的
进程分类




系统进程是操作系统管理系统资源并行活动的并发 软件;用户进程是可以独立执行的用户程序段。 系统进程之间的关系由操作系统负责;用户进程之 间的关系由用户负责。为便于用户管理自己的任务 ,操作系统提供了一套简便的任务调用命令作为协 调手段。 系统进程直接管理有关的软、硬设备的活动;用户 进程只能间接和系统资源发生关系 系统进程优先级高于用户进程。
PCB内容
1、进程标识符:用于唯一地标识一个进程。 外部标识符:由创建者提供,通常是由字母、 数字所组成,往往是由用户访问进程时使用,便 于记忆。如计算进程、打印进程、发送进程、接 收进程等。 内部标识符:OS为每一个进程赋予了一个唯一 的整数,作为内部标识。父进程标识符、子进程 标识符、用户标识符。
本章主要内容


进程的引入和概念 进程的描述:进程状态、PCB 进程控制:创建、撤销、阻塞、唤醒… 处理机的调度 线程的引入
进程的引入和概念
程序的顺序执行 程序: 指令或语句序列的集合,体现了某种算法 所有程序是顺序的 程序的顺序执行:在任何时刻,机器只执 行一个操作,只有在前一个操作执行完后 ,才能执行后继操作。
进程的基本状态及其转换(3)

阻塞状态:正在执行的进程由于发生某事件 而暂时无法继续运行时,放弃处理机而进入 的状态,又称等待状态、封锁态、睡眠态。 处于阻塞态的进程在逻辑上是不能运行的 ,即使CPU空闲,该进程也不可运行 引起阻塞的事件:请求I/O,申请缓存等。
进程调度 程序把处 理机分配 给进程
新状态和终止状态 新状态(创建态):刚刚建立,还未送入就绪队列 的状态。刚创建,并为它分配资源。 终止状态:已正常结束或异常结束,但尚未撤消时 。暂留在系统中,以便其它进程去收集该进程的有 关信息。 创建态—就绪态:OS准备好再接纳一个进程时 ,把一个进程从新建状态转换到就绪状态。大多数 系统基于现有的进程数或分配给现有进程的虚存数 量设置一些限制,以确保不会因为活跃进程的数量 过多而导致系统的性能下降。
PCB(0) PCB(1) PCB(2) …….. PCB(n1) PCB(n)
优点:简单,节省存储空间 缺点:查找一个指定的PCB较费时间,平均要花费半个PCB的 时间,早期的UNIX系统就是采用这种形式的表
2、链接方式:把具有相同状态的PCB,用其中的连 接字,链接成一个队列。 每一个队列有一个专用 队列指针指出该队列中第一个进程PCB所在位置。 这样就形成了就绪队列、阻塞队列。 处于就绪态的进程可按照某种策略排成多个就 绪队列。 处于阻塞态的进程又可以根据阻塞的原因不同 组织成多个阻塞队列。例如:等待磁盘I/O队列, 等待磁带I/O队列等。
程序并发执行的特征
3、程序与CPU执行活动之间不再一一对应




程序:是完成某一特定功能的指令或语句序列,是静态概 念 CPU执行的活动:是一个动态概念,它是程序的执行过程 。 程序在顺序执行(即单道运行)时,程序与CPU的活动是 一一对应的,而在程序并行执行(即多道程序)时,这种 关系不再存在。 例:在分时系统中,多个用户都调用C编译对自己的源程 序进行编译,实际系统只保留一个编译程序,为多个用户 进行编译
PCB内容(3)
6、进程使用的资源信息:包括分配给进程的 I/O设备、正在执行的I/O请求信息、当前 进程正打开的文件等。 7、记帐信息:包括CPU占用量,实际所用时 间量,帐号等。 8、进程之间的家族关系:在进程的树型结构 系统(如UNIX系统)中,进程之间存在着 家族关系。创建进程的进程称为父进程, 被创建进程称为子进程。
PCB内容(2)
2、进程的状态:说明进程目前所处的状态,进程可 能的状态在下一节描述。 3、CPU现场保护区:当进程由于某种原因不能继续 运行时,要将其CPU运行的现场信息保存起来,以 便下次继续运行。通常,CPU的现场信息包括:程 序计数器(PC)、工作寄存器、程序状态字等。 4、CPU的调度信息:包括进程优先级、进程所在各 种队列的指针。 5、进程要执行的程序在主存和外存起始地址,及存 取保护信息。
程序顺序执行优缺点


优点:由于顺序程度的资源独占性(封闭 性)和结果无关性(可再现性),为程序 员调试程序带了很大方便 缺点:由于资源的独占性,使得系统资源 利用率非常低
程序并发执行


并发处理技术引入:大大提高了计算机的 利用率、运行速度和系统的处理能力。 程序的并发执行:是指若干个程序(或程 序段)同时在系统中运行,这些程序(或 程序段)的执行在时间上是重叠的,一个 程序(或程序段)的执行尚未结束,另一 个程序(或程序段)的执行已经开始。
运行 进程因某事件(I/O, etc)变成堵塞状态
时间片 已用光
某事件被解除 (如I/O完成) 阻塞
就绪
由进程状态转换图可以看出:

就绪态--运行态:处于就绪态的某进程被进程调度 程序的执行选中时。 运行态--阻塞态:是由运行进程自己主动改变的。 例:一个正在运行的进程启动了某一外围设备后, 等待该外围设备传输完成时,使自己由运行态变为 阻塞态。 阻塞态--就绪态:是由外界事件引起的。 例:上 面所述的外围设备传输已经完成时,请求中断,由 I/O中断处理程序把因等待这一I/O完成而阻塞的进 程变为就绪态
相关文档
最新文档