操作系统概论【三】- - 进程调度与死锁

感谢内容提供者:金牛区吴迪软件开发工作室

接上一篇:操作系统概论【二】 - - 进程管理

第三章、进程调度与死锁

在这里插入图片描述

一、进程调度的功能与时机

1. 功能

在这里插入图片描述

2. 时机

在这里插入图片描述

二、进程调度算法

1. 选择调度方式和算法的若干准则

在这里插入图片描述

2. 调度算法

a.先来先服务调度算法

含义:
从就绪队列的队首选择最先到达就绪队列的进程,为该进程分配CPU。

在这里插入图片描述

b.短进程优先调度算法

含义:
从就绪队列中选择估计运行时间最短的进程,为该进程分配CPU

优点:与FCFS算法相比,短进程优先算法能有效降低进程的平均等待时间,提高系统吞吐量。

缺点:
1.对长进程不利
2.不能保证紧迫进程的处理
3.进程长短由用户估计,不一定准确

在这里插入图片描述

c.优先权调度算法

含义:该算法中,系统将CPU分配给就绪队列中优先权最高的进程。

俩种类型:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

优先权类型

在这里插入图片描述

存在的问题

无穷阻塞,即“饥饿问题”【优先级高的持续来的话优先级低的始终无法排到】

解决的方案:
增加等待时间很长的进程的优先权,即“老化技术”。

e.时间片轮转调度算法

含义:
在这里插入图片描述

时间片大小的确定

在这里插入图片描述

f.多级队列调度算法

含义:
将就绪队列分成多个独立队列,每个队列有自己的调度算法。

在这里插入图片描述

g.多级反馈队列调度算法

含义:
建立多个优先权不同的就绪队列,每个队列有大小不同的时间片

在这里插入图片描述

三、实时系统中的调度

1. 实现实时调度的基本条件

a.提供必要的调度信息

在这里插入图片描述

b.系统处理能力强

在这里插入图片描述
在这里插入图片描述

真题:
在这里插入图片描述

c.采用抢占式调度机制(广泛)
d.具有快速切换机制
  • 对外部中断的快速响应能力
  • 快速的进程切换能力

2. 常用的实时调度算法

a.最早截止时间优先算法EDF

在这里插入图片描述

b.最低松弛度优先算法LLF

在这里插入图片描述

四、进程切换

1. 进程切换的含义

在这里插入图片描述

2. 进程切换的步骤

a.Step1

在这里插入图片描述

b.Step2

在这里插入图片描述

c.Step3

在这里插入图片描述

d.Step4

在这里插入图片描述

e.Step5

在这里插入图片描述

f.Step6

在这里插入图片描述

g.Step7

在这里插入图片描述

五、多处理器调度

在这里插入图片描述

1. 多处理器系统的类型

在这里插入图片描述

2. 多处理器系统中进程分配方式

a.对称系统中的俩种分配方式

在这里插入图片描述

静态分配

在这里插入图片描述

动态分配

在这里插入图片描述

b.非对称系统中的分配方式

在这里插入图片描述

3. 进程(线程)调度方式

a.自调度

自调度是最常用最简单的方式

在这里插入图片描述
在这里插入图片描述

b.成组调度

在这里插入图片描述
在这里插入图片描述

c.专用处理器分配

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、死锁

在这里插入图片描述

1. 死锁的定义

由于多个进程竞争共享资源而引起的进程不能向前推进的僵死状态称为死锁。

2. 产生死锁的原因和必要条件

原因:

竞争共享资源且分配资源的顺序不当是产生死锁的原因。

必要条件:
  • 互斥条件
  • 请求和保持条件
  • 不剥夺条件
  • 环路等待条件

3. 处理死锁的基本方法

a.死锁的预防

通过破坏死锁的产生条件来保证不发生死锁。

互斥条件无法破坏。
在这里插入图片描述

b.死锁的避免

通过 算法合理分配资源【银行家算法】 来保证不发生死锁

在这里插入图片描述

c.死锁的检测

检测当前系统是否出现死锁

调用检测算法的时机

在这里插入图片描述

资源分配图

在这里插入图片描述

死锁定理

在这里插入图片描述
在这里插入图片描述

d.死锁的解除

检测到系统有死锁后进行解除

在这里插入图片描述


下一篇:操作系统概论【四】- - 内存管理


猜你喜欢

转载自blog.csdn.net/weixin_43606158/article/details/108043062