调度算法是指:根据系统的资源分配策略所规定的资源分配算法。

一、FCFS——先来先服务和短作业(进程)优先调度算法

1. 先来先服务调度算法。

先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度, 也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业, 而不利于I/O繁忙型的作业(进程)。

2. 短作业(进程)优先调度算法。

短作业(进程)优先调度算法(SJ/PF)是指对短作业或短进程优先调度的算法,该算法既可用于作业调度, 也可用于进程调度。但其对长作业不利;不能保证紧迫性作业(进程)被及时处理;作业的长短只是被估算出来的。

二、FPF高优先权优先调度算法

1. 优先权调度算法的类型。

为了照顾紧迫性作业,使之进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法。 此算法常被用在批处理系统中,作为作业调度算法,也作为多种操作系统中的进程调度,还可以用于实时系统中。当其用于作业调度, 将后备队列中若干个优先权最高的作业装入内存。当其用于进程调度时,把处理机分配给就绪队列中优先权最高的进程,此时, 又可以进一步把该算法分成以下两种:

1)非抢占式优先权算法

2)抢占式优先权调度算法(高性能计算机操作系统)

2. 优先权类型 。

对于最高优先权优先调度算法,其核心在于:它是使用静态优先权还是动态优先权, 以及如何确定进程的优先权。

3.动态优先权

高响应比优先调度算法为了弥补短作业优先算法的不足,我们引入动态优先权,使作业的优先等级随着等待时间的增加而以速率a提高。 该优先权变化规律可描述为:优先权=(等待时间+要求服务时间)/要求服务时间;即 =(响应时间)/要求服务时间

三、基于时间片的轮转调度算法

1.时间片轮转法。

时间片轮转法一般用于进程调度,每次调度,把CPU分配队首进程,并令其执行一个时间片。 当执行的时间片用完时,由一个记时器发出一个时钟中断请求,该进程被停止,并被送往就绪队列末尾;依次循环。

2. 多级反馈队列调度算法

多级反馈队列调度算法多级反馈队列调度算法,不必事先知道各种进程所需要执行的时间,它是目前被公认的一种较好的进程调度算法。 其实施过程如下:

1) 设置多个就绪队列,并为各个队列赋予不同的优先级。在优先权越高的队列中, 为每个进程所规定的执行时间片就越小。

2) 当一个新进程进入内存后,首先放入第一队列的末尾,按FCFS原则排队等候调度。 如果他能在一个时间片中完成,便可撤离;如果未完成,就转入第二队列的末尾,在同样等待调度…… 如此下去,当一个长作业(进程)从第一队列依次将到第n队列(最后队列)后,便按第n队列时间片轮转运行。

3) 仅当第一队列空闲时,调度程序才调度第二队列中的进程运行;

仅当第1到第( i-1 )队列空时, 才会调度第i队列中的进程运行,并执行相应的时间片轮转。

4) 如果处理机正在处理第i队列中某进程,又有新进程进入优先权较高的队列, 则此新队列抢占正在运行的处理机,并把正在运行的进程放在第i队列的队尾。

