FCFS调度算法(FCFS,First Come First Serve)

算法思想: 主要从“公平的角度考虑”(类似于我们生活中排队买东西)
算法规则: 按照作业/进程到达的先后顺序进行服务
用于作业/进程调度: 用于作业调度时,考虑的是哪个作业先到达后备队列;用于进程调度时,考虑的是哪个进程先到达就绪队列
非抢占式的算法
优缺: 公平、算法实现简单
缺点: 排在长作业(进程)后面的短作业需要等待很长时间,带权周转时间很大,对短作业来说用户体验不好。即,FCFS算法对长作业有利,对短作业不利
不会导致饥饿

周转时间=作业完成时间-作业提交时间
平均周转时间=各作业周转时间之和 / 作业数
带权周转时间=作业周转时间 / 作业实际运行的时间=(作业完成时间-作业提交时间)/ 作业实际运行的时间

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

进程 到达时间 运行时间
p1 0 7
p2 2 4
p3 4 1
p1 5 4

因为算法按照到达的先后顺序进行调度,因此
调度顺序为p1–>p2–>p3–>p4

注意:例子中的进程是纯计算型的进程,一个进程到达后要么在等待,要么在运行。如果是又有计算,又有I/O操作的进程,其等待事件就是周转时间-运行时间-I/O操作的时间

FCFS调度算法(操作系统)先来先服务相关推荐

  1. 操作系统实验 作业调度算法 先来先服务FCFS调度算法

    作业调度算法 先来先服务FCFS调度算法 作业调度的原理: 非抢占调度 把作业从外存调入内存 作业调度算法: 先来先服务FCFS 短作业优先SJF 静态优先级调度 高响应比优先调度 实验原理 作业调度 ...

  2. 操作系统 先来先服务算法(FCFS)、最短寻到时间优先算法(SSTF)、扫描算法(电梯算法,SCAN)、循环扫描算法(CSCAN)

    操作系统 先来先服务算法(FCFS).最短寻到时间优先算法(SSTF).扫描算法(电梯算法,SCAN).循环扫描算法(CSCAN)和N步扫描算法(NStepScan)的程序实现 复制到本地即可运行 # ...

  3. fcfs调度算法_FCFS:先来先服务调度算法

    fcfs调度算法 The FCFS, which stands for First Come First Serve Scheduling Algorithm, is a non-preemptive ...

  4. 先来先服务(FCFS)调度算法(Java实现)

    文章目录 前言 一.先来先服务(FCFS)是什么? 二.先来先服务(FCFS)算法分析 三.实现代码 1.作业数据类 2.作业调度类 3.运行结果 总结 前言 在操作系统中作业调度的主要任务是根据PC ...

  5. 模拟FCFS调度算法(先来先服务)没错,是篇好文章!

    文章目录 一.FCFS的介绍 二.代码演示 三.代码分析 1.使用节点模拟进程 2.SimulateFCFS(核心模拟FCFS类) 3.创建一个节点为n的队列(模拟就绪队列) 4.核心计算分析 5.输 ...

  6. 1.2.7存储结构-磁盘管理:磁盘移臂调度算法、先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描算法(SCAN)、循环扫描(CSCAN)

    1.2.7存储结构-磁盘管理:磁盘移臂调度算法.先来先服务(FCFS).最短寻道时间优先(SSTF).扫描算法(SCAN).循环扫描(CSCAN) 先来先服务(FCFS) 最短寻道时间优先(SSTF) ...

  7. 操作系统进程调度算法(先来先服务,短作业优先算法(SJF))linux下(附源码)

    先来先服务算法(FCFS) FCFS是最简单的调度算法,既可以用作作业调度,也可以用作进程调度 这种算法优先考虑系统中等待时间最长的作业(进程),而不管作业所需执行时间长短, 做法是从后备队列中选择几 ...

  8. fcfs调度算法_C / C ++程序用于先到先得(FCFS)调度算法

    fcfs调度算法 Here you will get C/C++ program for first come first served (fcfs) scheduling algorithm. 在这 ...

  9. C++实现FCFS调度算法

    前言 : 最近刚开始学操作系统,刚好要做实验便记录一下实验内容,首先要理解FCFS的基本概念,它是以提交时间为核心的一种调度算法 基本思路: 题目已知提交时间与运行时间要我们得出所有作业的开始.完成. ...

最新文章

  1. Linux环境下使用Mysql连接外部机器
  2. Batch Normalization学习笔记
  3. python 命令行参数-python中命令行参数
  4. 从表达式到函数:表面的简洁
  5. python创建矩阵行向量_python矩阵和向量的转置问题
  6. npm run dev/build/serve
  7. Docker拉取Redis镜像安装运行
  8. Java面向对象和类
  9. php soap proxy host,php-PHP soap Could not connect to host
  10. DELL T420塔式服务器RAID配置及OS安装
  11. TensorFlow 实现深度神经网络 —— Denoising Autoencoder
  12. php养老院管理系统论文,养老院一卡通管理
  13. 一阶系统单位阶跃响应的特点_一阶系统的单位阶跃响应.doc
  14. 常见python爬虫模板_常见的Python爬虫框架有几个?
  15. cortex-a9 架构概览
  16. Linux上安装oracle19c客户端,Oracle 19c的下载和安装部署(图形安装和静默安装)
  17. 什么软件测试cpu满载,功耗实测——待机/CPU满载/3DMark_CPUCPU评测-中关村在线
  18. 中兴交换机vsc配置实例
  19. 计算机如何制作音乐相册,怎么制作音乐相册?如何使用照片来制作音乐mv?照片制作成电子相册的方法...
  20. odoo13动作里添加向导

热门文章

  1. 突发!阿里组织架构大调整
  2. Android apk增量升级
  3. 让网络环境变成一弯清泉
  4. 晒晒我历年双十一的清单!
  5. December 2007
  6. 字符串去掉首尾空格和替换
  7. 【自动控制原理】笔记1——开环系统闭环系统-反馈控制
  8. Win11主题下载一直转圈怎么办?Win11主题下载一直转圈的解决方法
  9. python 办公自动化excel-用python进行办公自动化都需要学习什么知识呢?
  10. 偏移变色lisp_渐进式 多重偏移,见图片效果 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - 偏移 - Powered by Discuz!...