操作系统:FCFS调度算法简单实现
由于本人(小白一个)一直以来想要写博客,加上最近学习操作系统,为了巩固自己的学习成果以及加深印象,现在决定开始写博客,可以说这是我的第一篇博客。这篇文章主要描述的计算机操作系统的FCFS(先来先服务)的调度算法,可以用在进程调度和作业调度中。它的基本思想是按进程或作业到达的时间先后顺序进行调度。下面就详细讲下本小白实现此简单算法的基本功能,过程以及思想。 基本功能: 1、输出每个进程的调度时间表 2、上一个进程结束前,下一个进程还没有到达,程序计算周转时间仍然正确 3、进程可以不按到达时间大小排列输入,输出的调度时间表依然正确
首先我们得知道进程是怎么构造的,在这篇文章中我是以结构体数组的形式来构造多个进程,结构体里的各个成分分别表示进程的基本信息,数组的大小为常数 5。 以下是我的进程具体构造:
struct PCB
{
char name[8]; //进程名称
int arrive_time; //到达时间
int run_time; //运行时间
int finish_time; //完成时间
int zhouzhuan_time; //周转时间
float daiquan_time; // 带权周转时间
};
#define N 5
struct PCB pcb[N],temp;
输入进程功能:自定义一个输入函数,设置for循环语句,循环输入,很容易实现
void input()
{
int i;
cout |