操作系统原理第二章进程管理-精品文档122页

合集下载

操作系统课件——进程管理

操作系统课件——进程管理

09:38
30
协同工作的进程之间存在同步关系,但是进程之间的更 一般关系却是互斥(!!!),同时互斥又可以理解为 是一种特殊的同步(???)。 同步与互斥的解决方法 软硬件方法:
软件:单双标志、双标志改进、Peterson’s Algorithm 硬件:关中断、TS和swap指令
信号量机制:重点介绍 管程机制:基于面向对象的方法,将共享变量以及对于共享
09:38
24
3 进程控制原语
创建进程、撤消进程、实现进程状态变迁都是操系统 的底层功能之一,称为进程控制。 进程控制程序通常做成原语,属于操作系统的内核。 内核:kernel,是OS的常驻部分,是对硬件的首次扩 充,它由原语、中断处理和设备驱动程序所组成。 原语:primitive,是一种特殊的系统调用命令,是 由若干条指令构成的用以完成特定功能的一段程序, 是机器指令的延伸,特点是原子性。 Create and Terminate,创建与终止; Process Switch,进程切换; Block and Wakeup,阻塞与唤醒; Suspend and Activate,挂起与激活
09:38
16
进程的分类 系统进程:系统进程起着资源管理和控制的作用。或 者:执行操作系统核心代码的进程。 用户进程:执行用户程序的进程。 (系统进程优先于用户进程)
系统进程被分配一个初始的资源集合,为它独占,也以最高优 先权的资格使用。用户进程通过系统服务请求的手段竞争使用 系统资源; 用户进程不能直接做I/O操作,而系统进程可以做显示的、直接 的I/O操作。 系统进程在管态下活动,而用户进程则在用户态(目态)下活 动。
09:38
23
进程状态转换-七状态模型转换 由于某种原因,导致一些进程被对换至外存,成为挂 起状态。 阻塞挂起状态(Blocked suspend):进程在外存 并等待某事件的出现; 就绪挂起状态(Ready suspend):进程在外存, 但只要进入内存,即可运行; 就绪状态(Ready):进程在内存且可立即进入运行 态; 阻塞状态(Blocked):进程在内存等待某事件出现

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

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

本章主要内容


进程的引入和概念 进程的描述:进程状态、PCB 进程控制:创建、撤销、阻塞、唤醒… 处理机的调度 线程的引入
进程的引入和概念
程序的顺序执行 程序: 指令或语句序列的集合,体现了某种算法 所有程序是顺序的 程序的顺序执行:在任何时刻,机器只执 行一个操作,只有在前一个操作执行完后 ,才能执行后继操作。
运行 进程因某事件(I/O, etc)变成堵塞状态
时间片 已用光
某事件被解除 (如I/O完成) 阻塞
就绪
由进程状态转换图可以看出:

就绪态--运行态:处于就绪态的某进程被进程调度 程序的执行选中时。 运行态--阻塞态:是由运行进程自己主动改变的。 例:一个正在运行的进程启动了某一外围设备后, 等待该外围设备传输完成时,使自己由运行态变为 阻塞态。 阻塞态--就绪态:是由外界事件引起的。 例:上 程序把因等待这一I/O完成而阻塞的进 程变为就绪态
PCB内容
1、进程标识符:用于唯一地标识一个进程。 外部标识符:由创建者提供,通常是由字母、 数字所组成,往往是由用户访问进程时使用,便 于记忆。如计算进程、打印进程、发送进程、接 收进程等。 内部标识符:OS为每一个进程赋予了一个唯一 的整数,作为内部标识。父进程标识符、子进程 标识符、用户标识符。
进程的基本状态及其转换(3)

阻塞状态:正在执行的进程由于发生某事件 而暂时无法继续运行时,放弃处理机而进入 的状态,又称等待状态、封锁态、睡眠态。 处于阻塞态的进程在逻辑上是不能运行的 ,即使CPU空闲,该进程也不可运行 引起阻塞的事件:请求I/O,申请缓存等。
进程调度 程序把处 理机分配 给进程
进程的基本状态及其转换(1)
进程的三种基本状态:运行状态、就绪状态 和阻塞状态 进程在生命消亡前处于且仅处于三种基本 状态之一

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

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

