- 1475
- 0
- 约4.75千字
- 约 13页
- 2017-08-22 发布于浙江
- 举报
时间片轮转调度算法的实验报告
实验概述: 【实验目的及要求】
用C语言编程实现时间片轮转调度算法
【实验原理】
基于调度算法思想用C语言编程实现Visual C++6.0 实验内容:
本实验模拟在单处理机情况下处理机调度,用C语言编程实现先来先服务和最短作业优先调度算法。
【实验方案设计】
时间片大小固定,由用户输入。进程个数由用户输入。
每个进程用一个PCB表示。PCB包括进程名,到达时间,运行时间,剩余时间,进程状态,链接指针。其中,进程名,到达时间和运行时间由用户输入,剩余时间的初值等于运行时间。为简单起见,进程状态设为三种:就绪,运行和完成。链接指针指向下一个进程的PCB;
按照进程到达的先后顺序排成一个队列。设置一个队头指针指向队列中第一个进程,并设置一个队尾指针指向队列中的最后一个进程;
c. 执行调度时,先选择队首的第一个进程运行。另外设置一个指向当前运行进程的指针;
由于本实验是模拟实验,所以对选中进程并不实际启动运行,而只是执行:
被选中进程的状态置为运行态;
被选中进程的剩余时间减去时间片大小;
按照队列的顺序依次输出每个进程的进程名,到达时间,运行时间,剩余时间,进程状态。
用这三个操作来模拟进程的一次运行;
进程运行一次后,以后的调度则将当前指针依次下移一个位置,指向下一个进程,即调整当前运行指针,以指示应运行进程。同时还应判断该进程的剩余时间是否为0。如果不为0,则等待下
原创力文档

文档评论(0)