回 帖 发 新 帖 刷新版面

主题:有个题目百思不得其解,请高手帮帮忙--给个算法,谢个先!

假设有几个作业运行。如果都需要请求CPU,则可以让作业按先后顺序排队,每当CPU处是完一个作业后,就可以接受新的作业,这时队列中队头的作业先退出进行处理。后来的作业排在队尾。此题算法跟模拟服务台前的排队现象问题相似,假定只有一个CPU,但为了防止一个作业占用CPU太久,可规定每个作业一次最长占用CPU的时间(称时间片),如果时间片到,作业未完成,则此作业重新进入等待队列,等到下次占有CPU时继续处理

回复列表 (共4个回复)

沙发

这题目里不就给出了算法-_-

板凳

是不是有点骑驴找驴的味道啊?呵呵

3 楼

时间片轮转阿
时间片轮转调度本身就是算法了
给定如下参数:
第一行p l
一下p行:t[p]
p为进程数
l为时间片长度
t[p]为第p个进程请求时间
处理函数功能为:每个t[p]依次-l(不足l的减至0,0的不减)成功分配了时间片(包括处理时间短于l)返回1,未分配返回0
主程序读如所需信息,之后调用处理函数,直到t[p]全为0,记录cpu运行总时间(l乘以处理函数中1的个数)

4 楼

确实有点骑驴找驴的味道,还是谢谢各位大侠的指点!

我来回复

您尚未登录,请登录后再回复。点此登录或注册