操作系统-笔记-第二章-进程调度

🌸章节汇总 

一、第一章——操作系统的概念

二、第二章——【进程】

二、第二章——【线程】​编辑

二、第二章——【进程调度】

二、第二章——【进程同步与互斥】

二、第二章——【锁】

三、第三章——内存管理

四、第四章——文件管理

五、第五章——输入输出管理

🚀 学习心得

目录

二、第二章——【进程调度】

1、调度的概念

(1)五状态和七状态(就绪挂起、阻塞挂起)

(2)三层调度 (高级、中级、低级)

(3)总结

2、调度的切换

(1)调度——切换时机

(2)调度——方式

(3)切换 & 调度 【区别】

(4)总结

3、调度器 & 闲逛进程

4、调度算法的评价指标

CPU利用率

系统吞吐量

周转时间 —— 平均周转时间

周转时间 plus—— 带权周转时间

等待时间

总结

5、调度算法(排队、短作业、高响应)

(1)先来先服务

(2)短作业优先

(3)高响应比优先

(4)总结

6、调度算法(时间片轮转、优先级、多级反馈)

(1)时间片轮转

(2)优先级调度算法

(2.1)优先级调度算法——设置优先级(动态)

(3)总结

(4)多级反馈队列调度算法

(5)总结


二、第二章——【进程调度】

1、调度的概念

(1)五状态和七状态(就绪挂起、阻塞挂起)

(2)三层调度 (高级、中级、低级)

作业——内存——进程

(3)总结

2、调度的切换

(1)调度——切换时机

如果进程在访问【临界区】和【临界资源】的时候,不能被调度和中断!

毕竟他在拿取资源,如果被调度了,那么问题就大了!

(2)调度——方式

(3)切换 & 调度 【区别】

(4)总结

3、调度器 & 闲逛进程

调度器是什么——让一个进程的状态合理的进行切换(别反复横跳就行了~)

抢占式调度器——调度任务(轮询方式)

非抢占式调度器(轻松点)

调度器(Scheduler是操作系统中的一个重要组件,负责决定哪个进程或线程在特定时间点运行。它根据预定的调度算法和策略,从就绪状态的进程中选择一个合适的进程,分配处理器资源给该进程,并控制进程的状态切换。

抢占式调度器(Preemptive Scheduler是一种调度方式,它可以在一个进程正在执行时,由操作系统强制剥夺该进程的CPU执行权,将CPU资源分配给其他优先级更高的进程。抢占式调度器有能力迅速响应紧急任务或高优先级任务,提高系统的响应性。

非抢占式调度器(Non-preemptive Scheduler,也称为协作式调度器,是另一种调度方式。在非抢占式调度器中,一个进程一旦获得CPU执行权,将一直运行直到主动放弃或等待某个事件发生,才会由操作系统将CPU资源分配给其他进程。这种调度方式下,进程间需要自觉地释放CPU资源,因此对协作式调度器来说,进程的合作尤为重要。

总结起来:

  1. 调度器(Scheduler)是操作系统中负责选择进程或线程执行的组件。
  2. 抢占式调度——可以主动剥夺正在执行的进程的CPU资源,
  3. 非抢占式调度——则需要进程自愿释放CPU资源。

这两种调度方式在不同的场景下有不同的适用性和优劣势。        

闲逛进程(备胎)——执行【零地址】指令——(抖腿指令)

4、调度算法的评价指标

清华教材内容:

CPU利用率

系统吞吐量

周转时间 —— 平均周转时间

周转时间 = 实际运行时间 + 等待时间

周转时间 plus—— 带权周转时间

等待时间

总结

5、调度算法(排队、短作业、高响应)

(1)先来先服务

谁先来,就先服务谁(虽然绝对公平、不会饥饿,但是…)

排队拍奶茶——当前面那个人买20杯,然而你只买1杯,你也必须排队等着

(2)短作业优先

非抢占式——任务队列中,谁的任务时间短,谁就先执行(不公平)

抢占式——会产生饥饿!!!

(3)高响应比优先

这个算法——不会导致饥饿(结合了先来先服务、短作业的优点)

(4)总结

6、调度算法(时间片轮转、优先级、多级反馈)

(1)时间片轮转

时间片设置——不能太大,也不能太小!(切换进程的开销——占比不超过总进程的1%)

不会导致饥饿——会轮流的执行进程

(2)优先级调度算法

优先级——类似中断优先级

那么就会产生饥饿~

改进方案:

  1. 不要让优先级为静态的!(也就是死的,不会修改)
  2. 即为动态的优先级(会定时分析情况,给进程分配对应的优先级)
  3. 还是会产生饥饿~
  4. 毕竟你一直产生【优先级较高的进程】,那么【优先级低的进程】还是会饥饿~

(2.1)优先级调度算法——设置优先级(动态)

适用于——实时操作系统

(3)总结

(4)多级反馈队列调度算法

通过设置多个队列~(经典加一层~)

每个队列对应不同的请求(针对不同的队列,设置不同的调度算法)

在队列之间,可以使用——时间片划分、固定优先级…

在队列之内,可以使用——排队、短作业、高响应、优先级…

(5)总结

适合用交互式系统——可以提供较好的反馈、公平性、平衡性

Unix操作系统——交互式系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Pan_peter

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

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

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

打赏作者

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

抵扣说明:

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

余额充值