冲区空时等待。
02
读者-写者问题
多个进程共享一个数据文件,分为读者和写者两类。读者只读取文件不
修改,写者需要修改文件。需要保证多个读者可以同时读取文件,但写
者在修改文件时需要独占访问。
03
哲学家进餐问题
五个哲学家围坐在圆桌旁,思考和进餐交替进行。每个哲学家之间有一
只筷子,进餐时需要拿起左右两只筷子。需要保证不会出现死锁情况。
《操作系统原理》第二章进程管理
目录
• 进程管理概述 • 进程创建与终止 • 进程同步与互斥 • 进程通信机制 • 线程概念及多线程模型 • 进程调度算法
01 进程管理概述
进程概念及特性
进程定义
进程是计算机程序关于数据集合上的 一次运行活动,是系统进行资源分配 和调度的基本单位。
进程特性
动态性、并发性、独立性、异步性、 结构性。
僵尸进程
僵尸进程是指子进程已经结束,但其父进程尚未回收其PCB等资源,导致该子进程仍然留在系统中占用一定的资 源。为了避免僵尸进程对系统的影响,父进程需要在子进程结束后及时回收其资源,或者通过信号机制等方式来 通知父进程进行资源回收。
例子:创建和终止一个进程
创建进程
在Unix/Linux系统中,可以使用fork()系统调用来创建一个新进程。fork()函数会复制 当前进程的PCB等资源,并在新进程中返回0,而在原进程中返回新进程的PID。通过
进程管理重要性
资源管理
系统效率
进程是系统资源分配的基本单位,通过对 进程的管理,实现对CPU、内存、I/O设备 等资源的合理分配和使用。
通过对进程的有效调度和管理,提高系统 的吞吐量和响应速度,改善系统性能。
系统稳定性
用户体验

操作系统原理第二章进程管理122页PPT

操作系统原理第二章进程管理122页PPT


W(c = a – b )= { c }
作 系
R(w = c + 1 )= { c }
统 |
W(w = c + 1 )= { w }
进 程
R(w = c + 1 )∩ W(c = a – b )= { c }


语句 c = a – b 和 w = c + 1 不能并发执行。
12
CUIT 叶斌
07:14



中间

打印
6
5
5
8
执行后N= 0
0
1
CUIT 叶斌
07:14
2.1 前趋图和程序执行
例3.设有堆栈S,栈指针top ,栈中存放相应的数 据块地址,程序 popaddr(top)从栈中取地址, pushaddr(blk)将地址放入栈S中。

