【操作系统】-- 先来先服务算法(FCFS)、短作业优先算法(SJF)、高响应比调度算法(HRRN)

这篇具有很好参考价值的文章主要介绍了【操作系统】-- 先来先服务算法(FCFS)、短作业优先算法(SJF)、高响应比调度算法(HRRN)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、先来先服务(FCFS)

1、算法思想

主要从公平的角度考虑。

2、算法规则

按照 作业/进程 到达的先后顺序进行服务。

3、是否可抢占

非抢占式算法。

4、是否可导致饥饿

不会导致饥饿。

5、优缺点

优点:公平、算法实现简单。

缺点:对长作业有利,对短作业不利。

6、例题

例:各进程到达就绪队列的时间、需要运行时间如下表,使用先来先服务调度算法,计算各进程的等待时间、平均等待时间、周转时间、平均周转时间、带权周转时间、平均带权周转时间。

进程 到达时间 运行时间
P1 0 7
P2 2 4
P3 4 1
P4 5 4

 

答:先来先服务算法,操作系统,算法,操作系统,先来先服务,短作业优先,高响应比调度

周转时间 = 完成时间 - 到达时间

P1 = 7-0 = 7;P2 = 11-2 = 9;P3 = 12-4 = 8;P4 = 16-5 = 11

带权周转时间 = 周转时间 / 运行时间

P1 = 7/7 = 1;P2 = 9/4 = 2.25;P3 = 8/1 = 8;P4 = 11/4 = 2.75

等待时间 = 周转时间 - 运行时间(此例题进程到达后要么等待要么运行)

P1 = 7-7 = 0;P2 = 9-4 = 5;P3 = 8-1 = 7;P4 = 11-4 = 7

平均周转时间 = (7+9+8+11)/4 = 8.75

平均带权周转时间 = (1+2.25+8+2.75)/4 = 3.5

平均等待时间 = (0+5+7+7)/4 = 4.75

二、短作业优先(SJF)

1、算法思想

追求最少的平均等待时间、最少的平均周转时间和平均带权周转时间。

2、算法规则

最短的 作业/进程 优先得到服务。

3、是否可抢占

非抢占式,

抢占式版本:最短剩余时间优先算法。

4、是否会导致饥饿

 会,如果有源源不断的短作业到来,可能使长作业长时间得不到服务。

5、优缺点

优点:“最短的“平均等待时间、平均周转时间

缺点:不公平,对短作业有利,对长作业不利,可能产生饥饿现象。

6、例题

例:各进程到达就绪队列的时间、需要运行时间如下表,使用非抢占式的短作业优先调度算法,计算各进程的等待时间、平均等待时间、周转时间、平均周转时间、带权周转时间、平均带权周转时间。

进程 到达时间 运行时间
P1 0 7
P2 2 4
P3 4 1
P4 5 4

答:先来先服务算法,操作系统,算法,操作系统,先来先服务,短作业优先,高响应比调度

 

周转时间 = 完成时间 - 到达时间

P1 = 7-0 = 7;P3 = 8-4 = 4;P2 = 12-2 = 10;P4 = 16-5 = 11

带权周转时间 = 周转时间 / 运行时间

P1 = 7/7 = 1;P3 = 4/1 = 4;P2 = 10/4 = 2.5;P4 = 11/4 = 2.75

等待时间 = 周转时间 - 运行时间(此例题进程到达后要么等待要么运行)

P1 = 7-7 = 0;P3 = 4-1 = 3;P2 = 10-4 = 6;P4 = 11-4 = 7

平均周转时间 = (7+4+10+11)/4 = 8

平均带权周转时间 = (1+4+2.5+2.75)/4 = 2.56

平均等待时间 = (0+3+6+7)/4 = 4

三、高响应比优先(HRRN)

1、算法思想

要综合考虑 作业/进程 的等待时间和要求服务时间

2、算法规则

在每次调度时先计算各个 作业/进程 的响应比,选择响应比最高的 作业/进程 为其服务。

响应比 = 等待时间+要求服务时间 / 要求服务时间

3、是否可抢占

非抢占式算法

4、是否会导致饥饿

不会

5、优缺点

综合考虑了等待时间和运行时间,

等待时间相同,要求服务时间短的优先,

要求服务时间相同,等待时间长的优先,

对于长作业,等待时间越久,响应比也会越来也大,从而避免了长作业饥饿问题。

6、例题

例:各进程到达就绪队列的时间、需要运行时间如下表,使用高响应比优先调度算法,计算各进程的等待时间、平均等待时间、周转时间、平均周转时间、带权周转时间、平均带权周转时间。

进程 到达时间 运行时间
P1 0 7
P2 2 4
P3 4 1
P4 5 4

答:先来先服务算法,操作系统,算法,操作系统,先来先服务,短作业优先,高响应比调度

 0时刻:P1到达就绪队列,P1占用CPU

7时刻:P1主动放弃CPU,就绪队列有P2(响应比=(5+4)/4=2.25)、P3((3+1)/1=3)、P4((2+4)/4=1.5)

