/* * 程序说明:这是一个模拟进程调度的程序,用户输入进程个数,时间片大小,每个进程的名称、到达时间、占用cpu的时间(即服务时间)和优先级 * 程序输出各个进程的开始时间,结束时间,周转时间,平均周转时间 和 进程切换时的信息(时间信息和哪个进程获得cpu) * * 用户选择采用那一种调动算法: * 第一种:时间片轮转法:就绪队列中的进程依次执行一个时间片,若未完成,插入队尾 * * 第二种:高优先权调度算法与时间片轮转算法相结合 * 1.首先,从就绪队列中选择优先权最高的进程,把cpu分配给该进程 * 2.若一个时间片过去了,该进程还未完成,则把该进程插入就绪队列。若该进程运行完成,则把它的状态改为完成状态,并且不插入就绪队列。 * 3.重复第一步 * * 第三种:高响应比优先 * 这是第二种的改进,每次在就绪队列中选择进程时,根据 优先权=进程响应时间/要求服务时间 给就绪队列中的进程优先权赋值,后面的思路同第二种。 * * * 时间:2011-05-13 * 作者:Touch */
源代码已经上传
程序运行举例:(这是某一教材P96页的例子):