编辑: kr9梯 2013-06-09

1、题目及具体要求 作业调度系统的模拟实现 要求: 设计FCFS、SJP、HRN三种调度算法;

只要工作目录中有作业就必须按照指定的调度算法来执行;

独立完成程序的设计与调试;

设计好各个功能模块,合理安排他们的位置;

程序结构清晰、程序界面友好直观. 分析三种调度算法的异同 2.

2、功能描述 先来先服务(FCFS):每次调度时都从后备作业队列中选择一 个或多个最先进入该队列的作业,将他们调入内存,为他们分配资源、创建进程,然后放入就绪队列. 短作业优先(SJF): 从后备队列中选择一个或若干个估计运行时间最短的进程,将处理机分配给他,使他立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时再重新调度. 高响应比优先调度(HRN):在创建进程时动态赋予各个作业的优先权,优先权=(等待时间+服务时间)/服务时间,每次调度时都要计算各个作业的优先权,优先权高的作业得到处理机. 2.

3、程序流程图 (此处我主要描述一下我负责的功能模块) 先来先服务调度(FCFS) 主程序调度 三 详细设计 3.1 算法思想 该作业调度系统需要用到FCFS、SJF、HRN三种调度算法,鉴于课设要求,我们小组讨论过后觉得为了更好的比较这三种算法,决定对系统中的资源同时采用三种调度,并同时显示在界面上.在具体设计时,我们先定义了FCFS( )、SJF( )、HRN( )这三个函数模块,这几个模块主要是从一个队列中选出下一次该执行的作业,设计了一个running( )函数用来计算作业的达到时间、服务时间等变量,一个printf( )函数打印出所需结果,在check( )函数里面调用这几个函数,最用利用一个主函数去调用check( )函数,实现多个资源的调度.详细见模块设计. 3.2 模块设计 部分模块(详情见附录) FCFS 模块设计 设计思路:先找到队列中第一个还未完成的作业,然后将其和队列后面的作业进行 比较,如果后面有尚未服务的的作业那么将他们做个比较,选择到来时 间最早的进行服务. 函数块代码: int FCFS( ) { int current;

int i,j;

for(i=0;

i

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题