进程调度算法模拟

进程调度算法模拟

ID:6745557

大小:343.50 KB

页数:14页

时间:2018-01-24

进程调度算法模拟_第1页
进程调度算法模拟_第2页
进程调度算法模拟_第3页
进程调度算法模拟_第4页
进程调度算法模拟_第5页
资源描述:

《进程调度算法模拟》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、作业调度及进程调度的非剥夺式算法模拟(FCFS,SJF)目录一、设计目的、意义和背景----------------------------------2二、设计思想及详细设计过程-------------------------------3三、作品测试结果-----------------------------------------------10四、问题与总结--------------------------------------------------13五、系统说明--------

2、----------------------------------------------13六、自我评价------------------------------------------------------14作者:梁诚磊作业调度及进程调度的非剥夺式算法模拟(FCFS,SJF)一、设计目的、意义和背景设计目的:本学期,我们所学习的操作系统课程中有讲到进程的执行过程,需经过进入辅存和作业调度和进程调度三个过程,为了加深自己的理解,巩固操作系统的相关知识,也更好的理解计算机的进程执行原理,所以

3、决定开发这个作业调度及进程调度的非剥夺式算法模拟(FCFS,SJF)的程序。意义:通过算法和调度过程的代码实现,能更直观的感受作业调度和进程调度的过程,对操作系统的执行过程有更深的理解。背景:后备队列(辅存)主存CPU预输入(进程创建)循环执行(开始——预输入完成——创建进程——进入辅存——通过算法选择——进入主存——通过算法选择——进入CPU执行——结束)一、设计思想及详细设计过程设计思想:该程序完全由本人完成,包括6个类:cProcess(进程类)封装进程的信息cOperatorSystem(操

4、作系统类)可直接对cProcesscAssistantStorage,cMemory,cCPU操作。cMemorizer(存储设备)是cAssistantStorage和cMemory的超类。cAssistantStorage(辅存类),进程创建之后储存的地方。cMemory(内存类),实现作业调度,使进程成为就绪态,因为本程序为非剥夺式算法的模拟,所以等待态和挂起态忽略,以最简洁的方式体现非剥夺式算法的模拟过程。cCPU(CPU类).执行一个进程。本程序根据模拟的真实性,分为三大模块:1、用户操作

5、模块用户创建一个或多个进程,进程的ID,State,Time随机产生,状态预先认为(1正常2就绪3等待4挂起),MessageTime为0,然后交给操作系统执行。2、操作系统模块操作系统把创建的进程临时保存在辅存设备上,当内存有空余位置时,通过先来先服务(FCFS)算法,选中辅存中的程序加入内存,再通过最短执行时间(SJF)算法,选中一个进程到CPU中执行,如此循环,直到创建的进程全部被执行完毕。操作系统类添加进程运行进程3、设备执行模块辅存设置有5个位置,内存有3个位置,CPU对加入的进程执行自身

6、所拥有的操作。存储设备类(基类)辅存类(子类)内存类(子类)特别说明:1、由于本程序是针对非剥夺式算法的操作系统对进程的执行过程,所以在cProcess所包含的状态字段暂时不用到,因为一但产生进程进入辅存,就为正常状态,进入内存则为就绪态,省略了等待态和挂起状态,但为了扩展的方便,保留此字段。2、本程序特别体现了C++的多态性和面向对象的特点cOperatorSystem调用cMemorizer,程序会根据cMemorizer具体指向的子类,执行相应设备的操作。一、作品测试结果以下用于查看辅存和内存

7、的进程情况刚开始创建5个进程当辅存和内存中没有进程的时候结束。一、问题与总结问题与解决:刚开始不能实现算法的动态调用,如果是静态调用,代码会冗余,后来根据C++具有的多态特点,实现了算法的动态调用,减少了代码量,并提高了程序运行效率。尚存在的问题:也许在执行过程中因输入的不同会偶尔出现BUG,但具体问题不大。总结与体会:该程序的最大亮点是运用了C++的多态性解决了存在的问题,加深了自己对C++的理解,也巩固了操作系统的理论知识。二、系统说明包括3点内容要写清楚:1、所需的运行环境运行环境:Windo

8、ws开发工具:Visualstudio20052、可运行的程序(系统)的具体安装及设置过程编译产生的Exam.exe可直接运行3、参考书籍:程序设计基础(第2版)清华大学出版社吴文虎操作系统教程(第4版)高等教育出版社孙钟秀一、自我评价1、难度评分:本程序难度不太大,主要是结构的设计。所以评分为80。2、创新程度:本程序特色是运用了C++的多态性,简洁的流程设计,评分为85。1、自我评分:程序整体性良好,流程简洁,对类的封装符合逻辑,运用到C++的优良特性,评分85。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。