赞
踩
相关时间计算
周转时间 = 作业完成时刻 - 作业到达时刻
等待时间 = 周转时间 - 运行时间
带权周转时间 = 周转时间 / 服务时间
平均周转时间 = 作业周转时间之和 / 作业个数
平均带权周转时间 = 带权周转时间之和 / 作业个数
服务时间:作业的运行时间
调度&分配
1、调度:
调度实现进程/线程选择算法,选中者获得处理器。
2、分配:
分派实现处理器的分配和绑定工作,将处理器分配给被选中的进程或线程,处理进程或线程上下文交换细节。
剥夺式(抢占式)& 非剥夺式(非抢占式)
1、剥夺式(抢占式)优先级调度算法。当一个进程正在处理机上运行时,若有某个更为重要或紧迫的进程进入就绪队列,则立即暂停正在运行的进程,将处理机分配给更重要或紧迫的进程。
2、非剥夺式(非抢占式)优先级调度算法。当一个进程正在处理上运行时,即使有某个更为重要或紧迫的进程进入就绪队列,仍然让正在进行的进程继续运行,直到由于其自身原因而主动让出处理机(任务完成或等待事件),才把处理机分配给更为重要或紧迫的进程。
First Come First Service
Short Job First
Shortest Job First
Shortest Remaining Time First
Highest Response Ratio First
响应比
= 响应时间/要求服务时间
= (等待时间+要求服务时间)/ 要求服务时间
= 1 + 等待时间/作业处理时间
(作业要求服务时间由用户给出,是一个常量 )
总结:这三种算法只根据公平、平均等待时间、平均周转时间、平均带权周转时间等来评价系统的整体性能指标,但不关心需要时间和任务的紧急程度,对于用户来说,交互性很差。因此这三种算法只适用于早期的批处理系统。
Round-Robin
算法思想:公平地、轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应。
调度程序每次把CPU分配给就绪队列首进程/线程使用一个时间间隔(称为时间片),就绪队列中的每个进程/线程轮流运行一个时间片。
算法规则:按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片(每次选择的都是排在就绪队列队头的进程)。若进程未在一个时间片内执行完,则剥夺处理机,将进程重新放到就绪队列队尾重新排队。
时间片的选取:时间片大小的确定要从进程个数、切换开销、系统效率和响应时间等方面考虑。
常用轮转法:
① 最常用的轮转法是等时间片轮转法,每个进程轮流运行相同时间片。
② 改进的轮转法对于不同的进程分配不同的时间片,时间片的长短可以动态修改。
时间片太大或太小
① 如果时间片太大,使得每个进程都可以在一个时间片内就完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程的响应时间。
② 如果时间片太小,进程调度、切换是有时间代价的,会导致进程切换过于频繁,系统会花大量的时间来处理进程切换,从而导致实际用于进程执行的时间比例减小。
Priority Scheduling Algorithm
Multi-Level Feedback Queue
总结:比起早期的批处理操作系统来说,由于计算机造价大幅降低,因此之后出现的交互式操作系统(包括分时操作系统和实时操作系统)更注重系统的响应时间、公平性、平衡性等指标。而这几种算法恰好也能较好地满足交互式系统的需求。因此这三种算法适用于交互式系统。
ending~~~
有什么问题欢迎留言噢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。