作 void popaddr (top) {
系 统
top --;

n 个用户共同使用。
作 系
由系统进行统一分配(硬件)和由程

序自行使用(数据集,变量、队列等)
| 进
程序并发执行与资源共享之间互为存

在条件。


14
CUIT 叶斌
07:14
2.1 前趋图和程序执行
程序并发执行的特点
失去程序的封闭性和可再现性
程序与计算不再一一对应

程序并发执行的相互制约

提供服务
作 系
应用请求(应用程序创建)

创建过程 Create()
| 进
申请空白PCB:新标识和PCB

操作系统原理第2_2章_进程管理

操作系统原理第2_2章_进程管理

互斥使用临界资源
• 由于同一个临界资源在多个共享它的进 程中将对应多个临界区,那么怎样才能 保证诸进程间互斥地执行临界区呢? • 这就必须保证“临界区使用标志”是可 被系统中所有进程共享的全局变量,而 且诸进程对该标志的修改操作必须互斥 进行。
临界区使用原则
(也称为互斥条件)
• • • 每次只允许一个进程处于临界区(忙则等 待); 进程只能在临界区内逗留有限时间,不得使 其它进程在临界外无限期等待(有限等待) 如果临界区空闲,则只要有进程申请就立即 让其进入(空闲让进); 进入临界区的进程,不能在临界区内长时间 阻塞等待某事件,必须在一定期限内退出临 界区(让权等待) 不能限制进程的执行进度及处理机的数量
图2.27 互斥算法:第一次改进
分析:第一次改进
• 如果进程在临界区外失败,其他进程不会阻塞。 • 问题1:“忙等” • 问题2:若进程在临界区内失败且相应的flag 为true,则其他进程永久阻塞。 • 问题3:不能保证进程互斥进入临界区。请试 着按以下顺序执行:
硬件方法
• 为了解决软件方法存在的不足,有人提出了硬 件解决方法,通过屏蔽中断或采用专门的机器 指令控制同步与互斥。 • 与软件解决方法比较,这种方法减少了系统额 外开销,但由于需要太强的硬件约束条件,以 及可能导致进程饥饿与死锁现象,一直没有成 为通用的解决方法。
• 另一类解决方法是由操作系统,或专门 的程序设计语言提供的特别支持,包括 信号量方法、管程方法和消息传递方法。


分析:初步设想
例如(续)
• 根据假设,P1很快又需要进入临界区, 但是P0却只能在10分钟之后,按照turn 规定的顺序,进入临界区执行,退出时 修改turn=1。 • 即,P1必须在临界区空闲的情况下,等 待10分钟,才能使用临界区。这不符和 互斥原则,降低了系统性能。

操作系统讲义-第二章进程管理

操作系统讲义-第二章进程管理

挂起 就绪
2013年7月31日
9
2.1 进程的基本概念
5. 进程控制块(Process Control Block,PCB) 进程实体的组成 (1)程序:一个指令序列,静态的概念 (2)进程控制块PCB:记录型数据结构 (3)数据集合:程序运行的输入信息
PCB 程序 数据 集合
PCB的作用 a. 操作系统调度的需要 b. 描述进程当前情况 c. 控制进程运行
2013年7月31日
第二章 进程管理
4
2.1 进程的基本概念
2. 程序的并发执行
例:有一批作业,每个作业由三个程序段构成,它们分别是 输入(Input)、计算(Compute)、打印(Print)。
• Ii —— 第i个作业的输入程序 • Ci——第i个作业的计算程序 • Pi——第i个作业的打印程序
2.2 进程控制
3. 进程的阻塞和唤醒 引起进程阻塞/唤醒的事件
(1)请求系统服务 (2)启动某种操作 (3)新数据尚未到达 (4)无新工作可做
进程的阻塞过程
a. 调用Block原语 b. 停止执行 c. PCB从执行阻塞 d. 将PCB插入 阻塞队列
进程的唤醒过程
a. 调用wakeup原语 b. 从阻塞队列移出进程 c. PCB从阻塞就绪 d. 将PCB插入就绪队列
8
2.1 进程的基本概念
4. 进程的定义和状态转换
引起挂起状态的原因 (1)终端用户的请求 (2)父进程的请求 (3)负荷调节的要求 (4)操作系统的需要 进程的状态转换
撤消
活动
结束
I/O请求 时间片完
执行
进程调度

死锁
唤醒
阻塞
I/O完成 唤醒 挂起

操作系统2 进程管理

操作系统2 进程管理

进程的挂起状态(从内存交换到外存) 进程的激活状态(从外存交换到内存)
新建
内存活动
空间
运行
时间 片到
调度
终止
等待事件 发生如 等待I/O
完成
接纳 就绪 事件发生 等待
如I/O完成
接纳
挂起
激活(内存有空间)挂起
激活(内存有空间)
外存 就绪
事件发生 如I/O完成
外存 等待
外存活动 空间
具有挂起状态的进程状态转换图
进程控制块的组织:
2.2.3 进程的阻塞与唤醒
1. 引起进程阻塞和唤醒的事件
1) 请求系统服务 2) 启动某种操作 3) 4)
2. 进程阻塞过程
进程调用阻塞原语block(), 把自己阻塞。它是进程自身的 一种主动行为。
然后,PCB中的状态由“执行”改为阻塞,并将PCB插 入阻塞队列。
最后,转调度程序将处理机分配给另一就绪进程,并进 行切换.
2)把该进程的PCB复制到某指定的内存区域。 3)若被挂起的进程正在执行,则转向调度程序重新调度。
2. 进程的激活过程
系统用原语active( )将指定进程激活。
执行过程是:
1)先将进程从外存调入内存,静止就绪改为活动就绪; 静止阻塞改为活动阻塞。
2)假如采用的是抢占调度策略,则每当有新进程进入 就绪队列时,应检查是否要进行重新调度,即由调度程 序将被激活进程与当前进程进行优先级的比较,如果被 激活进程的优先级更低,就不必重新调度;否则,立即 剥夺当前进程的运行,把处理机分配给刚被激活的进程。
整个系统效率得 以提高。
下一 步
吞吐率:1/8Δt = 0.125道程序/Δt
A
0 Δt 1

