- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计说明书郑丽波5bjprfgb
PAGE
中北大学
操作系统课程设计
说 明 书
?
学 院、系:
软件学院
专 业:
软件工程
学 生 姓 名:
郑丽波
学 号:
1121011747
设 计 题 目:
基于Linux的模拟进程调度
算法的实现
起 迄 日 期:
2013年11月22日- 2013年12月6日
指 导 教 师:
康珺
?
?
?2013 年
需求分析
在操作系统中,进程调度实际就是给进程分配内存资源,随着计算机系统的发展,为了更充分的利用系统资源以及提高计算机的运行效率,因此需要在不同的环境下采用不同的调度算法,使得系统具有合理的响应时间,就要求系统能按照某种算法,动态的把处理机分配给就绪队列中的一个进程,使之执行。因此,就需要设计出几种不同的算法,通过比较,选出一种最优的。
本程序主要实现基于linux的进程调度算法的实现。共实现了三种不同的调度算法,分别是:先来先服务调度算法,短作业优先调度,高响应比调度算法。
在程序的执行过程中,可以自主输入进程的个数以及进程必要的信息,如:进程的创建时间,服务时间等,然后通过不同的调度算法实现进程的调度,每一种算法都能动态的演示进程调度的过程,时间间隔为一秒钟,并且可以计算出每种调度算法下的平均周转时间和平均带权周转时间,通过排序比较各种调度算法的优劣。
总体设计
本程序主要分为四大模块:
创建进程:可以手动创建进程,用户可以自主决定进程的个数,并且在创建进程时自主决定进程名,进程的创建时间以及执行时间。
几种不同的调度算法:分别是先来先服务调度算法,短作业优先调度和高响应比调度算法。
显示结果函数:在各个调度算法中,每一步执行完后都会以表格的形式显示出进程的信息,包括:进程名,创建时间,服务时间,开始执行时间,完成时间,周转时间,带权周转时间。
比较各算法的优劣:对平均周转时间和平均带权周转时间按照由小到大的顺序进行排序比较。
结构图如下:
基于linux的进程调度算法
基于linux的进程调度算法
三种调度
算法
显示结果
先来先服务
FCFS
短作业优先
SJF
高响应比调度
HHRN
存放PCB信息结构体数组
录入PCB信息
比较各算法的优劣
程序中采用结构体来存储进程信息,其中包括:进程名,进程的创建时间,服务时间,执行时间,完成时间,周转时间,带权周转时间,等待时间,优先权,时候完成等,各个进程共同组成一个结构体数组。数据结构如下:
struct Pro//进程调度信息结构体
{
char name;//进程名
float creat_time;//创建时间
float serve_time;//服务时间
float excute_time;//执行时间
float finish_time;//完成时间
float zhou_time;//周转时间
float d_time;//带权周转时间
float wait_time;//等待时间
float priority;//优先权
int finish;//是否已经完成
};
3.详细设计
先来先服务调度算法:当在进程调度算法中采用该算法时,每次调度都是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行,该进程一直到运行完成或是发生某时间而阻塞后才放弃处理机。
核心代码:
int Input(struct Pro a[])//输入函数
{
int n,i;
printf(输入要创建的进程个数:);
scanf(%d,n);
printf(输入进程名、开始时间和服务时间:\n);
getchar();
for(i=0;in;i++)
{
scanf(%c %f %f,a[i].name,a[i].creat_time,a[i].serve_time);
getchar();
a[i].d_time=0;
a[i].finish_time=0;
}
return n;
}
void compare() //比较函数
{
float temp;
if(fsss)
{
temp=fs;
fs=ss;
ss=temp;
}
if(fshs)
{
temp=fs;
fs=hs;
hs=temp;
}
if(sshs)
{
temp=ss;
ss=hs;
hs=temp;
}
printf(平均周转时间由小到大以此为: %8.2f %3.2f %3.2f\n,fs,ss,hs);
if(ftst)
{
temp=ft;
ft=st;
st=temp;
}
if(ftht)
{
t
您可能关注的文档
- 报废汽车材料分类与利用7zqpfavw.ppt
- 抽黄灌溉泵站更新改造工程可行性研究报告gu43b6ra.doc
- 护理质量持续改进探讨2wkg6ekf.ppt
- 担保公司担保贷款风险管理问题探讨mxktl9ib.doc
- 担保项目评审意见书mbo8ic2j.doc
- 抽黄大型灌溉泵站更新改造工程项目可行性研究报告zghbvrd4.doc
- 拉丝及绞线工艺学oywbdkvi.doc
- 拆除及恢复工程施工组织方案riyt3bgu.doc
- 拆除及恢复工程施工组织方案解析ndtqrrdr.doc
- 拉斐特西餐厅岗位职责naetczrn.doc
- 部编版六年级语文上册《盼》教案(含设计意图).docx
- 部编版道德与法治六年级上册第6课人大代表为人民教案表格教案.docx
- 部编版高一上册语文第八课《琵琶行并序》课文原文、教案及知识点.docx
- 部编版七年级历史上册第2课《原始农耕生活》优质教案.docx
- 部编版七年级上册语文《古代诗歌四首》教学设计.docx
- 部编新版必修上册第五单元《乡土中国》整本书阅读教学设计四:研读指导.docx
- 部编教材七年级语文下册课内重点文言文第24课《河中石兽》(知识点+复习题).docx
- 部编版道德与法治初中八年级上册第三单元知识点梳理+单元同步检测题(含答案).docx
- 彩铅绘画技法大全,让你成为彩铅高手.docx
- 采购员个人简历模板.docx
文档评论(0)