该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
上个星期老师给布置的作业,但不会做,小弟跪求答案,请好心人帮帮忙,万分感谢!!! 后天(2008.10.16)就交了~~~ 题目如下
进程调度算法模拟
一 实验目的
通过动态优先算法的模拟,加深对进程概念和进程调度的理解。
二 实验内容
1 用C 语言实现对N个进程采用优先权优先算法的进程调度;
2 每个用来标示进程的进程控制块PCB用结构来描述,包括以下字段:
进程标识数 ID
进程优先权数 PRIORITY,规定数值越大,优先权越高
进程已占的CPU 时间 CPUTIME
进程还需要占用CPU的时间 ALLTIME,进程结束时,其值为 0
进程阻塞时间 STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入为阻塞状态
进程被阻塞时间 BLOCKTIME,表示已阻塞进程再等待BLOCKTIME个时间片后,将转换为就绪状态
进程状态STATE
队列指针NEXT,用来将PCB 排成队列
3 优先权改变原则:
进程在就绪队列中等待一个时间片,优先权值加1
进程每运行一个时间片,优先权值减3
4 假设在调度前,系统有5个进程,它们的初始状态如下:
ID 0 1 2 3 4
PRIORITY 9 38 30 29 0
CPUTIME 0 0 0 0 0
ALLTIME 3 3 6 3 4
STARTBLOCK 2 -1 -1 -1 -1
BLOCKTIME 3 0 0 0 0
STATE READY READY READY READY READY
5 为了清楚的观察进程调度过程,程序应该显示每个时间片内各个进程的情况。
三 思考题
1 在实际进程调度中,除了按调度算法选择下一个执行的进程外,还应该处理哪些工作?
2 分析优先权修改原则对进程调度结果的影响
以前上课没有好好听讲,现在已经知道错了,但作业终究是要交的,请好心人帮帮我的忙啊,万分感谢了!!