- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
綜合设计多进程并发与调度仿真环境
综合设计多进程并发与调度仿真环境
一、课程设计目的
进行操作系统课程设计主要是在学习操作系统课程的基础上,在完成操作系统各部分实验的基础上,对操作系统的整体进行一个模拟,通过实践加深对各个部分的管理功能的认识,还能进一步分析各个部分之间的联系,最后达到对完整系统的理解。同时,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。
二、课程设计内容
综合设计多进程并发与调度仿真环境,分析比较各种调度算法的性能。
三、系统分析与设计
1、系统分析: 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪状态进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验就这一问题给出了四种调度算法。分别为先来先服务、短作业优先、高优先权调度和时间片轮转算法。
2、系统设计:
(1)设计一个生成有几个互斥的待处理进程的主界面。
(2)再设计一个按钮可实现随机重新生成这几个进程的各种属性(这里用到了随机函数)
(3)再分别设置四个按钮分别用四个算法对上诉诸进程进行调度。
(4)对于上诉四个算法再分别为每种算法相应对应的对话框,用来加以区别和独立。
3、模块设计:
4、数据结构说明:
struct Process
{
CString Name ;
int ArriveTime;
int NeedTime ;
int RealTime ;
int FinishTime;
int Level ;
CString State ;
};
struct Queue
{
CString Name ;
int ArriveTime;
int NeedTime ;
int Level ;
CString State ;
};
5、算法流程图:
处理器调度算法流图如下:
模块调试与系统测试
1、模块调试:
输入的形式和输入值的范围
输出的形式
程序所能达到的功能
2、系统测试:
测试方法:
由于软件错误的复杂性,软件测试需要综合应用测试技术,软件测试步骤为单元测试、集成测试、确认测试和系统测试。 单元测试是对源程序中每一个程序单元进行测试,检查各个模块是否正确实现了规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计的文档。各模块经过单元测试后,将各模块组装起来进行集成测试,以检查与设计相关的软件体系结构的有关问题。确认测试主要检查已实现的软件是否满足需求规格说明书中确定的各种需求。系统测试将已确定的软件与其他系统元素(如硬件、其他支持软件、数据和人工等)结合在一起进行测试。
测试数据:
测试报告:
3、调试分析:
用户手册
(1)生成待处理进程界面:
(2)当点击重新生成按钮时,会发现随机的在待处理进程一栏中的各个列的内容发生了变化。
(3)执行先来先服务按钮,模拟之后界面:
程序清单
七、体会与自我评价 通过本次的课程设计,使我能够正确运用操作系统课程中所学的基本理论和知识,加深了对多用户文件系统基本概念的理解,以及二级目录的磁盘文件系统的文件操作,还有让我感受很深的是对C语言的应用,由于对C语言在平时运用的不够,在对C语言的使用尤其是在编写代码方面很欠缺,在组织语言时出错不断。在设计过程中,需要大量的相关资料,为了本次课程设计我在网上和图书馆查阅了大量资料,不断的发现问题、提出问题、解决问题。在编程和调试的过程中,经常会出现意想不到的问题,并非每个问题都可以从相关资料中找到解决方法,有些问题是无法预料到的,这就需要通过自己理性的分析得出问题的解决方案。在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识,同时在编程时用到了模块化的设计思想,这种编程方法可以使我们的编程变的更简单,可以使我们的查错与纠错变的更方便,总的来说通过这次的设计的学习使我学到了很多在平时的学习中学不到的很多东西,通过这次课程设计,使我对操作系统产生了极大的兴趣,我想我会在这条路上继续前进下去。我相信,只要不断的严格要求自己,注意培养自己的思维能力,就一定会有更大更辉煌的发展和提高。我还希望我们可以有更多这样的学习机会,使我们的知识体系变的更加牢固。
您可能关注的文档
最近下载
- 西门子840DSL报警导入模板.xls VIP
- 现代密码学(电子科大)中国大学MOOC慕课 章节测验期末考试客观题答案.pdf VIP
- TOTO东陶诺锐斯特TCF9898&9788WCS使用说明书.pdf
- 红警2共和国之辉rules.ini修改菜鸟教程.docx VIP
- 人教B版高中数学必修一全册教学课件.pptx
- 工程售后服务承诺书15篇.docx VIP
- 苏科版九年级物理电压和电压表的使用.pptx VIP
- 苏科物理九年级上册电流和电流表的使用课件.pptx VIP
- 蛇足石杉的孢子分析-特种植物育种与栽培专业论文.docx VIP
- 图形图像处理PhotoshopCC(电子商务专业)高职PPT完整全套教学课件.pptx VIP
文档评论(0)