CPU Sched - CPU 调度

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

Introduction

本文将介绍 CPU 高级策略之 CPU 调度,针对一系列调度策略展开。

THE CRUX

Q:
 如何制定调度策略?

  1. 如何开发一个基本框架考虑调度策略?
  2. 需要做哪些关键的假设?
  3. 哪些指标是最重要的?
  4. 最早的计算机使用的基本方法?

工作量假设 [Workload Assumptions]

在开始介绍策略之前,首先对系统中运行的进程 (或称为工作量) 做一些假设。

确定工作量是建立策略的步骤中最重要的部分

假设如下:

Hint: 这些看似不可行的假设,在之后的介绍中会放宽要求,简化了全业务调度的开发

  1. 所有进程的运行时间相同;
  2. 所有进程同时到达等待启动;
  3. 一旦开始,所有进程终将进行完整的运行流程;
  4. 所有的进程均只利用 CPU(不执行任何 I/O)
  5. 每个进程的运行时间已知

调度指标 [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=TcompletionTarrival

在工作量假设中有一条假设:所有进程同时等待启动,所以 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值