《操作系统》课件02 进程管理

《操作系统》课件02 进程管理
5.异步性:(间断性)
第二进章程管进理 程 管 理
❖ 2. 进程的三种基本状态 ‫ ٭‬就绪状态 ‫ ٭‬执行状态 ‫ ٭‬阻塞状态
I/O完成
就绪
时间片完
进程调度
阻塞
I/O请求
执行
进程的三种基本状态及其转换
第二进章程管进理 程 管 理
❖ 3. 挂起状态(被换出内存的状态)
‫ ٭‬引入原因 ▪ 终端用户请求 ▪ 父进程请求 ▪ 负荷调节需要 ▪ 操作系统需要
第二进章程管进理 程 管 理
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程 的基本概念 2.7 线程的实现
第二进章程管进理 程 管 理
2.1 进程的基本概念
2.1.1 前驱图的定义 2.1.2 程序的顺序执行 2.1.3 程序的并发执行 2.1.4 进程的定义与特征 2.1.5 进程控制块
❖ 2.进程控制块中的信息 ‫ ٭‬标识、处理机状态,进 程调度信息,进程控制 信息
pid 进程状态
现场 优先级 阻塞原因 程序地址 同步机制 资源清单 链接指针
第二进章程管进理 程 管 理
❖ 3.PCB的组织 ‫ ٭‬链接
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针
以静态形式给出
PCB1 4 PCB2 3 PCB3 0 PCB4 8 PCB5 PCB6 7 PCB7 9 PCB8 0 PCB9 1
❖ n++;在printf(n);和n=0;之后,则n值分别 为5,0,1.
❖ n++;在printf(n);和n=0;之间,则n值分别 为5,6,0.

第2章 操作系统进程管理

第2章 操作系统进程管理

并调度 CPU分时运行各个进程。
CPU;
¤ 进程控制块 PCB p52 ¤ 进程调度
¤ CPU用操作系统进程管理模块地址修改 IP寄 存器; ― ―CPU改为执行操作系统进程管理模块中的
1)定时器定时(20ms)发中断请求
指令。
2)CPU切换 IP,运行操作系统的进程调度模块
3)操作系统进程调度模块将 IP切换到下一个进程
硬盘:程序
内存:(4G)
PCB、堆栈 进程
一. 进程的概念
¤ 操作系统也是计算机系统中的一个 进程。
操作系统
硬盘:程序
内存:(4G)
PCB、堆栈 进程
一. 进程的概念
¤ 操作系统也是计算机系统中的一个 进程。
¤ 操作系统进程由 BIOS创建 ¤ 用户进程由操作系统进程创建
操作系统 硬盘:程序
内存:(4G)
硬盘:程序
内存:(4G)
PCB、堆栈 进程
一. 进程的概念
¤ 进程是程序在内存中的副本。 ¤ 程序只有被创建为进程后才能被 CPU运行。 ¤ 进程由操作系统负责创建。 ¤ p52:
每个进程需要占用两块内存: 代码区:存放程序代码; 数据区:存放变量。
P47: 进程 process是正在内存中运行 的程序 program。
Chapter Two Management of Process and Thread
一. 进程的概念
¤ 进程是程序在内存中的副本。 ¤ 程序只有被创建为进程后才能被 CPU运行。 ¤ 进程由操作系统负责创建。
(存放在内存中)
P47: 进程 process是正在内存中运行 的程序 program。
二. 多进程并发运行 p45

操作系统课件 第2章-进程管理

