- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
WORD格式可编辑
《操作系统》实验报告
题目:作业调度算法
班级:网络工程
姓名:朱锦涛
学号:
专业知识分享
WORD格式可编辑
一、实验目的
用代码实现页面调度算法,即先来先服务(FCFS)调度算法
、通过代码的具体实现,
短作业优先算法、高响应比优先调度算法。
加深对算法的核心的理解。
二、实验原理
1.先来先服务(FCFS)调度算法
FCFS是最简单的调度算法,该算法既可用于作业调度,也可用于
进程调度。当在作业调度中采用该算法时,系统将按照作业到达的先
后次序来进行调度,或者说它是优先考虑在系统中等待时间最长的作
业,而不管该作业所需执行的时间的长短,从后备作业队列中选择几
个最先进入该队列的作业,将它们调入内存,为它们分配资源和创建
进程。然后把它放入就绪队列。
2.短作业优先算法
SJF算法是以作业的长短来计算优先级,作业越短,其优先级越高。
作业的长短是以作业所要求的运行时间来衡量的。SJF算法可以分别
用于作业和进程调度。在把短作业优先调度算法用于作业调度时,它
将从外存的作业后备队列中选择若干个估计运行时间最短的作业,优
先将它们调入内存。
3、高响应比优先调度算法
专业知识分享
WORD格式可编辑
高响应比优先调度算法则是既考虑了作业的等待时间,又考虑了作
业的运行时间的算法,因此既照顾了短作业,又不致使长作业等待的
时间过长,从而改善了处理机调度的性能。
如果我们引入一个动态优先级,即优先级是可以改变的令它随等待
的时间的延长而增加,这将使长作业的优先级在等待期间不断地增加,
等到足够的时间后,必然有机会获得处理机。该优先级的变化规律可
以描述为:
优先权=(等待时间+要求服务时间)/要求服务时间
三、实验内容
源程序:
#includestdio.h
#includestdlib.h
#includetime.h
structwork
{
intid;
intarrive_time;
专业知识分享
WORD格式可编辑
intwork_time;
intwait;
floatpriority;
};
typedefstructsjf_work
{
structworks_work;//数据域
structsjf_work*pNext;//指针域
}NODE,*PNODE;
voidFCFS();
voidSJF();
voidshowmenu();
boolIs_empty(PNODEpHead);
intcnt_work(PNODEpHead);
PNODEdo_work(PNODEpHead,int*w_finish_time,inti);
专业知识分享
WORD格式可编辑
voidshow(int*w_finish_time,inti,PNODEq,int
*w_rel_time);
voidHRRN();
PNODEpriorit(PNODEpHead);
voiddo_work_1(PNODEpHead,int*w_finish_time,inti);
intmain()
{
intchoice;//设置选择数
showmenu();//显示菜单
ss
while(choice!=0)//选择算法
{
switch(choice)
{
文档评论(0)