Touch_2011 发表于 2013-2-1 11:28:05

进程调度模拟,自主选择调度算法(C语言实现)

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