操作系统原理 第二章 进程管理 PPT课件
合集下载
操作系统课件——进程管理

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):进程在内存等待某事件出现
《进程管理》课件

和协作。
进程迁移
02
为了提高系统可靠性和可用性,分布式系统支持进程迁移,确
保关键任务能够持续运行。
负载均衡
03
分布式系统通过负载均衡技术,将任务分配到不同节点上执行
,提高系统整体性能。
THANKS
感谢观看
当系统中存在多个等待资源的进程,且每 个进程都持有至少一个资源并等待获取被 其他进程持有的资源时,就会产生死锁。
通过设置资源分配顺序或限制资源请求量 来避免饥饿。
• 死锁预防
• 死锁避免
通过破坏死锁产生的必要条件来预防死锁 ,例如预先分配资源、设置最大需求量等 。
在分配资源时进行检测和限制,避免产生 死锁,例如银行家算法。
进程的状态及其转换
总结词
阐述进程的三种基本状态及转换关系
详细描述
进程状态分为新建、运行、阻塞和就绪等状态。新建状态是进程被创建时的状态,运行状态是进程获 得CPU并执行的状态,阻塞状态是进程等待某个条件成立而暂时无法执行的状态,就绪状态是进程已 具备运行条件但未获得CPU时的状态。不同状态之间可以相互转换。
进程管理在操作系统中的应用
01
02
03
进程调度
操作系统通过进程调度算 法,合理分配系统资源, 确保进程能够高效地运行 。
进程同步
操作系统提供进程同步机 制,实现多个进程之间的 协同工作,避免资源竞争 和死锁。
进程通信
进程之间通过消息传递、 共享内存等方式进行通信 ,实现数据交换和协同工 作。
多核处理器下的进程管理技术
进程与程序的区别和联系
总结词
比较进是程序的一次执行过程,具有动态特性和独立性。 程序是静态的,而进程是动态的。程序是永存的,进程是暂时的。程序是过程的代码, 而进程是执行这些代码的过程。一个程序可以对应多个进程,但一个进程不能对应多个
第二章-进程管理 ppt课件

→,记为Pi → Pj,则Pi是Pj的直接前趋,Pj是Pi的直接后继 把没有前趋的结点称为初始结点(Initial Node),把没有后继
的结点称为终止结点(Final Node)。 每个结点还具有一个重量(Weight),用于表示该结点所含有
的程序量或结点的执行时间。
前趋图 P2
P5
P1
P3
第二章-进程管理
第二章 进程管理
精品资料
• 你怎么称呼老师?
• 如果老师最后没有总结一节课的重点的难点,你 是否会认为老师的教学方法需要改进?
• 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭
• “不怕太阳晒,也不怕那风雨狂,只怕先生骂我 笨,没有学问无颜见爹娘 ……”
• “太阳当空照,花儿对我笑,小鸟说早早早……”
Contents
1 前趋图和程序执行 2 进程的描述 3 进程控制 4 进程同步 5 经典进程的同步问题 6 进程通信 7 线程的基本概念 8 线程的实现
01
前趋图和程序执行
前趋图
※ 前趋图是一个有向无循环图(DAG),用于描述进程之间 执行的前后关系
结点:描述一个程序段或进程,或一条语句 有向边:结点之间的偏序或前序关系“→” →={(Pi,Pj) Pi must complete before Pj may start},若(Pi,Pj)
I1
C1
P1
I2
C1
P2
程序的顺序执行
对于一个程序段中的多条语句来说,也有一个执行顺序的 问题。如果对于下述三条语句的程序段: S1:a = x+y S2:b = a-5 S3:c = b+1
(其中S2必须在a被赋值以后才能执行;同样S3也只能在b被赋值 以后才能执行)
的结点称为终止结点(Final Node)。 每个结点还具有一个重量(Weight),用于表示该结点所含有
的程序量或结点的执行时间。
前趋图 P2
P5
P1
P3
第二章-进程管理
第二章 进程管理
精品资料
• 你怎么称呼老师?
• 如果老师最后没有总结一节课的重点的难点,你 是否会认为老师的教学方法需要改进?
• 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭
• “不怕太阳晒,也不怕那风雨狂,只怕先生骂我 笨,没有学问无颜见爹娘 ……”
• “太阳当空照,花儿对我笑,小鸟说早早早……”
Contents
1 前趋图和程序执行 2 进程的描述 3 进程控制 4 进程同步 5 经典进程的同步问题 6 进程通信 7 线程的基本概念 8 线程的实现
01
前趋图和程序执行
前趋图
※ 前趋图是一个有向无循环图(DAG),用于描述进程之间 执行的前后关系
结点:描述一个程序段或进程,或一条语句 有向边:结点之间的偏序或前序关系“→” →={(Pi,Pj) Pi must complete before Pj may start},若(Pi,Pj)
I1
C1
P1
I2
C1
P2
程序的顺序执行
对于一个程序段中的多条语句来说,也有一个执行顺序的 问题。如果对于下述三条语句的程序段: S1:a = x+y S2:b = a-5 S3:c = b+1
(其中S2必须在a被赋值以后才能执行;同样S3也只能在b被赋值 以后才能执行)
操作系统原理第二章进程管理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章 操作系统进程管理PPT课件

