常见的作业调度算法总结

今天被问到操作系统的一些知识,发现自己一个不会,实在还是有点尴尬,之前的学习一直在框架,游戏引擎上,基本上忽略了学校大部分的理论知识~于是最近突然想学学操作系统了~反正也没什么事忙了!!

----------------------------------------

操作系统是什么?【概念】

是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件

-----这句话感觉意思都懂,但是就是概括不出来~

进程是什么?【概念】

进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机(中央处理器,主存储器,输入-输出接口)上顺序执行时所发生的活动

线程是什么?【概念】

是进程中某个单一顺序的控制流,指运行中的程序的调度单位

-----------------------------------------

作业调度相关概念,具体也可参考百度百科

常用的作业调度算法有先来先服务、短作业优先、响应比高优先、优先级调度算法和均衡调度算法。

调度算法应该做到:

1 、在单位时间内运行尽可能多的作业。

2 、使处理机保持忙碌的状态。

3 、使 I / O 设备得以充分利用。

4 、对所有作业公平合理。

一.先来先服务

【定义】

按照作业提交或进程变为就绪状态的先后次序,分派CPU;

当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。

在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。

-----------------------

想了想,先来先服务?怎么像是优先队列?【优先队列是先进先出,出来换成服务不就是FCFS?】

【这里需要特别注意的是,问了个学霸,这里的当前运行任务的是上次的结束时间,前提是当前的开始时间要<=上次的结束时间】

任务一的开始时间是1,需要的时间是2

任务二的开始时间是1,需要的时间是2

任务三的开始时间是7,需要的时间是10

6秒的时候是要空着的~~

直接上代码试试看~

二.短作业优先

三.响应比高优先

四.优先级调度

五.均衡调度

时间: 2024-11-10 07:37:53

常见的作业调度算法总结的相关文章

Linux 常见的进程调度算法

1.在介绍进程调度之前,先对进程的状态的概念应该有所了解,下面是关于进程状态的一些基本概念:进程的状态分为三种,分别为: 1).运行态:该状态表明进程在实际占用CPU 2).就绪态: 该状态下进程可以运行,但因为其他进程正在运行而暂时停止 3).阻塞态: 该状态下进程不能运行,除非某种外部事件的发送 运行态→等待态 往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的. 等待态→就绪态 则是等待的条件已满足,只需分配到处理器后就能运行. 运行态→就绪态 不是由于自身原因,而是由外界原因使

Hadoop集群三种作业调度算法介绍

Hadoop集群中有三种作业调度算法,分别为FIFO,公平调度算法和计算能力调度算法先来先服务(FIFO)Hadoop中默认的调度器FIFO,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业.FIFO比较简单,hadoop中只有一个作业队列,被提交的作业按照先后顺序在作业队列中排队,新来的作业插入到队尾.一个作业运行完后,总是从队首取下一个作业运行.这种调度策略的优点是简单.易于实现,同时也减轻了jobtracker的负担.但是它的缺点也是显然的,它对所有的作业都一视同仁,没有考虑

常见进程的调度算法

调度算法是指:根据系统的资源分配策略所规定的资源分配算法,如任务A在执行完后,选择哪个任务来执行,使得某个因素(如进程总执行时间,或者磁盘寻道时间等)最小.对于不同的系统目标,通常采用不同的调度算法. 几个常用的操作系统进程调度算法. 1 先来先服务(队列) 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度.当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源.创建进程,然后放入就

作业调度算法

先来先服务.短进程优先算法 一.实验目的 通过使用c对先来先服务.短进程优先算法的实现,进一步理解并掌握调度算法的逻辑过程,以及每种算法分别在进程调度和作业调度中的的处理方法. 二.实验原理 先来先服务:该算法在每次调度中,都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为他们分配资源.创建进程,然后放入就绪队列.在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,位置分配处理机,使之投入运行.该进程一直运行到完成或发生某事件而阻塞后才放

转 作业调度算法

http://blog.csdn.net/piaojun_pj/article/details/5931324 .先来先服务(FCFS, First Come First Serve)是最简单的调度算法,按先后顺序进行调度. 定义: 按照作业提交或进程变为就绪状态的先后次序,分派CPU: 当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式). 在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU. 适用场景: 比较有利于长作业,而不利于短作业.

操作系统中常见的进程调度算法

1.      先来先服务(FCFS)调度算法 FCFS调度算法是一种最简单的调度算法,该调度算法既可以用于作业调度也可以用于进程调度.在作业调度中,算法每次从后备作业队列中选择最先进入该队列的一个或几个作业,将它们调入内存,分配必要的资源,创建进程并放入就绪队列. 在进程调度中,FCFS调度算法每次从就绪队列中选择最先进入该队列的进程,将处理机分配给它,使之投入运行,直到完成或因某种原因而阻塞时才释放处理机. FCFS调度算法属于不可剥夺算法.从表面上看,它对所有作业都是公平的,但若一个长作业

常见的进程调度算法

一.进程和作业的区别 区别:进程是一个程序在一个数据集上的一次执行,而作业是用户提交给系统的一个任务.  关系:一个作业通常包括几个进程,几个进程共同完成一个任务,即作业.  作业调度是宏观调度,它决定了哪一个作业能进入主存.进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理器. 二.先来先服务和短作业(进程)优先调度算法 ①先来先服务(FCFS) 可用于作业调度和进程调度,简单来说,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源.创建进程

短作业调度算法

#include <stdio.h> struct sjf //定义进程的结构体{  char name[10]; //进程名 float arrivetime; //到达时间 float servicetime; //服务时间 float starttime;  //开始时间 float finishtime; //完成时间 float zztime; //周转时间 float dqzztime; //带权周转时间 };  sjf b[100]; //定义短作业优先算法进程的最大数量 voi

YARN中用的作业调度算法:DRF(Dominant Resource Fairness)

在Mesos和YARN中,都用到了dominant resource fairness算法(DRF),它不同于hadoop基于slot-based实现的fair scheduler和capacity scheduler,论文阅读:Dominant Resource Fairness: Fair Allocation of Multiple Resource Types .考虑在一个包括多种资源类型(主要考虑CPU和MEM)的系统的公平资源分配问题,其中不同用户对资源有不同的需求.为了解决这个问题