Introduction
本文将介绍 CPU 高级策略之 CPU 调度,针对一系列调度策略展开。
Q:
如何制定调度策略?
- 如何开发一个基本框架考虑调度策略?
- 需要做哪些关键的假设?
- 哪些指标是最重要的?
- 最早的计算机使用的基本方法?
工作量假设 [Workload Assumptions]
在开始介绍策略之前,首先对系统中运行的进程 (或称为工作量) 做一些假设。
确定工作量是建立策略的步骤中最重要的部分
Hint: 这些看似不可行的假设,在之后的介绍中会放宽要求,简化了全业务调度的开发
- 所有进程的运行时间相同;
- 所有进程同时到达等待启动;
- 一旦开始,所有进程终将进行完整的运行流程;
- 所有的进程均只利用 CPU(不执行任何 I/O)
- 每个进程的运行时间已知
调度指标 [Scheduling Metrics]
我们需要一样东西来衡量不同的调度策略,即调度指标
设定一个简单的指标:Turnaround Time (理解为 “周转时间” ), 其定义为进程完成的时刻减去到达等待开始的时刻:
T t u r n a r o u n d = T c o m p l e t i o n − T a r r i v a l T_{turnaround } = T_{completion} - T_{arrival} Tturnaround=Tcompletion−Tarrival
在工作量假设中有一条假设:所有进程同时等待启动,所以 T a r r i v a l = 0 T_{arrival} = 0 Tarrival=0 ,进一步, T t u r n a r o u n d = T c o m p l e t i o n T_{turnaround } = T_{completion} Ttu

本文深入探讨了CPU调度策略,包括FIFO、SJF、STCF及RR算法,分析了不同策略下的周转时间与响应时间,以及如何在调度中考虑I/O操作。通过实例讲解,揭示了各种调度算法的优缺点。
最低0.47元/天 解锁文章
8193

被折叠的 条评论
为什么被折叠?



