课程名称操作系统计算机科学与技术分院信1001—2班组学号实验者姓名实验日期2013年4月11日评分教师签名实验一进程调度模拟算法一、实验目的通过进程调度实验,了解了优先数算法和时间片轮转算法的具体实施办法,体会了优先数算法和时间片轮转算法进程调度的过程,掌握了有关进程控制快、进程队列等概念,提高了编程技巧和对算法的理解和掌握
二、实验要求进程调度是处理机管理的核心内容,本实验要求用高级语言编写模拟进程调度程序,以便加深理解有关进程控制快、进程队列等概念
三、实验过程1.准备分别用两种调度算法对伍个进程进行调度
每个进程可有三种状态;执行状态(RUN)、就绪状态(READY,包括等待状态)和完成状态(FINISH),并假定初始状态为就绪状态
进程控制块结构如下:NAME——进程标示符PRIO/ROUND——进程优先数/进程每次轮转的时间片数(设为常数2)CPUTIME——进程累计占用CPU的时间片数NEEDTIME——进程到完成还需要的时间片数STATE——进程状态NEXT——链指针进程的就绪态和等待态均为链表结构,共有四个指针如下:RUN——当前运行进程指针READY——就需队列头指针TAIL——就需队列尾指针FINISH——完成队列头指针运行和显示程序开始运行后,首先提示:请用户选择算法,输入进程名和相应的NEEDTIME值
每次显示结果均为如下5个字段:namecputimeneedtimeprioritystate注:1.在state字段中,"R"代表执行态,"W"代表就绪(等待)态,"F"代表完成态
2.应先显示"R"态的,再显示"W"态的,再显示"F"态的
3.在"W"态中,以优先数高低或轮转顺序排队;在"F"态中,以完成先后顺序排队
主要流程和源代码实验一源代码#include#include#include#includetypedefstructnod