操作系统课件 第2章-进程管理
或称进程上下文(context)
PCB中的主要信息
(3)进程调度信息 进程的状态 优先级 使进程阻塞的条件 占用CPU 、等待CPU的时间(用于动态调整优先级)
(4)进程占用资源的信息 进程间同步和通信机制,如信号量、消息队列指针 打开文件的信息,如文件描述符表
进程的描述
4. PCB的组织方式 一般来说,系统把所有PCB组织在一起,并把它们放在内存的固定区域, 构成PCB表。 PCB表的大小决定了系统中最多可同时存在的进程个数。
级阻塞挂起(系统认为会很快出现所等待的事件)进程从外存转到内存
七状态进程模型
激活
挂起 事件 发生
激活
挂起
挂起 调度
超时
事件 发生
等待 事件
释放
2.1 进程(Process)
四、进程的描述
进程控制块(Process Control Block, PCB) 1. PCB是什么? 是OS管理和控制进程的数据结构。 PCB记录着进程的描述信息。 每个进程对应1个PCB。
进程的描述
2. PCB的作用 PCB是进程的一部分
进程由3部分组成:程序、数据、PCB。 PCB伴随着进程的整个生命周期。
进程创建时,由OS创建PCB; 进程终止时,由OS撤销PCB; 进程运行时,以PCB作为调度依据。
进程的描述
3. PCB中的主要信息 (1)进程本身的标识信息
进程标识符pid(process ID):整数,由OS分配,唯一 用户标识符uid(user ID):创建该进程的用户 对应程序的地址:内存、外存 (2)CPU现场 - 为进程正确切换所需 所有寄存器的值
现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态
七状态进程模型

操作系统课件-进程管理

操作系统课件-进程管理

思考?
1.如果系统中有N个进程,运行的进程最多几个,最 少几个;就绪进程最多几个最少几个;等待进程
最多几个,最少几个? 2. 有没有这样的状态转换,为什么?
等待—运行; 就绪—等待
第二章 进 程 管 理
2.1.5 进程控制块
为了描述一个进程和其它进程以及系统资源的关系,为了 刻画一个进程在各个不同时期所处的状态,人们采用了一 个与进程相联系的数据块,称为进程控制块(PCB)。 系统利用PCB来控制和管理进程,所以PCB是系统感知进 程存在的唯一标志 进程与PCB是一一对应的 1. 进程控制块的作用 进程控制块的作用是使一个在多道程序环境下不能 独立运行的程序(含数据),成为一个能独立运行的基本单 位,一个能与其它进程并发执行的进程。或者说,OS是
S3
(b ) 具有循环的前趋图
图 2-2 前趋图
第二章 进 程 管 理
对于图 2-2(a)所示的前趋图, 存在下述前趋关系: P1→P2, P1→P3, P1→P4, P2→P5, P3→P5, P4→P6, P4→P7, P5→P8, P6→P8, P7→P9, P8→P9 或表示为: P={P1, P2, P3, P4, P5, P6, P7, P8, P9}
第二章 进 程 管 理
I1
C1
P1
I2
C2
P2
S1
S2
S3
(a ) 程序的顺序执行
(b ) 三条语句的顺序执行
图 2-1 程序的顺序执行
第二章 进 程 管 理
2. 程序顺序执行时的特征
(1) 顺序性:
(2) 封闭性: (3) 可再现性:
第二章 进 程 管 理
2.1.2 前趋图
前趋图 (Precedence Graph) 是一个有向无循环图,记为 DAG(Directed Acyclic Graph),用于描述进程之间执行的前后 关系。图中的每个结点可用于描述一个程序段或进程,乃至 一条语句;结点间的有向边则用于表示两个结点之间存在的 偏序(Partial Order)或前趋关系(Precedence Relation)“→”。 →={(Pi, Pj)|Pi must complete before Pj may start}, 如果(Pi, Pj)∈→, 可写成 Pi→Pj ,称 Pi 是 Pj 的直接前趋,而称 Pj 是 Pi 的直 接后继。在前趋图中,把没有前趋的结点称为初始结点

操作系统02 进程管理

操作系统02 进程管理