8
2.1.2 程序并发执行及其特征 ■ 程序并发执行概念
下一步 前驱关系
输入:
I1
I2
I3
并行
执行顺序 并行
计算:
并行
输出:
C1
C2
C3
时间:5个Δt
P1
P2
P3
结束
t
t0 Δt t1
t2
t3
t4
t5
t6
三个程序并发执行示例 9
2.1.2 程序并发执行及其特征
■ 程序并发执行概念
● 作业吞吐量是指在给定时间间隔内所完成作业 的数量。 ● CPU的利用率。 ● 单道程序系统的缺点:资源浪费、效率低、周 转时间长等。 ● 多道程序系统的优点:资源利用率高、吞吐量 大等。
4
2.1 进程概念
2.1.1 程序顺序执行的特征 ■ 顺序程序设计
5
2.1 进程概念
2.1.1 程序顺序执行的特征
■ 顺序程序设计
6
三个程序间顺序执行
程序1:I1 C1 P1 程序2: I2 C2 P2 程序3:I3 C3 P3
输入:
计算:
输出:
I1
I2
I3
C1 P1
C2 P2
C3 P3
9个Δt 结束
A
0 Δt 1
下一步
1/8Δt = 0.125道程序/Δt
等待I/O的时间
结束
(6个Δt)
A
AI/O
t
78
11
(a)单道情况
2/9Δt = 0.222道程序/Δt
AB
0 Δt 1 2
AB
AI/O
BI/O
7 89
(b)两道情况
2.1.2 程序并发执行及其特征 ■ 程序并发执行概念
下一步 前驱关系
输入:
I1
I2
I3
并行
执行顺序 并行
计算:
并行
输出:
C1
C2
C3
时间:5个Δt
P1
P2
P3
结束
t
t0 Δt t1
t2
t3
t4
t5
t6
三个程序并发执行示例 9
2.1.2 程序并发执行及其特征
■ 程序并发执行概念
● 作业吞吐量是指在给定时间间隔内所完成作业 的数量。 ● CPU的利用率。 ● 单道程序系统的缺点:资源浪费、效率低、周 转时间长等。 ● 多道程序系统的优点:资源利用率高、吞吐量 大等。
4
2.1 进程概念
2.1.1 程序顺序执行的特征 ■ 顺序程序设计
5
2.1 进程概念
2.1.1 程序顺序执行的特征
■ 顺序程序设计
6
三个程序间顺序执行
程序1:I1 C1 P1 程序2: I2 C2 P2 程序3:I3 C3 P3
输入:
计算:
输出:
I1
I2
I3
C1 P1
C2 P2
C3 P3
9个Δt 结束
A
0 Δt 1
下一步
1/8Δt = 0.125道程序/Δt
等待I/O的时间
结束
(6个Δt)
A
AI/O
t
78
11
(a)单道情况
2/9Δt = 0.222道程序/Δt
AB
0 Δt 1 2
AB
AI/O
BI/O
7 89
(b)两道情况
《操作系统》课件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. 进程的三种基本状态 ٭就绪状态 ٭执行状态 ٭阻塞状态
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章-进程管理

