操作系统课程设计动态优先权算法模拟.docx
- 文档编号:9124507
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:33
- 大小:222.69KB
操作系统课程设计动态优先权算法模拟.docx
《操作系统课程设计动态优先权算法模拟.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计动态优先权算法模拟.docx(33页珍藏版)》请在冰豆网上搜索。
操作系统课程设计动态优先权算法模拟
操作系统课程设计
设计题目动态优先权算法模拟
专业名称
计算机科学与技术
班级学号
学生姓名
指导教师
设计时间
2015.01.02—2015.01.15
课程设计任务书
专业:
计算机科学与技术学号:
学生姓名:
设计题目:
必做题目:
动态优先权算法模拟
选做题目:
Linux内核分析
一、设计实验条件
实验地点:
综合楼808
语言环境:
C语言
二、设计任务及要求
必做:
模拟单处理机环境下的进程调度模型,调度采用基于动态优先权的调度法。
选做:
对Linux操作系统的处理机管理、存储器管理、文件管理、设备管理中一个或几个功能进行较全面系统分析,分析内容包括设计实现原理、典型算法、主要实现函数,分析内容写入综述报告,报告内容还要包括函数间调用关系图、功能模块图、系统主要流程图。
三、设计报告的内容
1.设计题目与设计任务
必做题目:
设计题目:
动态优先权算法模拟
设计任务:
模拟单处理机环境下的进程调度模型,调度采用基于动态优先权的调度算法。
选做题目:
设计题目:
Linux内核分析
设计任务:
对Linux操作系统的处理机管理、存储器管理、文件管理、设备管理中一个或几个功能进行较全面系统分析,分析内容包括设计实现原理、典型算法、主要实现函数,分析内容写入综述报告,报告内容还要包括函数间调用关系图、功能模块图、系统主要流程图。
2.前言(绪论)
通过小组一起合作进行操作系统课程设计,让大家对操作系统的知识学习可以更深入的理解。
通过小组讨论设计方案,让大家学会了团队合作的重要性,并且通过上机实践,给提高大家上机编程实践能力的一个提供一个很好的机会。
在操作系统中调度算法的实质是一种资源的分配,因而调度算法是指“根据系统资源分配策略所规定的资源分配算法”。
对于不同的操作系统和系统目标,通常采用不同的调度算法。
为了照顾紧迫作业,使之在进入系统后便获得优先处理,引入了最高优先权先调度算法。
在作为进程调度算法时,该算法是把处理机分配给就绪队列优先权最高的进程。
这可以分为抢占式优先权算法和非抢占式优先权算法。
对于最高优先权优先调度算法,其关键在于:
它是使用静态优先权还是动态优先权,以及如何确定进程的优先权。
本次课程设计所实现的算法就是动态优先权算法的抢占式优先权调度算法和非抢占式动态优先权算法。
而在Linux内核分析中大家针对操作系统的几个主要功能分工合作,查阅资料,画图整理,进行汇总,使得大家对Linux内核都有了全面系统的认识。
3.设计主体(各部分设计内容、分析、结论等)
3.1.必做题:
动态优先权算法模拟
【设计内容】
动态优先权是指在创建进程之初,先赋予其一个优先级,然后其随进程的推进或等待时间的增加而改变,以获得更好的调度性能。
非抢占式优先权调度算法。
在这种方式下,系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成;或因发生某事件使该进程放弃处理机时,系统方可再将处理机重新分配给另一优先权最高的进程。
抢占式优先权算法。
系统同样把处理机分配给优先权最高的进程,使之执行。
但在其执行期间,只要又出现了另一个优先权更高的进程,进程调度程序就立即停止当前进程的执行,重新将进程分配给优先权最高的进程。
【算法分析】
模拟动态优先权算法,在主函数中选择采用抢占式进程调度算法还是非抢占式进程调度算法,进而调用对应的函数完成模拟。
设置进程结构体,
structPROCESS
{
intid;//进程id
doubleresponse_rate;//优先权
intcputime;//要求服务时间
intwaittime;//等待时间
intendtime;//进程完成时间,未完成时标记-1
intSTATE;//进程当前状态
};
记录完成的进程id,使用数组pro_list[10]
功能函数
display()打印各进程当前状态
init()初始化进程状态
change()抢占式调度算法进程状态更新
no_change()非抢占式调度算法进程状态更新
函数调用顺序如图1:
图1函数调用顺序图
【代码实现】
#include
#include
#include
#include
usingnamespacestd;
#definenum6
#defineRUN1
#defineREADY0
#defineRUNOUT-1
inttime=0;
structPROCESS
{
intid;
doubleresponse_rate;
intcputime;
intwaittime;
intendtime;
intSTATE;
}pro[10];
intpro_list[10],q=0;
voiddisplay()
{
cout<<"Time:
"<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 动态 优先权 算法 模拟