第2章挂起和进程控制课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建
许可
时间片到
就绪
所等待的事件发生
换进 而唤醒
阻塞
换进
内存
换出
挂起
换出
外存
静止 就绪
所等待的事件发生
静止 阻塞
而唤醒
进程状态的扩展及其转换
第2章挂起和进程控制
(2) 静止阻塞→活动阻塞; (3) 活动就绪→静止就绪; (4) 静止就绪→活动就绪; (5) 静止阻塞→静止就绪 (6) 创建→静止就绪:如果内 存空间不足。
(7) 执行→静止就绪: 第2章挂起和进程控制
为资源信息表或进程信息表,其中包含了 资源或进程的标识、描述、状态等信息以 及一批指针。
通过这些指针,可以将同类资源或进 程的信息表,或者同一进程所占用的资源 信息表分类链接成不同的队列,便于操作
第2章挂起和进程控制
分为以下四类:内存表、设备表、 文件表和用于进程管理的进程表, 通常进程表又被称为进程控制块 PCB。
复习
进程是什么?进程实体组成? 进程的特征?与程序的区别。 进程的状态及转换
第2章挂起和进程控制
进程实体(进程影像)组成:程序、 数据、进程控制块(PCB)。
PCB是系统感知进程存在的唯一标 识。PCB包含进程的描述信息、控 制信息、资源信息等。
进程特征: 动态性、并发性、独立性、异步性
第2章挂起和进程控制
第2章挂起和进程控制
• 挂起(Suspend)操作:把一个进程从内存转到外存;
• 可能有以下几种情况: • 阻塞 (活动阻塞) 阻塞挂起 (静止阻塞) • 就绪 (活动就绪) 就绪挂起 (静止就绪) • 执行 就绪挂起 (静止就绪)
第2章挂起和进程控制
挂起与阻塞
阻塞与否:是否等待事件 挂起与否:是否被换出内存
第2章挂起和进程控制
2. 进程控制块PCB的作用 (1) 作为独立运行基本单位的标志。唯一标志 (2) 能实现间断性运行方式。 CPU现场保护和恢复 (3) 提供进程管理所需要的信息。
内外存起始地址、资源清单 (4) 提供进程调度所需要的信息。
状态、优先级、执行等待时间 (5) 实现与其它进程的同步与通信。
它们与所采用的进程调度算法有
关,比如,进程已等待CPU的时
间总和、进程已执行的时间总和
等;4) ④进程控事制信件息,是指进程由执行状
是指用于进程控制所必须的信息,它包括:① 程序和
态数据转的变地址为;②阻进塞程同状步和态通信所机制等;③待资发源清生单;的④ 链
接指针
事件,即阻塞原因。
第2章挂起和进程控制
编译程序
user1.c
user2.c
第2章挂起和进程控制
3
进程状态及转换
创建
就绪
调度
执行 结束 终止
因等待事件 1.时间片到 发生而唤醒 2.高优先级 等待
阻塞
等待某事 件而睡眠
第2章挂起和进程控制
创建 进程 事件1出现
事件2出现 …
事件n出现
时间片完、高优先级
就绪队列
进程 调度
完成 CPU
阻塞队列 1
4种状态组合: 就绪:进程在内存,准备执行 阻塞:进程在内存,等待事件 就绪挂起:进程在外存,需调入内存,准备执行 阻塞挂起:进程在外存,等待事件
阻塞对应唤醒,挂起对应激活
第2章挂起和进程控制
于系统和用户的如下需要: (1) 终端用户的需要。 (2) 父进程请求。 (3) 负荷调节的需要。为运
行进程提供足够内存:资源紧张 时,暂停某些进程,如:CPU繁 忙(或实时任务执行),内存紧
第2章挂起和进程控制
活动就绪状态(Readya):进程在内存,准备进入运行状态; 活动阻塞状态(Blockeda):进程在内存并等待某事件的出现; 静止阻塞状态(Blockeds):进程在外存并等待某事件的出现; 静止就绪状态(Readys):进程在外存,但只要进入内存,即
可准备运行;
第2章挂起和进程控制
(1) 活动就绪→静止就绪。一般, OS挂起阻塞进程,但有时也会挂起 就绪进程,释放足够的内存空间。
(2) 活动阻塞→静止阻塞。OS 通常将阻塞进程换出,腾出内存空 间。
(3) 静止就绪→活动就绪。OS
第2章挂起和进程控制
3. 引入挂起操作进程状态的转换
进程调度
终止
执行
等待某事件发生
终止
而阻塞
许可Hale Waihona Puke Baidu
阻塞队列 2 …...
阻塞队列 3
等待事件1 等待事件2
…
等待事件n
第2章挂起和进程控制
第2章挂起和进程控制
交换技术
将内存中暂时不能运行的进程,或 暂时不用的数据和程序,换出到外存, 以腾出足够的内存空间,把已具备运行 条件的进程,或进程所需要的数据和程 序,换入内存。
PCB能换出到外存? 换出到外存的进程现在是什么状态?
进程与程序的区别:
1)进程是一次运行的过程,属于一种动态的概念;而程序是 指令的集合,是一个静态的概念。 2)进程可以并发执行;而程序不能。 3)进程是有生命期的;而程序是永久的。 4)进程是系统资源分配的独立单位,而程序则不行。 5) 一个程序可以对应多个进程。当同一程序同时运行于若干 个不同的数据集合上时,它将属于若干个不同的进程。
第2章挂起和进程控制
第2章挂起和进程控制
• 激活(Activate):把一个进程从外存转到内存; • 可能有以下几种情况:
• 就绪挂起就绪:没有就绪进程或挂起就绪进程 优先级高于就绪进程时,会进行这种转换;
• 阻塞挂起阻塞:当一个进程释放足够内存时, 系统会把一个高优先级阻塞挂起(系统认为会很 快出现所等待的事件)进程激活;
(1) 线性方式, 即将系统中所有的 PCB都组织在一张 线性表中,将该表 的首址存放在内存 的一个专用区域中。 该方式实现简单、
第2章挂起和进程控制
(2) 链接方式,即把具有相 同状态进程的PCB分别通过PCB 中的链接字链接成一个队列。这 样,可以形成就绪队列、若干个 阻塞队列和空白队列等。
第2章挂起和进程控制
3. 进程控制块中的信息 在进程控制块中,主要包括: 1) 进程标识符
(1) 外部标识符。(2) 内部标识符。
2) 处理机状态 处理机状态信息也称为处理机的上下文,主要
是由处理机的各种寄存器中的内容组成的。 通用寄 存器、指令计数器、程序状态字、用户栈指针
第2章挂起和进程控制
级,③ 进程调度所需的其它信息,
第2章挂起和进程控制
索引表,例如,就绪索引表、阻 塞索引表等,并把各索引表在内 存的首地址记录在内存的一些专 用单元中。在每个索引表的表目 中,记录具有相应状态的某个 PCB在PCB表中的地址。
许可
时间片到
就绪
所等待的事件发生
换进 而唤醒
阻塞
换进
内存
换出
挂起
换出
外存
静止 就绪
所等待的事件发生
静止 阻塞
而唤醒
进程状态的扩展及其转换
第2章挂起和进程控制
(2) 静止阻塞→活动阻塞; (3) 活动就绪→静止就绪; (4) 静止就绪→活动就绪; (5) 静止阻塞→静止就绪 (6) 创建→静止就绪:如果内 存空间不足。
(7) 执行→静止就绪: 第2章挂起和进程控制
为资源信息表或进程信息表,其中包含了 资源或进程的标识、描述、状态等信息以 及一批指针。
通过这些指针,可以将同类资源或进 程的信息表,或者同一进程所占用的资源 信息表分类链接成不同的队列,便于操作
第2章挂起和进程控制
分为以下四类:内存表、设备表、 文件表和用于进程管理的进程表, 通常进程表又被称为进程控制块 PCB。
复习
进程是什么?进程实体组成? 进程的特征?与程序的区别。 进程的状态及转换
第2章挂起和进程控制
进程实体(进程影像)组成:程序、 数据、进程控制块(PCB)。
PCB是系统感知进程存在的唯一标 识。PCB包含进程的描述信息、控 制信息、资源信息等。
进程特征: 动态性、并发性、独立性、异步性
第2章挂起和进程控制
第2章挂起和进程控制
• 挂起(Suspend)操作:把一个进程从内存转到外存;
• 可能有以下几种情况: • 阻塞 (活动阻塞) 阻塞挂起 (静止阻塞) • 就绪 (活动就绪) 就绪挂起 (静止就绪) • 执行 就绪挂起 (静止就绪)
第2章挂起和进程控制
挂起与阻塞
阻塞与否:是否等待事件 挂起与否:是否被换出内存
第2章挂起和进程控制
2. 进程控制块PCB的作用 (1) 作为独立运行基本单位的标志。唯一标志 (2) 能实现间断性运行方式。 CPU现场保护和恢复 (3) 提供进程管理所需要的信息。
内外存起始地址、资源清单 (4) 提供进程调度所需要的信息。
状态、优先级、执行等待时间 (5) 实现与其它进程的同步与通信。
它们与所采用的进程调度算法有
关,比如,进程已等待CPU的时
间总和、进程已执行的时间总和
等;4) ④进程控事制信件息,是指进程由执行状
是指用于进程控制所必须的信息,它包括:① 程序和
态数据转的变地址为;②阻进塞程同状步和态通信所机制等;③待资发源清生单;的④ 链
接指针
事件,即阻塞原因。
第2章挂起和进程控制
编译程序
user1.c
user2.c
第2章挂起和进程控制
3
进程状态及转换
创建
就绪
调度
执行 结束 终止
因等待事件 1.时间片到 发生而唤醒 2.高优先级 等待
阻塞
等待某事 件而睡眠
第2章挂起和进程控制
创建 进程 事件1出现
事件2出现 …
事件n出现
时间片完、高优先级
就绪队列
进程 调度
完成 CPU
阻塞队列 1
4种状态组合: 就绪:进程在内存,准备执行 阻塞:进程在内存,等待事件 就绪挂起:进程在外存,需调入内存,准备执行 阻塞挂起:进程在外存,等待事件
阻塞对应唤醒,挂起对应激活
第2章挂起和进程控制
于系统和用户的如下需要: (1) 终端用户的需要。 (2) 父进程请求。 (3) 负荷调节的需要。为运
行进程提供足够内存:资源紧张 时,暂停某些进程,如:CPU繁 忙(或实时任务执行),内存紧
第2章挂起和进程控制
活动就绪状态(Readya):进程在内存,准备进入运行状态; 活动阻塞状态(Blockeda):进程在内存并等待某事件的出现; 静止阻塞状态(Blockeds):进程在外存并等待某事件的出现; 静止就绪状态(Readys):进程在外存,但只要进入内存,即
可准备运行;
第2章挂起和进程控制
(1) 活动就绪→静止就绪。一般, OS挂起阻塞进程,但有时也会挂起 就绪进程,释放足够的内存空间。
(2) 活动阻塞→静止阻塞。OS 通常将阻塞进程换出,腾出内存空 间。
(3) 静止就绪→活动就绪。OS
第2章挂起和进程控制
3. 引入挂起操作进程状态的转换
进程调度
终止
执行
等待某事件发生
终止
而阻塞
许可Hale Waihona Puke Baidu
阻塞队列 2 …...
阻塞队列 3
等待事件1 等待事件2
…
等待事件n
第2章挂起和进程控制
第2章挂起和进程控制
交换技术
将内存中暂时不能运行的进程,或 暂时不用的数据和程序,换出到外存, 以腾出足够的内存空间,把已具备运行 条件的进程,或进程所需要的数据和程 序,换入内存。
PCB能换出到外存? 换出到外存的进程现在是什么状态?
进程与程序的区别:
1)进程是一次运行的过程,属于一种动态的概念;而程序是 指令的集合,是一个静态的概念。 2)进程可以并发执行;而程序不能。 3)进程是有生命期的;而程序是永久的。 4)进程是系统资源分配的独立单位,而程序则不行。 5) 一个程序可以对应多个进程。当同一程序同时运行于若干 个不同的数据集合上时,它将属于若干个不同的进程。
第2章挂起和进程控制
第2章挂起和进程控制
• 激活(Activate):把一个进程从外存转到内存; • 可能有以下几种情况:
• 就绪挂起就绪:没有就绪进程或挂起就绪进程 优先级高于就绪进程时,会进行这种转换;
• 阻塞挂起阻塞:当一个进程释放足够内存时, 系统会把一个高优先级阻塞挂起(系统认为会很 快出现所等待的事件)进程激活;
(1) 线性方式, 即将系统中所有的 PCB都组织在一张 线性表中,将该表 的首址存放在内存 的一个专用区域中。 该方式实现简单、
第2章挂起和进程控制
(2) 链接方式,即把具有相 同状态进程的PCB分别通过PCB 中的链接字链接成一个队列。这 样,可以形成就绪队列、若干个 阻塞队列和空白队列等。
第2章挂起和进程控制
3. 进程控制块中的信息 在进程控制块中,主要包括: 1) 进程标识符
(1) 外部标识符。(2) 内部标识符。
2) 处理机状态 处理机状态信息也称为处理机的上下文,主要
是由处理机的各种寄存器中的内容组成的。 通用寄 存器、指令计数器、程序状态字、用户栈指针
第2章挂起和进程控制
级,③ 进程调度所需的其它信息,
第2章挂起和进程控制
索引表,例如,就绪索引表、阻 塞索引表等,并把各索引表在内 存的首地址记录在内存的一些专 用单元中。在每个索引表的表目 中,记录具有相应状态的某个 PCB在PCB表中的地址。