或称进程上下文(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现场 - 为进程正确切换所需 所有寄存器的值
现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态
七状态进程模型
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现场 - 为进程正确切换所需 所有寄存器的值
现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态
七状态进程模型
操作系统原理与实例分析PPT课件第二章 进程管理.ppt

* 程序地址
进程的程序部分在内存及外存的地址,或 描述程序地址信息的段表地址、页表地址等。
* 数据地址 进程的数据部分在内存及外存的地址,或
描述数据地址信息的段表地址、页表地址等。 * 状态
进程当前所处的状态,即就绪状态、执行 状态及阻塞状态,已经被创建的进程的状态必 为此三者之一。
* CPU状态保护区
CPU状态信息主要由通用寄存器、程序计 数器PC、程序状态字PSW以及用户栈指针等组 成,也称为中断点现场信息。CPU状态保护区 用以保护进程被中断而暂停执行时CPU的状态 信息,以便进程重新获得CPU时能够重布现场, 从上次被中断处继续执行。
* 进程优先级
进程优先级是用以描述进程使用处理机的 优先级别的整数,是优先级调度算法中调度的 依据。通常数值越小,优先级别越高。优先级 可以处理成不变的,称为静态优先级,也可以 处理成可变的,称为动态优先级。
PCB包含了进程的描述信息和控制信息,通常有如下项目: (1) 标识符 (2) 存贮信息 (3) 现场状态 (4) 优先数 (5) 现场信息 (6) 链接字(或称队列指针) (7) 族系关系 (8) 资源清单 (9) 其他
* 标识符
分为外部标识符和内部标识符。外部标识 符由创建进程者提供,通常由字母、数字等组 成,在用户或其它进程访问该进程时使用。内 部标识符是一个整数。在操作系统的PCB表区 中,有多个PCB表,每个PCB表有一个序号,通 常将这个序号做为内部标识符,以方便系统使 用。
… 还可有许多其它组合…
程序1
程序2
目
…
标 R1=X
程 R1=R1+1
序 X=R1
… R2=X R2=R2+1 X=R2
…
…
进程的程序部分在内存及外存的地址,或 描述程序地址信息的段表地址、页表地址等。
* 数据地址 进程的数据部分在内存及外存的地址,或
描述数据地址信息的段表地址、页表地址等。 * 状态
进程当前所处的状态,即就绪状态、执行 状态及阻塞状态,已经被创建的进程的状态必 为此三者之一。
* CPU状态保护区
CPU状态信息主要由通用寄存器、程序计 数器PC、程序状态字PSW以及用户栈指针等组 成,也称为中断点现场信息。CPU状态保护区 用以保护进程被中断而暂停执行时CPU的状态 信息,以便进程重新获得CPU时能够重布现场, 从上次被中断处继续执行。
* 进程优先级
进程优先级是用以描述进程使用处理机的 优先级别的整数,是优先级调度算法中调度的 依据。通常数值越小,优先级别越高。优先级 可以处理成不变的,称为静态优先级,也可以 处理成可变的,称为动态优先级。
PCB包含了进程的描述信息和控制信息,通常有如下项目: (1) 标识符 (2) 存贮信息 (3) 现场状态 (4) 优先数 (5) 现场信息 (6) 链接字(或称队列指针) (7) 族系关系 (8) 资源清单 (9) 其他
* 标识符
分为外部标识符和内部标识符。外部标识 符由创建进程者提供,通常由字母、数字等组 成,在用户或其它进程访问该进程时使用。内 部标识符是一个整数。在操作系统的PCB表区 中,有多个PCB表,每个PCB表有一个序号,通 常将这个序号做为内部标识符,以方便系统使 用。
… 还可有许多其它组合…
程序1
程序2
目
…
标 R1=X
程 R1=R1+1
序 X=R1
… R2=X R2=R2+1 X=R2
…
…
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
能由相应的单个程序完成。
操 作
例1:有一批程序,而每个程序需输入,计算,
系
打印三项操作。其程序段并发执行的前趋图:
统
|
I1 → I2 → I3 → I4 →
进
程
↘↘↘↘
管
理
C1 → C2 → C3 → C4 →
7
CUIT 叶斌
↘↘↘↘
P1 → P2 → P3 → P4 →
21:52
2.1 前趋图和程序执行
➢ 程序并发执行过程及条件 (Bernstein条件)
S0; Cobegin
S1;S2;S3;……;Sn; Coend Sn+1;
S1、S2、……、Sn可以由同一程序段 中的不同语句组成。
21:52
2.1 前趋图和程序执行
操 作 系 统 | 进 程 管 理
11
CUIT 叶斌
将任一语句划分为两个变量的集合R (Si)和W(Si): 读集R(Si)= {a1,a2,……,am} 写集W(Si)= {b1,b2,……,bn}
统
|
R(S4)= { a, c }
W(S4)={w }
进 程
语句 S1 和 S2 能并发执行。
管 理
语句 S1 和 S3,S2 和S3,S3 和S4 不能并发执行。
S1
13
S3 → S4
CUIT 叶斌
S2
21:52
2.1 前趋图和程序执行
➢ 资源共享
➢ 资源共享是指系统中的硬件资源和软
件资源不再由单个用户所独占,而为
2.1 前趋图和程序执行
例2. S1 : a = x + y
S2 : b = z + 1
S3 : c = a – b
S4 : w = a + c + 1
R(S1)= { x , y }
W(S1)= { a }
操 R(S2)= { z }
W(S2)= { b }
作
系 R(S3)= { a ,b }
W(S3)= { c }
例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
程 管
➢ S3:c := b + 1
理
4
CUIT 叶斌
21:52
2.1 前趋图和程序执行
➢ 顺序执行程序的特点:
➢ 程序的顺序性。
操
➢ 程序在运行时独占主机资源。
作 系
➢ 程序的执行结果与其执行速度无关。
统 | 进
➢ 程序执行时的初始条件相同,其结 果必相同。
程
管
理
5
CUIT 叶斌
21:52
2.1 前趋图和程序执行
管
理
前
中间
后
打印
6
5
5
8
执行后N= 0
0
1
CUIT 叶斌
21:52
2.1 前趋图和程序执行
例3.设有堆栈S,栈指针top ,栈中存放相应的数 据块地址,程序 popaddr(top)从栈中取地址, pushaddr(blk)将地址放入栈S中。
操
作 void popaddr (top) {
系 统
top --;
作
系
2
统
| 进
5
程
1
管
3
理
7
6
3
4
CUIT 叶斌
21:52
2.1 前趋图和程序执行
➢ 程序的顺序执行
➢ 一个复杂的程序通常可以分为若干程序 段,并且必须按照某种先后次序来执行。
操
➢ 例1:输入——计算——打印
作 系
➢ 例2:语句执行顺序
统 |
➢ S1:a := x + y
进
➢ S2:b := a – 5
操
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 叶斌
21:52
➢ 程序的并发执行
➢ 程序执行环境
➢ 独立性,逻辑上是独立的。
操 作
➢ 随机性:输入和执行开始时间都是随机的。
系
➢ 资源共享:资源共享导致对进程执行速度
统 |
的制约。
进
程
管
理
6
CUIT 叶斌
21:52
2.1 前趋图和程序执行
➢ 程序的并发执行
并发执行是指两个程序执行时间上是重叠
的。凡是能由一组并发程序完成的任务,都
操作系统原理 第二章 进程管理 PPT课件
2.1 前趋图和程序执行
➢ 前趋图的定义
操 作
➢ 前趋图(Procedence Graph)是一个有向
系
无循环图DAG(Directed Acyclic Graph)。
统
|
➢ 结点:语句、程序段或进程。
进 程
➢ 初始节点
管
➢ 终止节点
理
➢ 边:执行顺序。
2
操
n 个用户共同使用。
作 系
➢ 由系统进行统一分配(硬件)和由程
统
序自行使用(数据集,变量、队列等)
| 进
➢ 程序并发执行与资源共享之间互为存
程
在条件。
管
理
14
CUIT 叶斌
21:52
2.1 前趋图和程序执行
➢ 程序并发执行的特点
➢ 失去程序的封闭性和可再现性
➢ 程序与计算不再一一对应
操
➢ 程序并发执行的相互制约
➢ 重量:程序量或执行时间。
CUIT 叶斌
21:52
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:52
2.2 进程的概念
➢ 进程的定义
➢ 进程的定义: 进程是程序在一个数据集
操 作
合上的运行过程,是系统进行资源分配
系
和调度的一个独立的基本单位。
| r=*top;
进
程 return (r)
管
理}
void pushaddr(blk) { *top = blk; top++;
}
9 先执行 popaddr 的top--,接着执行pushaddr的*top=blk
CUIT 叶斌
21:52
操 作 系 统 | 进 程 管 理
10
CUIT 叶斌
2.1 前趋图和程序执行
如对语句S1和S2有: R(S1)∩ W(S2) = {Ф} W(S1)∩ R(S2) = {Φ} W(S1)∩ W(S2)= {Φ}
成立,则语句S1和S2可并发执行。
21:52
2.1 前趋图和程序执行
例1. 语句 c = a – b 和 w = c + 1
R(c = a – b )= {a, b }