《进程与线程》PPT课件

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

挂起
进程控制块PCB
PCB是进程实来自百度文库的一部分,是OS中最重要的数据结构
进程的组成
●进程控制块PCB ●程序段 ●数据段 ●堆栈
PCB的作用
●引入PCB的作用:就是使程序能成为独立运 行的单位,并可和其他进程并发执行。
11
进程控制块PCB的内容
●进程描述信息
●进程名 ●进程标识符 ●用户名
●处理机状态信息
5
Bernstein条件——例2
P3: P4:
c=a+b d=c+1
R(P3)={a,b}
W(P3)={c}
R(P4)={c}
W(P4)={d}
R(P3) ∩W(P4)={}
R(P4) ∩W(P3)={c}
R(P3) ∩W(P4) ∪R(P4) ∩W(P3)∪W(P3)∩W(P4) ={c}
P3、P4不能并发执行
进程的创建与撤消
进程家族树
P
P1
P11
P12
P13
P121
P122
16
P2
P21
P22
进程创建
引起进程创建的事件 创建原语要做的工作
17
●用户登录 ●新作业进入系统 ●提供服务 ●应用请求
●申请空白PCB ●为进程分配资源 ●初始化PCB
●初始化进程描述信息 ●初始化处理机状态信息 ●初始化进程控制信息
19
●请求系统服务 ●启动某种操作 ●数据尚未到达 ●无新工作可做
●停止进程的执行 ●将进程插入阻塞队列,改变进程在
PCB中的状态 ●重新调度
●将进程从阻塞队列解下 ●将进程插入就绪队列 ●改变进程在PCB中的状态
进程的挂起与激活
挂起原语要做的工作
●检查被挂起进程的状态 ●如进程处于就绪状态,将进程从就绪状态变为就绪挂起状态 ●如进程处于阻塞状态,将进程从阻塞状态变为阻塞挂起状态 ●如进程正在运行,将进程变为就绪挂起状态,并重新调度
●将新进程插入就绪队列
进程的撤消
引起进程撤消的事件 撤消原语要做的工作
18
●进程正常结束 ●进程异常结束 ●外界干预
●查找撤消进程的PCB ●若进程处于执行状态,终止之,并
进行进程调度 ●若有子孙,予以终止 ●归还资源 ●从所在队列移出
进程的阻塞与唤醒
引起进程阻塞的事件 阻塞原语要做的工作
唤醒原语要做的工作
Bernstein条件——例1
P1: a=5
P2:
b=6
R(P1)={}
W(P1)={a}
R(P2)={}
W(P2)={b}
R(P1) ∩W(P2)={}
R(P2) ∩W(P1)={}
W(P1) ∩W(P2)={}
R(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={}
P1、P2可以并发执行
14
内核与原语
内核
●硬件的第一次延伸。 ●系统将一些与硬件紧密相关的模块放在内核
●中断处理 ●时钟管理 ●内核在执行某些基本操作时,往往是利用原语操作实现的。
原语
15
●原语由若干条指令构成、用于完成一定功能的过程。
●原语是“原子操作”。即一个操作中的所有动作,要么 全做,要么全不做。换言之,原子操作是一个不可分割 的操作。
激活原语要做的工作
●检查被激活进程的状态 ●如进程处于就绪挂起状态,将进程从就绪挂起状态变为就绪状态 ●如进程处于阻塞挂起状态,将进程从阻塞挂起状态变为阻塞状态 ●若系统为抢占式系统,则进行进程调度
20
● 2.4 线程
线程的引入
进程有两个基本属性 ●进程是拥有资源的独立单位 ●进程是独立调度和分派的基本单位
程序的并发执行
P1
P3
P4
P2
P1: P2: P3: P4:
a=5 b=6 c=a+b d=c+1
特点
间断性 ●
:程序在并发执行时,形成了相互制约关系。相互制约将导致并发程序
具有“执行—暂停—执行”这种间断性的活动规律
失去封闭性 ●
:系统中的资源供多个程序共享,致使程序的运行失去了封闭性
●失去可再现性:
PCB 0
PCB
阻塞队列1指针
PCB
阻塞队列2指针
PCB
空闲队列指针
13
PCB
PCB PCB PCB PCB
PCB
PCB
PCB 0
PCB
PCB 0
PCB 0
PCB
PCB 0

2.3 进程控制
操作系统内核
核心态
●具有较高的特权,能执行一切命令,访问所有 寄存器和存储区。
用户态
●具有较低特权,只能执行规定的命令, 访问指定的寄存器和存储区。
第2章 进程管理
本章要点
●进程的引入 ●进程的状态及其组成控制 ●进程控制 ●线程
● 2.1进程的引入
程序的顺序执行
P2 P1
P1:a=x+y
P3
P2: b=a-5
P3: c=b+1
特点
2
顺序性 ●
:处理机的操作严格按规定顺序执行
封闭性 ●
:程序执行时,独占系统资源
可再现性 ●
:当初始条件相同时,程序多次执行的结果相同
阻塞
五种状态的进程状态转换图
创建
时间片用完
接纳
就绪
9
运行
完成
退出
进程调度
请求I/O或 等待某事件
I/O完成或 事件完成
阻塞
双挂起状态的进程状态转换图
挂起
创建
时间片用完
接纳
运行
完成
退出
进程调度
请求I/O或 等待某事件
就绪
激活
就绪 挂起
挂起
I/O完成或 事件完成
激活
阻塞
阻塞
I/O完成或
挂起
事件完成
10
3
程序并发执行的条件Bernstein
P1: a=5 P2: b=6
P1
问题?
P3
P4
P3: c=a+b P4: d=c+1
P2
P1、P2可以并发执行吗?
P3、P4可以并发执行呢?
Bernstein条件
读集:R(Pi)={a1,a2,……,am} 程序Pi执行期间参考的变量集合 写集:W(Pi)={b1,b2,……,bm} 程序Pi执行期间改变的变量集合 两个进程P1, P2若满足: R(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={} 则4P1, P2并发执行,且具有可再现性。
6
进程的定义
●可并发执行的程序 在一个数据集合上的执行过程
进程与程序的关系
实质
进程
程序
●动态的
静态的
●并发的
顺序
●暂时的
永久的
●数据结构=程序+数据+进程控制块
7
●程序与进程不是一一对应关系
● 2.2 进程的状态及其组成
进程状态转换图 时间片用完 就绪
8
运行 进程调度
I/O完成或 事件完成
请求I/O或 等待某事件
●通用寄存器 ●指令计数器 ●程序状态字寄存器 ●栈指针
12
●进程调度信息
●进程状态 ●进程优先级 ●运行统计信息。 ●进程阻塞原因。
●进程控制和资源占有量信息
●程序入口地址 ●程序的外存地址 ●进程同步及通信机制 ●资源占有信息 ●链接指针
进程控制块PCB的组织
●链接方式
运行队列指针 就绪队列指针
相关文档
最新文档