操作系统:CPU调度

前面我们已经总结了process的一些基本信息,进程是程序运行的一个基本单位。当进程运行的时候,需要占用CPU,如果当多个进程需要运行的时候,我们该怎么安排这些进程占用CPU呢? 这就是我今天要总结的CPU调度

在正式讨论CPU调度策略之前,我们先来看看CPU调度我们会考虑哪几个方面的因素:

  • turnaround时间(周转时间):任务完成时间 - 任务到达时间
  • 响应时间:任务开始运行时间 - 任务到达时间
  • 公平性
  • 整体性能

在介绍每一种CPU调度策略之后,我会从这四个方面来分析调度策略的优点和缺点;

FIFO(First In, First Out)

多个任务都需要使用CPU这个场景很像在路边小吃摊排队的场景,自然而然可以想到谁先来,谁就先被服务。这就是所谓First In, First Out; 也叫First come, First served.
这种调度策略实现起来相对简单,但在某些方面表现却不是十分友好:

假设有三个任务A、B、C同时到达(at time 0),需要运行的时间为1000ms,20ms,20ms。这个时候先执行A,再执行任务B,最后执行任务C;

在这种情况下,任务B和C各自只是用CPU时间20ms,却要等上1000ms。一旦先来运行的是个耗时比较长的任务,那后面到来耗时短的任务需要等待很长时间才能上CPU运行;这种策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值