8时刻:P3完成,P2(2.5)、P4(1.75)

12时刻:P2完成,就绪队列只剩P4

以上三种算法一般适用于早期的批处理系统,不适用于交互式系统,FCFS算法常结合其他算法使用。

下篇文章是适用于交互式系统的调度算法。文章来源地址https://www.toymoban.com/news/detail-783074.html

到了这里,关于【操作系统】-- 先来先服务算法(FCFS)、短作业优先算法(SJF)、高响应比调度算法(HRRN)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 先来先服务调度算法(C语言代码实现) 大三操作系统实验

    实验原理: 先来先服务(First Come First Served,FCFS),是一种简单的调度算法,它既适用于作业调度,也适用于进程调度。先来先服务算法是按照作业或进程的到达先后次序来进行调度。当作业调度中采用该算法时,每次调度都是从后备队列中选择一个最先进入该队列中作业,将

    2024年04月16日
    浏览(24)
  • 操作系统:实验一:进程调度实验——最高优先数优先的调度算法以及先来先服务算法 源码

    一、实验目的 (1)了解进程实体PCB结构; (2)理解进程不同状态和状态之间的转换过程; (3)掌握优先数的调度算法和先来先服务算法; 二、实验内容与要求 设计一个有 N个进程共行的进程调度程序 四、实验步骤 (1)实验设计 进程调度算法: 采用最高优先数优先的调

    2024年02月06日
    浏览(31)
  • 【操作系统】c语言--进程调度算法(FCFS和SPN)

    创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡𖥦)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 🔥c++系列专栏:C/C++零基础到精通 🔥 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ c语言内容💖:

    2024年02月12日
    浏览(38)
  • 磁盘调度算法之先来先服务(FCFS),最短寻找时间优先(SSTF),扫描算法(SCAN,电梯算法),LOOK调度算法

    寻找时间(寻道时间) Ts:在读/写数据前,将磁头移动到指定磁道所花的时间。 ① 启动磁头臂 是需要时间的。假设耗时为s; ② 移动磁头 也是需要时间的。假设磁头匀速移动,每跨越一个磁道耗时为m,总共需要跨越n条磁道。 则寻道时间 T s = s + m ∗ n Ts =s + m*n T s = s + m ∗

    2024年02月08日
    浏览(33)
  • 【操作系统】磁盘调度算法(FCFS、SSTF、SCAN 和 C-LOOK 调度策略)

    实验内容:硬盘调度 编写一个 C 程序模拟实现课件 Lecture25 中的硬盘磁头调度算法,包括 FCFS、SSTF、SCAN 和 C-LOOK 调度策略。 固定一个硬盘柱面数; 输入一批随机的硬盘柱面请求序列,计算各个调度策略下的磁头移动平均总距离 (假设磁头运动是理想匀速的,可以把移动距离

    2024年02月11日
    浏览(28)
  • 【操作系统--页面置换算法】C语言详解--大作业版(附代码)

    1设计和实现FIFO,LRU,OPT和CLOCK算法 2设计和实现一个完整的可供选择不同算法的程序 3通过页面访问序列随机发生器实现对上述算法的测试及性能比较 4领略页面置换背后的资源调配思想,并将其运用到其他的操作系统的知识,以及运用到生活中的资源调配策略以及解决措施 5理

    2024年02月06日
    浏览(28)
  • Linux操作系统作业

    使用cat命令加行号显示文件/etc/issue的内容。 [root@localhost example]# cat -n /etc/issue      1  S      2  Kernel r on an m       3  2.使用more命令查看文件/etc/man_db.conf的内容。 [root@localhost example]# more /etc/man_db.conf 3使用less命令查看文件/etc/man_db.conf的内容。 [root@localhost example]# le

    2024年02月07日
    浏览(28)
  • 《操作系统》第8次作业

    一. 单选题(共10题,50分) (单选题)一个文件的绝对路径名是从( )开始,逐步沿着每一级子目录向下追溯,最后到指定文件的整个通路上所有子目录名组成的一个字符串。 A. 当前目录 B. 根目录 C. 多级目录 D. 二级目录 我的答案: B:根目录;正确答案: B:根目录; 5分 答案解析:

    2024年02月05日
    浏览(23)
  • 操作系统实践课作业(南航)

    实验环境:从Docker Hub中拉取了一个GCC的镜像,并基于该镜像创建了linux系统的容器。 实现功能: myecho.c的功能与系统echo程序相同,接受命令行参数,并将参数打印出来 输出如下: 实现功能: mycat.c的功能与系统cat程序相同 mycat将指定的文件内容输出到屏幕 要求使用系统调用

    2023年04月08日
    浏览(25)
  • 操作系统作业 18-22章

    1.根据题中所给参数计算线性页表大小和不同情况下的变化         paging-linear-translate.py -P 1k -a 1m -p 512m -v -n 0         paging-linear-translate.py -P 1k -a 2m -p 512m -v -n 0         paging-linear-translate.py -P 1k -a 4m -p 512m -v -n 0         页大小为1kb,地址空间大小分别为1mb,2m

    2023年04月17日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包