概述
第二进章程管进理 程 管 理
进程控制的任务
对系统中所有进程从创建、存在到消亡的全过程实施有效的管理和控 制。具有创建新进程、对运行进程进行控制、撤销进程的能力。进程控制 由OS系统的内核完成,内核通过原语操作来实现。
处理机的两种状态
系统态——又称管态或内核态,使OS管理程序执行时机器所处的状态。 具有较高特权,能执行一切指令,访问所有寄存器和存储区。
第二进章程管进理 程 ቤተ መጻሕፍቲ ባይዱ 理
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程 的基本概念 2.7 线程的实现
第二进章程管进理 程 管 理
2.1 进程的基本概念
2.1.1 前驱图的定义 2.1.2 程序的顺序执行 2.1.3 程序的并发执行 2.1.4 进程的定义与特征 2.1.5 进程控制块
❖ n++;在printf(n);和n=0;之后,则n值分别 为5,0,1.
❖ n++;在printf(n);和n=0;之间,则n值分别 为5,6,0.
第二进章程管进理 程 管 理
程序A n++;
程序B printf(n); ;
n=0;
❖ n++;在printf(n);和n=0;之前,则N值分别 为6,6,0.
‫ ٭‬一、程序执行有固定的时序。
I1
C1
P1
I2 C2
P2
‫ ٭‬二、特征: ▪ 顺序性、封闭性、可再现性
第二进章程管进理 程 管 理
2.1.3 程序的并发执行
❖ 一、多个程序的并发执行
I1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

能由相应的单个程序完成。
操 作
例1:有一批程序,而每个程序需输入,计算,

打印三项操作。其程序段并发执行的前趋图:

|
I1 → I2 → I3 → I4 →


↘↘↘↘


C1 → C2 → C3 → C4 →
7
↘↘↘↘
CUIT 叶斌
P1 → P2 → P3 → P4 →
21:12
2.1 前趋图和程序执行
| r=*top;

程 return (r)

理}
void pushaddr(blk) { *top = blk; top++;
}
9 先执行 popaddr 的top--,接着执行pushaddr的*top=blk
CUIT 叶斌
21:12
操 作 系 统 | 进 程 管 理
10
CUIT 叶斌
2.1 前趋图和程序执行
进 程
初始节点

终止节点

边:执行顺序。
2
重量:程序量或执行时间。
CUIT 叶斌
21:12
2.1 前趋图和程序执行
例:有7个结点的前趋图。
P = { P1,P2,P3,P4,P5,P6,P7 }
→ = {(P1,P2),(P1,P3),(P1,P4), (P2,P5),
操 (P3,P5),(P4,P6),(P5,P7),(P6,P7)}
作 系
执行——暂停——执行

|




15
CUIT 叶斌
21:12
2.2 进程的概念
进程的定义
进程的定义: 进程是程序在一个数据集
操 作
合上的运行过程,是系统进行资源分配

和调度的一个独立的基本单位。
统 |
进程的特征

动态性
程 管
并发特征

独立特征
异步特征
16
机构特征


2

| 进
5

1

3

7
6
3
4
CUIT 叶斌
21:12
2.1 前趋图和程序执行
程序的顺序执行
一个复杂的程序通常可以分为若干程序 段,并且必须按照某种先后次序来执行。

例1:输入——计算——打印
作 系
例2:语句执行顺序
统 |
S1:a := x + y

S2:b := a – 5
1、请求系统服务
2、启动某种操作


3、数据尚未到达
{ i = getinternal name (n); id (i) = n;


priority (i) = P0; cpupstate (i) = S0;


main store (i) = M0; resources (i) = R0;
|

status (i) = “readys”; set accounting data;
操 作
行修改。

用户终端需要;

|
父进程的需要:考查、修改获协调各子进

程时;


OS的需要:改善系统运行性能,调节负

荷;
对换的需要:缓和内存紧张的情况;
22
CUIT 叶斌
21:12
2.3 进程状态及其控制
进程状态转换
执行 状态
结束

I/O请求
进程 调度

时间

片到

阻塞
就绪
| 进


insert (RL, i);

}
31
CUIT 叶斌
21:12
进程的终止
进程终止的事件
正常结束:Holt指令(引发中断)
异常结束:

