操作系统概念(第六版) 读书笔记6
来源:互联网 发布:孙鑫的java视频教程 编辑:程序博客网 时间:2024/05/03 12:38
本章主要介绍了CPU调度的概念、方法、种类、实现和应用。
CPU 调度就是从就绪队列中选择一个等待进程并为之分配CPU。调度程序把CPU 分配给选择的进程。调度的算法主要有6种:先来先服务(FCFS)调度算法、短作业优先(SJF)调度算法、轮转(RR)调度算法、优先调度算法、多级队列调度算法、多级反馈队列调度算法。
先来先服务(FCFS)调度算法是最简单的调度算法,但是它会造成短进程等待非常长的进程的情况。
短作业优先(SJF)调度算法是可证明的最优的算法,它提供了最短的平均等待时间。因为很难预测下一
个CPU burst 长度,所以实现SJF 非常困难。SJF 是普通的优先调度算法(它简单的将CPU 分配给最高优
先权进程)的一个特例。优先调度和SJF 都可能会遇到饥饿的问题。老化是一个可以阻止饥饿的技术。
轮转(RR)调度更适用于分时(交互式)系统。RR 调度把CPU 分配给就绪队列中的第一个进程,并
保持q 个时间单元,q 是时间量。在q 个时间单元之后,如果进程没有放弃CPU,那么它将被抢占并被置
于就绪队列尾部。RR 算法主要的问题是时间量的选择。如果时间量太大,RR 调度就退化为FCFS 调度;
如果时间量太小,那么调度开销(以上下文转换的形式)就太大。
FCFS 算法是非抢占式的;RR 算法是抢占式的。SJF 和优先权算法可以是抢占式的,也可以不是。
多级队列调度算法允许为各种类型的进程选用不同的算法。通常有一个采用RR 调度的前台交互式队
列和一个采用FCFS 调度的后台批队列。多级反馈队列调度算法允许进程从一个队列移动到另一个队列。
这些算法都有着不同的应用范围和效果,为了选择出最合适的算法,我们必须进行分析选择。分析法(Analytic method)利用数学分析来确定一个算法的性能。模拟法(Simulation method)通过在一个具有“代表性的”进程样本中模拟调度算法来确定其性能,并计算出结果。
在内核级支持线程的操作系统必须要调度线程——而不是进程。Solaris 2 和Windows 2000 都使用了抢
占式基于优先权的调度算法,这包括了对实时线程的支持。Linux 进程调度程序也采用了基于优先权的调
度算法并支持实时进程。相比较而言,这三种操作系统的调度算法通常比较照顾交互式进程(与批处理进
程和CPU 繁忙型进程相比)。
- 操作系统概念(第六版) 读书笔记6
- 操作系统概念(第六版) 读书笔记1
- 操作系统概念(第六版) 读书笔记2
- 操作系统概念(第六版) 读书笔记3
- 操作系统概念(第六版) 读书笔记4
- 操作系统概念(第六版) 读书笔记5
- 操作系统概念(第六版) 读书笔记7
- 操作系统是什么?+读操作系统概念第六版
- 进程概念 读操作系统概念第六版
- 线程概念 读操作系统概念第六版
- 操作系统-精髓与设计原理(第六版)读书笔记
- 操作系统概念(第六版)第三章课后题
- 计算机系统操作 操作系统概念第六版
- 进程同步 读操作系统概念第六版
- 硬件同步 读操作系统概念第六版
- 信号量 读操作系统概念第六版
- 地址捆绑 读操作系统概念第六版
- 分页一 读操作系统概念第六版
- 精妙Sql语句
- 开始学习JMX
- 给刚刚进入到Java Web编程新手的一封信
- 工作时啥人听啥音乐(超搞笑)
- Key Changes From WebWork 2
- 操作系统概念(第六版) 读书笔记6
- 老森的梦,我的梦,有关预言。 (连载1)
- 忙碌的五一
- sql语句左外连接和右外连接的区别
- 音狐990 (YH990) 视频mp3中播放视频的解决方案(原创 by afxid)
- vc 下可以运行在设置项Project->Settings->Debug->Program arguments填参数
- c# 连接各类数据库的集合类
- C# 中常用数据类型与控件类型的命名规则
- u-boot代码分析