Three easy pieces 第一部分(5) Scheduling: Introduction

以下内容算对书内容的总结,有任何问题和见解,欢迎交流啊。

这一章主要是介绍几个简单的调度器策略。内容比较简单,就简单汇总下。

首先我们对现有的计算机环境有如下几个假设:

1.每个job都运行相同的时间。

2.所有的job都同时到达

3.一旦一个job启动,那么他就会一直运行到结束。

4.所有的job不会有I/O

5.每个job运行的时间都是可知的。

我们先引入一个效率的测量值:turnaround time

Tturnaround = Tcompletion − Tarrival

一个测量反应时间的:

Tresponse = Tfirstrun − Tarrival

首先第一个策略是先入先出(First In, First Out (FIFO)),简单来说就是谁先到谁先运行。但是因为如果运行时间长的任务先到,那么turnaround time就会很高,因此引入了下一个策略:短任务先执行(Shortest Job First (SJF))。但是如果是长任务先来那么就还是有问题,因此引入下一个策略:运行时间短的先执行(Shortest Time-to-Completion First (STCF))。但是如果运行时间不确定那还是有问题,进一步一如了新的策略:循环执行(Round Robin)。这种策略对应的response time会比较好,但是turnaround time会很糟糕。而且如果进程中有I/O的时候,会导致很大的时间浪费,因为就引出了下个章节的内容:多级反馈队列(multi-level feedback queue)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值