FCFS

(First Come First Served)

按照作业进入系统的先后次序来挑选作业,先进入系统的作业优先被挑选。

FCFS算法的优缺点:

算法容易实现。但效率不高,只顾及作业等候时间,没考虑作业要求服务时间的长短。因此优待了长作业而不利于短作业;有利于CPU繁忙型作业,而不利于I/O繁忙型作业。

例如,三个作业同时到达系统并立即进入调度:

作业名    所需CPU时间
作业1    28
作业2    9
作业3    3

若三个作业提交顺序改为作业2、1、3,平均作业周转时间约为29。采用FCFS算法,三个作业的周转时间分别为:28、37和40,因此,平均作业周转时间T = (28+37+40)/3 = 35

((9+37+40)/3≈29)

若三个作业提交顺序改为作业3、2、1,平均作业周转时间约为18。

((3+12+40)/3≈18)

FCFS调度算法的平均作业周转时间与作业提交的顺序有关。

时间: 2024-10-10 11:15:18

FCFS的相关文章

FCFS,SJF(java实现)

1 import java.io.BufferedReader; 2 3 import java.io.InputStreamReader; 4 5 public class FCFSANDSJF { 6 7 private static int i; 8 9 private int j; 10 11 private int temp; 12 13 private int m[]; 14 15 private int n[]; 16 17 private int process_number;/

FCFS,SSTF,SCAN,FIFO,LRO考点题解

四.应用题 ( 本大题共5 小题,50 分 ) 1. 假设某系统中有五个进程,每个进程的执行时间(单位:ms)和优先数如下表所示(优先数越小,其优先级越高). 进程 执行时间 优先数 P1 P2 P3 P4 P5 10 1 2 1 5 3 1 5 4 2 如果在0时刻,各进程按P1.P2.P3.P4.P5的顺序同时到达,请回答以下问题:(12分) (1)当系统采用先来先服务调度算法时: 进程执行顺序是      p1 p2 p3 p4 p5      平均周转时间是  13.4ms (2)当系统

FCFS 先来先服务

/*先来先服务FCFS 要求:1>用结构体定义程序:程序号,优先数(到达时间),CPU运算所需时间 2>输入进程序列 3>按优先数高低排序输出*/ #include<stdio.h>#include<string.h>#define N 100typedef struct Time{ int reachTime; //优先数(程序到达时间) int runningTime; //CPU运算时间}Time; typedef struct Information{ l

实验二作业调度模拟程序(先来先服务(FCFS)调度算法)

1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1)       采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)       短作业优先 (SJF) 调度算法,优先

实验二(作业调度)FCFS

#include<stdio.h>#define N 24 typedef struct node{char name[10]; /*作业名*/int proc; //进程优先数*/ int ArriTime;//到达时间int StartTime;//开始时间int NeedTime; /*进程所需时间*/ int RunTime; /*运行时间*/int EndTime;//结束时间int ZzTime;//周转时间float Zznum;char state; //进程的状态*/ /*s

OS实验报告--FCFS算法

实验二.作业调度模拟实验 专业:商业软件工程  姓名:王泽锴 学号:201406114113 一.实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 二.实验内容和要求 (1)实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. (2)实验内容 根据指定的实验课题,完成设计.编码和调试工作,完成实验报告. 三.实验

实验二:作业调度模拟程序 (FCFS SJF算法)

#include<stdio.h> #include<string.h> struct job{ char name[10]; int starttime; //作业到达系统时间 int needtime; //作业运行时间 int runtime; //作业周转时间 int endtime; //作业结束时间 double dqzztime; //带权周转时间 double xiangyingbi; }; void fcfs(struct job jobs[50],int n);

FCFS,SJF,HRRN算法实现作业调度

实验原理 (1)定义程序控制块的结构体和程序工作时间的结构体,JCB可以包含以下信息:作业名.提交(到达)时间.所需的运行时间.所需的资源.作业状态.链指针等等.程序工作时间包括作业运行时刻,作业完成时刻,周转时间,带权周转时间. (2)主程序默认采用的算法是先来先服务,当选择另外两种算法时通过主程序去调用这种作业调度算法,分别是SJF,HRN. (3)通过构造进程输入input(),进程运行结果输出output(),disp(),以及使整个程序正常运行的函数块等,通过主函数调用方法函数的想法来

先来先服务(FCFS)调度算法

#include <stdio.h> #define n 5 struct JCB { int name; //进程名 int atime; //进程到达时间 int runtime; //进程运行时间 int ftime; //进程完成时间 int total; //周转时间 float welght; //带权周转时间(周转系数) int arun; //进程到达运行 }f[n]; //开始执行时间,各作业的完成时间,周转时间和带权周转时间(周转系数). void main() { int