怎么用C语言实现多级反馈队列调度算法

多级反馈队列调度算法是操作系統中CPU处理机调度算法之一该算法既能使高优先级的进程(任务)得到响应又能使短进程(任务)迅速完成。UNIX操作系统便采取这种算法試用C语言模拟某多级反馈队列调度算法。

多级反馈队列调度算法描述:

1、该调度算法设置四级就绪队列:前三级就绪队列采用时间片轮转法时间片大小分别为2、4和8;最后一级就绪队列采用FIFO调度。

2、任务在进入待调度的队列等待时首先进入优先级最高的队列等待。

3、首先調度优先级高的队列中的任务若高优先级中队列中已没有调度的任务,则调度次优先级队列中的任务依次类推。

4、对于同一个队列中嘚各个任务按照队列指定调度方法调度。每次任务调度执行后若没有完成任务,就被降到下一个低优先级队列中

5、在低优先级的队列中的任务在运行时,又有新到达的任务那么在运行完这个时间片后,CPU马上分配给新到达的任务即算法支持抢占式。

6、为方便实现時间以1为单位,用整数数据表示;且每个时间点最多只有一个任务请求服务(即输入)。

实现一个队列数组(queue array)该数组的每个元素都玳表一个长度可变的队列,队列中的每个元素则代表一个任务job任务结构定义如下:

输入:任务号 到达时间 运行时间

输出:任务号 响应时間 离开时间 周转时间

具体数据自己设计,但报告上要求写出多批数据测试结果

可以考虑对各个任务赋予不同的优先级(通过输入确定),首先按优先级将各个任务放入四级队列中的某一个队列然后按上述调度法调度。还可以考虑一个时间点可能有多个任务同时请求服务(即输入)大家可以充分发挥自己的想象力,增加你的系统功能

请发到邮箱里。因为很多人在找这个谢谢了

多级反馈队列调度算法是操作系統中CPU处理机调度算法之一该算法既能使高优先级的进程(任务)得到响应又能使短进程(任务)迅速完成。UNIX操作系统便采取这种算法試用C语言模拟某多级反馈队列调度算法。

多级反馈队列调度算法描述:

1、该调度算法设置四级就绪队列:前三级就绪队列采用时间片轮转法时间片大小分别为2、4和8;最后一级就绪队列采用FIFO调度。

2、任务在进入待调度的队列等待时首先进入优先级最高的队列等待。

3、首先調度优先级高的队列中的任务若高优先级中队列中已没有调度的任务,则调度次优先级队列中的任务依次类推。

4、对于同一个队列中嘚各个任务按照队列指定调度方法调度。每次任务调度执行后若没有完成任务,就被降到下一个低优先级队列中

5、在低优先级的队列中的任务在运行时,又有新到达的任务那么在运行完这个时间片后,CPU马上分配给新到达的任务即算法支持抢占式。

6、为方便实现時间以1为单位,用整数数据表示;且每个时间点最多只有一个任务请求服务(即输入)。

实现一个队列数组(queue array)该数组的每个元素都玳表一个长度可变的队列,队列中的每个元素则代表一个任务job任务结构定义如下:

输入:任务号 到达时间 运行时间

输出:任务号 响应时間 离开时间 周转时间

具体数据自己设计,但报告上要求写出多批数据测试结果

可以考虑对各个任务赋予不同的优先级(通过输入确定),首先按优先级将各个任务放入四级队列中的某一个队列然后按上述调度法调度。还可以考虑一个时间点可能有多个任务同时请求服务(即输入)大家可以充分发挥自己的想象力,增加你的系统功能

请发到邮箱里。因为很多人在找这个谢谢了

我要回帖

 

随机推荐