进程调度与死锁

本文详细探讨了进程调度的功能与时机,包括不同调度算法及其特点,并深入讲解了实时系统中的调度策略。此外,还阐述了进程切换的步骤和多处理调度的方式。最后,分析了死锁的概念、产生原因、必要条件以及解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本章节目录

1. 进程调度的功能与时机

1.1 进程调度的功能

1.2 何时需要进程调度

2. 进程调度算法

2.1 进程调度算法分类

2.2 选择调度方式和算法应遵循的规则

2.2.1 一个好的算法有哪些特点

3. 实时系统中的调度

3.1 实现实时调度的基本条件

4. 进程切换

4.1 进程切换的定义

4.2 进程切换的步骤

5. 多处理调度

5.1 多处理器系统的类型

5.2 对称系统分配方式

5.3 非对称系统分配方式

5.4 进程(或线程)的调度方式

5.4.1 自调度模式

5.4.2 成组调度

5.4.3 专用处理器分配

6. 死锁

6.1 死锁的定义

6.2 产生死锁的原因

6.3 产生死锁的必要条件

6.4 解除死锁


1. 进程调度的功能与时机

1.1 进程调度的功能

1. 进程调度的功能由操作系统的进程调度程序完成

2. 按照某种策略和算法从就绪态进程中当前空闲的CPU选择在其上运行的新进程

1.2 何时需要进程调度

  • 进程正常结束
  • 进程阻塞
  • 有更高优先级的进程参与
  • 时间片用完
  • 进程的异常终止

2. 进程调度算法

2.1 进程调度算法分类

1. 先来先服务调度算法:从就绪队列的队首最先到达就绪队列的进程,为该进程分配CPU

2. 短进程优先调度算法:从就绪队列中选择估计运行时间最短的进程,为该进程分配CPU

3. 优先权调度算法:系统将CPU分配给就绪队列中优先权最高的进程

4. 时间片轮转调度算法:系统将所有就绪进程按先来先服务的原则,排成一个队列,每次调度时把CPU分给队首进程,并令其执行一个时间片。当时间片用完时,调度程序终止当前进程的执行,并将它送到就绪队列的队尾。

5. 多级队列调度算法:将就绪队列分成多个独立队列,每个队列有自己的调度算法

6. 多级反馈队列调度算法:建立多个优先权不同的就绪队列,每个队列有大小不同的时间片。

2.2 选择调度方式和算法应遵循的规则

2.2.1 一个好的算法有哪些特点

  • 处理速度快:作业从提交开始,到作业完成,花费时间短
  • 可靠性高:保证作业在规定时间段内完成
  • 系统吞吐量高:系统在单位时间内完成的作业量多
  • CPU利用率高:CPU的利用率尽可能高

3. 实时系统中的调度

3.1 实现实时调度的基本条件

1. 提供必要的调度信息

2. 系统处理能力强

3. 采用抢占式调度机制

4. 具有快速切换机制

4. 进程切换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一名程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值