第2章挂起和进程控制

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

2.3.2 进程的创建
Unix构成进程家族,Windows不存在进程的层次结构
A
祖先(Ancestor)
B
C
父进程(Parent Process)
D
E
F
GH
I
J
子进程(Progeny Process)
• 当子进程创建时,子进程继承父进程所拥有的资源; • 当子进程撤消时将从父进程那里继承的资源归还给父进程。 • 撤消父进程时,也必须同时撤销其所有子进程
阻塞队列 1
阻塞队列 2 …...
阻塞队列 3
等待事件1 等待事件2

等待事件n
5
第二章 进程的描述与控制 6
第二章 进程的描述与控制
交换技术
将内存中暂时不能运行的进程,或 暂时不用的数据和程序,换出到外存, 以腾出足够的内存空间,把已具备运行 条件的进程,或进程所需要的数据和程 序,换入内存。
2
进程与程序的区别:
1)进程是一次运行的过程,属于一种动态的概念;而程序是 指令的集合,是一个静态的概念。 2)进程可以并发执行;而程序不能。 3)进程是有生命期的;而程序是永久的。 4)进程是系统资源分配的独立单位,而程序则不行。 5) 一个程序可以对应多个进程。当同一程序同时运行于若干 个不同的数据集合上时,它将属于若干个不同的进程。
OS
内 核 两 大
O S内核
进程管理
进程的调度、分派、 创建、撤消等。
中断处理
原语 存储器管理 操作
硬件
时钟 管理 设备管理
动如盘程、系命调文统令度件内内虚调输、操存存拟用入设作分保内、、备等配护存键进驱。与与管回对理C收换等资实P设、、。原用程原有源现U支备与语于。子动管设撑驱独I:完操作理备/O动立由成作要分不程性若一:么配匹序等干定一不和配:。条功个做设的时度控缓指能操、备矛间间、制和令的作要的盾控片截、构一中么,制轮止最成个的全等转时长、过所部调间时 完成。
(7) 执行→静止就绪: (8) 活动阻塞→执行:
对抢先式分时系统,当有高优先级阻塞挂起进程因事件出现而进入就绪 挂起时,系统可能会把运行进程转到就绪挂起状态
16
第二章 进程的描述与控制
2.2.4 进程管理中的数据结构 1. 操作系统中用于管理控制的数据结构 OS是将各类资源抽象为各种数据结构。 对于每个资源和每个进程都设置了一个数据结构,用于
表征其实体,我们称之为资源信息表或进程信息表,其中包 含了资源或进程的标识、描述、状态等信息以及一批指针。
通过这些指针,可以将同类资源或进程的信息表,或者 同一进程所占用的资源信息表分类链接成不同的队列,便于 操作系统进行查找。
17
第二章 进程的描述与控制
OS管理的这些数据结构一般分为以下四类:内存表、 设备表、文件表和用于进程管理的进程表,通常进程表又被 称为进程控制块PCB。
14
3. 引入挂起第操二章作进进程程的描状述与态控制的转换
进程调度
终止
执行
等待某事件发生
终止
而阻塞
许可
创建
许可
时间片到
就绪
所等待的事件发生
换进 而唤醒
阻塞
换进
内存
换出
挂起
换出
外存
静止 就绪
所等待的事件发生
静止 阻塞
而唤醒
进程状态的扩展及其转换
15
第二章 进程的描述与控制
3. 引入挂起操作进程状态的转换 (1) 活动阻塞→静止阻塞; (2) 静止阻塞→活动阻塞; (3) 活动就绪→静止就绪; (4) 静止就绪→活动就绪; (5) 静止阻塞→静止就绪 (6) 创建→静止就绪:如果内存空间不足。
把对应的PCB设成空
2.3.4 进程阻塞与唤醒
进程出现某事件 无法继续执行
调用Block()原语
停止进程的执行
1、把向P系CB统插请入求到共B享lo资c源ke失d队败列
2、等待某种操作完成 3、新数据尚未达到
4、等待新保任存务C的PU到现达场
转调度程序 进行新的调度
状态Running →Blocked
读出进程的状态
三大类在:Running状态:终止执 1、正行常、结设束置;调度状态为真。 2、异常结束: ( ( (135) ) )越 特 运有界 权 行子错 指 超进误 令 时程; ; ;孙:(((进246终)))程止非等保。所法待护指超错有令时;的;;子
(7)算术溢出; (8) I/O故障;
3、外将界进干程扰拥:有的资源归还给 ((12))O父S进/操程父作请进员求程终;或止O;S (3)父进程终止。
24
第二章 进 程 管 理
2.3 进程控制
2.3.1 OS内核
与硬件紧密相关的模块(中断处理程序) 常用设备的驱动程序(键盘、显示器) 运行频率高的模块(时钟管理、进程调度等) 关键性的数据结构(如进程控制块PCB)
第二章 进 程 管 理
2.3 进程控制
处理机两种执行状态:系统态和用户态。两种 执行模式
第二章 进程的描述与控制 38
第二章 进程的描述与控制 39
第二章 进程的描述与控制 40
挂起
出现挂起事件 调用挂起原语
suspend() 活动就绪?
置成静止就绪
活动堵塞? 置成静止堵塞
正在执行? 置成静止就绪 转调度程序
把进程驻 留到外存
进程的激活
发生激活事件
检查内存空间
调用激活原语 Active()
把进程从外存调 入到内存
检查进程状态
静止就绪? 置成活动就绪
静止堵塞? 置成活动堵塞
7
第二章 进程的描述与控制
挂起(Suspend)操作:把一个进程从内存转到外存; 可能有以下几种情况: 阻塞 (活动阻塞) 阻塞挂起 (静止阻塞) 就绪 (活动就绪) 就绪挂起 (静止就绪) 执行 就绪挂起 (静止就绪)
8
第二章 进程的描述与控制
挂起与阻塞
阻塞与否:是否等待事件 挂起与否:是否被换出内存
阻塞挂起阻塞:当一个进程释放足够内存时,系 统会把一个高优先级阻塞挂起(系统认为会很快 出现所等待的事件)进程激活;
12
第二章 进程的描述与控制
活动就绪状态(Readya):进程在内存,准备进入运行状态; 活动阻塞状态(Blockeda):进程在内存并等待某事件的出现; 静止阻塞状态(Blockeds):进程在外存并等待某事件的出现; 静止就绪状态(Readys):进程在外存,但只要进入内存,即
19
第二章 进程的描述与控制
3. 进程控制块中的信息 在进程控制块中,主要包括: 1) 进程标识符
(1) 外部标识符。(2) 内部标识符。
2) 处理机状态 处理机状态信息也称为处理机的上下文,主要
是由处理机的各种寄存器中的内容组成的。 通用寄 存器、指令计数器、程序状态字、用户栈指针
源自文库20
第二章 进程的描述与控制
21
第二章 进程的描述与控制
4. 进程控制块的组织方式 PCB组织方式有以下三种。 (1) 线性方式,即将系统中所有 的PCB都组织在一张线性表中,将 该表的首址存放在内存的一个专用 区域中。该方式实现简单、开销小, 但每次查找时都需要扫描整张表, 因此适合进程数目不多的系统。
22
第二章 进程的描述与控制
18
第二章 进程的描述与控制
2. 进程控制块PCB的作用 (1) 作为独立运行基本单位的标志。唯一标志 (2) 能实现间断性运行方式。 CPU现场保护和恢复 (3) 提供进程管理所需要的信息。
内外存起始地址、资源清单 (4) 提供进程调度所需要的信息。
状态、优先级、执行等待时间 (5) 实现与其它进程的同步与通信。
进程创建过程
创建进程请求
产生新为进进程程事分件配:资源
为进程的程序代码、 用户登录:当合法用户
数(程据1ID)用、O将户空S父系栈间进统分。程分配ID配内写的存入进登作录业时调度:批处理系统, 调用P(向C创2程BC)建。序re将进a的t程(程)入序原口计语地数址器、指把提服一供务个服请作务求初业:时始当调。化度系P执统C行收B 时到。
3) 进程调度信息 ① 进程状态,② 进程优先级,③ 进程调度所需的其它 信息,它们与所采用的进程调度算法有关,比如,进程已等 待CPU的时间总和、进程已执行的时间总和等;④ 事件, 是指进程由执行状态转变为阻塞状态所等待发生的事件,即 阻塞原因。
4) 进程控制信息 是指用于进程控制所必须的信息,它包括:① 程序和 数据的地址 ;② 进程同步和通信机制;③ 资源清单;④ 链 接指针
4种状态组合: 就绪:进程在内存,准备执行 阻塞:进程在内存,等待事件 就绪挂起:进程在外存,需调入内存,准备执行 阻塞挂起:进程在外存,等待事件
阻塞对应唤醒,挂起对应激活
9
第二章 进程的描述与控制
2.2.3 挂起操作和进程状态的转换 1. 挂起操作的引入 引入挂起操作的原因,是基于系统和用户的如下需要: (1) 终端用户的需要。 (2) 父进程请求。 (3) 负荷调节的需要。为运行进程提供足够内存:资源
(2) 链接方式,即把具有相同状态进程的PCB分别通过 PCB中的链接字链接成一个队列。这样,可以形成就绪队 列、若干个阻塞队列和空白队列等。
23
第二章 进程的描述与控制
(3) 索引方式,即系统根据所有进程状态的不同,建立 几张索引表,例如,就绪索引表、阻塞索引表等,并把各索 引表在内存的首地址记录在内存的一些专用单元中。在每个 索引表的表目中,记录具有相应状态的某个PCB在PCB表中 的地址。
栈(优分申指3先配请)针级进P设C指等程置B向。、I进D栈程顶状。态、应需的为用要进新将请并程进进白求发I程程D的:进,分放并P当程配进C申应时B一R请。用。e个一a本d唯y个身队一空列
2.3.3 进程的终止
引发进程的 终止事件
OS
调用进程终止原语 Destroy()
从PCB集中检索出 该进程的PCB
第二章 进程的描述与控制
复习
进程是什么?进程实体组成? 进程的特征?与程序的区别。 进程的状态及转换
1
第二章 进程的描述与控制
进程实体(进程影像)组成:程序、 数据、进程控制块(PCB)。
PCB是系统感知进程存在的唯一标 识。PCB包含进程的描述信息、控 制信息、资源信息等。
进程特征: 动态性、并发性、独立性、异步性
编译程序
user1.c
user2.c
3
第二章 进程的描述与控制
进程状态及转换
创建
调度
执行 结束
终止
就绪
因等待事件 1.时间片到 发生而唤醒 2.高优先级 等待
阻塞
等待某事 件而睡眠
4
第二章 进程的描述与控制
创建 进程 事件1出现
事件2出现 …
事件n出现
时间片完、高优先级
就绪队列
进程 调度
完成 CPU
可准备运行;
13
第二章 进程的描述与控制
2. 引入挂起原语操作后三个进程状态的转换 在引入挂起原语Suspend和激活原语Active后,在它们的作 用下,进程将可能发生以下几种状态的转换: (1) 活动就绪→静止就绪。一般,OS挂起阻塞进程,但有时 也会挂起就绪进程,释放足够的内存空间。 (2) 活动阻塞→静止阻塞。OS通常将阻塞进程换出,腾出内 存空间。 (3) 静止就绪→活动就绪。OS需要调入内存执行。 (4) 静止阻塞→静止就绪。期待的事件出现。
紧张时,暂停某些进程,如:CPU繁忙(或实时任务执行), 内存紧张
(4) 操作系统的需要。
(5) 进程全部阻塞,处理机空闲。
10
第二章 进程的描述与控制 11
第二章 进程的描述与控制
激活(Activate):把一个进程从外存转到内存; 可能有以下几种情况:
就绪挂起就绪:没有就绪进程或挂起就绪进程优 先级高于就绪进程时,会进行这种转换;
进程阻塞
进程唤醒
所期待的事件出现
调用唤醒原语 Wakeup()
如I/O完成、期望的 数据到达、有新的 任务要执行等等。
从阻塞队列移出
注意: Blo在ckP原CB中语把和wakeup原把语进程是插一入到对 作用刚好相Bloc反ked的→R过ead程y ,必须成对就绪出队现列。
2.3.5 进程的挂起与激活
系统态:核心态(Kernel State),管态。具有较高 的特权,能执行一切命令,访问所有寄存器和 存储区。OS内核运行在核心态,进程控制是由 OS内核实现的。 用户态(User State):目态。具有较低的特权, 只能执行规定的指令,访问指定的寄存器和存 储区。运行用户程序。
方 面 功 能
相关文档
最新文档