越界错误

保护错

非法指令错
统 |
特权指令错

运行超时

等待超时
管 理
算术运算错
I/O故障
32
外界干预:人工或系统干预、父进程请 求、父进程终止
| 进
就绪状态(Ready)
程 管
执行状态(Running)

等待状态(阻塞状态Blocked)
21
CUIT 叶斌
新(New)状态 终止状态(Terminated or Exit)
21:12
2.3 进程状态及其控制
挂起状态(Suspend)
把一个进程挂起使之处于静止状
态,以便研究它的执行情况获对它进
程序并发执行过程及条件 (Bernstein条件)
S0; Cobegin
S1;S2;S3;……;Sn; Coend Sn+1;
S1、S2、……、Sn可以由同一程序段 中的不同语句组成。
21:12
2.1 前趋图和程序执行
操 作 系 统 | 进 程 管 理
11
CUIT 叶斌
将任一语句划分为两个变量的集合R (Si)和W(Si): 读集R(Si)= {a1,a2,……,am} 写集W(Si)= {b1,b2,……,bn}
CUIT 叶斌
21:12
2.2 进程的概念
进程的组成(进程上下文)
PCB
程序
操 作
数据
系 统
进程控制块PCB
| 进
描述信息

控制信息
管 理
资源管理信息
CPU现场保护:对CPU的处理
18
CUIT 叶斌
21:12
2.2 进程的概念
PCB的组织方式
链接方式
将具有相同状态的PCB,用其中的链接
程 管
S3:c := b + 1

4
CUIT 叶斌
21:12
2.1 前趋图和程序执行
顺序执行程序的特点:
程序的顺序性。

程序在运行时独占主机资源。
作 系
程序的执行结果与其执行速度无关。
统 | 进
程序执行时的初始条件相同,其结 果必相同。



5
CUIT 叶斌
21:12
2.1 前趋图和程序执行
操 作 系 统 | 进 程 管 理
26
CUIT 叶斌
21:12
2.3 进程状态及其控制
一个状态转换和进程转换的例子
进程B
中断处理
I/O驱动 进程A


I/O中断


|




现场保护
中断处理 A就绪 调度,恢 复A现场
现场保护 和阻塞A
启动I/O
调度,恢 复B现场
27
注:红色表示处于“管态”
CUIT 叶斌
如对语句S1和S2有: R(S1)∩ W(S2) = {Ф} W(S1)∩ R(S2) = {Φ} W(S1)∩ W(S2)= {Φ}
成立,则语句S1和S2可并发执行。
21:12
2.1 前趋图和程序执行
例1. 语句 c = a – b 和 w = c + 1
R(c = a – b )= {a, b }
CUIT 叶斌
21:12
2.4 进程控制
撤消原语(Destroy Primitive)
Void destroy(n)
{ sched = false;


i = getinternal name (n);


Kill(i);
| 进
If sched then scheduler; }



33
CUIT 叶斌

n 个用户共同使用。
作 系
由系统进行统一分配(硬件)和由程

序自行使用(数据集,变量、队列等)
| 进
程序并发执行与资源共享之间互为存

在条件。


14
CUIT 叶斌
21:12
2.1 前趋图和程序执行
程序并发执行的特点
失去程序的封闭性和可再现性
程序与计算不再一一对应

程序并发执行的相互制约
例2.Begin integer N:=0;
Cobegin
Program A : begin
Program B : begin
L1 : N:=N+1;
L2 : Print (N); N:=0;
操 作
Goto L1;
Goto L2;
系 统
End
End
|
Coend
End

程 当N=5时,如果 N=N+1 在 print(N)和 N:=0
CUIT 叶斌
21:12
2.2 进程的概念
进程与程序的关系
操 概念


统 |
特征




进程
动态实体, 强调执行过程
程序
静态实体, 是指令的有序集合
并发性、独立性、 异步性, 是竞争计算机系统 资源的基本单位
无并行特征, 是静止的
两者联系 不同的进程可以共享同一个程序,
17
只要对应的数据集不同



中间
相关文档
最新文档