- 论坛徽章:
- 0
|
有哪位大侠曾做过这样的题目,或能帮个忙的,能否贡献代码,将不胜感激。 具体要求如下:
实验内容:
进程调度模拟程序:假设有10个进程需要在CPU上执行,分别用:
2 先进先出调度算法;
2 基于优先数的调度算法;
2 最短执行时间调度算法
确定这10个进程在CPU上的执行过程。要求每次进程调度时在屏幕上显示:
当前执行进程;
就绪队列;
等待队列
实验要求:
1) 创建10个进程的PCB,每个PCB包括:进程名、进程状态、优先级(1~5)、需要在处理机上执行的时间(ms)、队列指针等;
2) 初始化10个PCB(产生随机数0或1,分别表示进程处于就绪态或等待态);
3) 根据调度算法选择一个就绪进程在CPU上执行;
4) 在进程执行过程中,产生随机数0或1,该随机数为1时,将等待队列中的第一个PCB加入就绪队列的对尾;
5) 产生一个随机数,表示执行进程能在处理机上执行的时间,该执行时间结束后根据调度算法进行进程调度;或者一个进程在CPU上执行完后需要根据调度算法进行进程调度;
6) 在进程调度时产生随机数0或1,当该随机数为0时,将执行进程加入就绪队列对尾;否则,将执行进程加入等待队列对尾;
一直到就绪队列和等待队列为空,程序执行结束。 |
|