计算机系统调度算法代码,常见的调度算法总结相关推荐

  1. 操作系统中常见的调度算法

    文章目录 1. 进程调度算法 1. 先来先服务算法(FIFO) 2. 最短作业优先算法(SJF) 3. 最短完成时间优先算法(STCF) 4. 高响应比优先算法(Highest Response Ra ...

  2. 操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对

    操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对 一.交互式系统中采用的调度算法: 1.时间片轮转调度RR,round robin 2.最高 ...

  3. 【进程调度算法】时间片轮转调度算法、多级反馈队列调度算法(Java实现)

    时间片轮转调度算法(RR)是十分简单的进程调度算法. 进程在执行时的情况 在该时间片内进程执行完毕,这种情况调度程序将立即把该进程弹出队列,并把CPU分配给新的队首进程 在该时间片内进程未执行完毕,调 ...

  4. 2.2.5 操作系统之调度算法(时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法)

    文章目录 0.思维导图 1.时间片轮转---RR 2.优先级调度算法 3.多级反馈队列调度算法 4.三种算法的对比总结 0.思维导图 1.时间片轮转-RR Round-Robin 时间片为2举例 以时 ...

  5. 编写HTML代码常见错误以及解决方法?

    编写HTML代码常见错误以及解决方法? 参考文章: (1)编写HTML代码常见错误以及解决方法? (2)https://www.cnblogs.com/sqyss/p/11105221.html 备忘 ...

  6. 美的空气能计算机故障维修,美的空气能故障代码,常见故障原因汇总,勿要错过...

    美国航空能源的故障代码是什么?美的空气能量热水器是一个知名品牌,也很受大家的欢迎.然而,因为它仍然是一个相对新鲜的电器,许多朋友并不特别熟悉它.有时当使用美的空气能量热水器时,他们不知道遇到故障代码意 ...

  7. R语言基本介绍 | 数据科学、Rstudio介绍、快捷键操作、R代码常见命令、数据类型、示例代码等等

    一.数据科学 数据科学:计算和统计技术的综合应用,用于解决一些真实世界中的问题. 计算:获得结果 统计:分析和建模 真实世界:机器学习.AI 数据科学Data Science = 统计+数据处理+机器 ...

  8. 时间片轮转(RR)、优先级调度算法以及多级反馈队列调度算法

    一.调度算法 (一)时间片轮转(RR, Round-Robin) 例题:各进程到达就绪队列的时间.需要的运行时间如下表所示.使用时间片轮转调度算法,分析时间片大小分别是2.5时的进程运行情况. 常用于 ...

  9. 操作系统:电梯调度算法代码演示

    实验内容 一.实验目的 任何一个对磁盘的访问请求,应给出访问磁盘的存储空间地址:柱面号.磁头号和扇区号.在启动磁盘执行I/O操作时,应先把移动臂移动到指定的柱面,再等待指定的扇区旋转到磁头位置下,最后 ...

最新文章

  1. CKeditor3.6.2 配置与精简
  2. linux od命令详解
  3. 普通平键的主要尺寸有_工字钢尺寸大全
  4. mysql sequence 关键字_mysql增加sequence功能
  5. 信息传递服务器,AJAX的与服务器之间的信息传递原理(初学)
  6. php函数用粗体字显示,用来设置粗体字的属性是什么
  7. mnist手写数字识别python_Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】...
  8. Spring的注入方式详解
  9. C++-加载EXCEL数据
  10. 按工作日加减天数,忽略星期六日
  11. linux(Ubuntu)下安装英伟达的显卡驱动、cuda和cudnn详细步骤
  12. java基础七--网络编程(1)
  13. 编程语言python入门-Python基础教程,Python入门教程(非常详细)
  14. WIN10系统微软拼音输入法无法输入中文
  15. 规范使用地图,从规范制图开始
  16. 批量转换excel文件格式
  17. 网络接口 FE GE 10GE SFP
  18. 简单的哈夫曼树程序实现
  19. 定制任务栏托盘的dll
  20. 正方教务系统换数据库服务器,附:正方教务系统成绩录入操作说明- 正方教务系统成绩管理使用说明.doc...

热门文章

  1. 记住这五种人,值得你一辈子深交
  2. 【转】Win7注册表的使用(更新中)
  3. 【转】互联网女皇发布2012互联网趋势报告, 对我们有所帮助
  4. [心得]被霏凡封的帖子,小红伞,趋势分析,五大杀毒引擎分
  5. pstats for Windows
  6. 网易100天---26、What Is Artificial Intelligence (AI)?
  7. 王健林新观点:未来三年最暴利的五个赚钱行业,你身在其中吗?
  8. Python——多线程与多进程
  9. 量化投资01----股票_贵州茅台600519_双均线策略回测
  10. 代码编辑器 常用注册码