主题:有个题目百思不得其解,请高手帮帮忙--给个算法,谢个先!
Marven
[专家分:0] 发布于 2006-12-13 00:15:00
假设有几个作业运行。如果都需要请求CPU,则可以让作业按先后顺序排队,每当CPU处是完一个作业后,就可以接受新的作业,这时队列中队头的作业先退出进行处理。后来的作业排在队尾。此题算法跟模拟服务台前的排队现象问题相似,假定只有一个CPU,但为了防止一个作业占用CPU太久,可规定每个作业一次最长占用CPU的时间(称时间片),如果时间片到,作业未完成,则此作业重新进入等待队列,等到下次占有CPU时继续处理
回复列表 (共4个回复)
沙发
argentmoon [专家分:13260] 发布于 2006-12-13 01:29:00
这题目里不就给出了算法-_-
板凳
boxertony [专家分:23030] 发布于 2006-12-13 09:12:00
是不是有点骑驴找驴的味道啊?呵呵
3 楼
雪光风剑 [专家分:27190] 发布于 2006-12-13 09:48:00
时间片轮转阿
时间片轮转调度本身就是算法了
给定如下参数:
第一行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 楼
Marven [专家分:0] 发布于 2006-12-13 23:40:00
确实有点骑驴找驴的味道,还是谢谢各位大侠的指点!
我来回复