广工操作系统课程设计报告文档最后含源码下载地址.doc

上传人:李司机 文档编号:1180767 上传时间:2022-07-15 格式:DOC 页数:4 大小:89.23KB
返回 下载 相关 举报
广工操作系统课程设计报告文档最后含源码下载地址.doc_第1页
第1页 / 共4页
广工操作系统课程设计报告文档最后含源码下载地址.doc_第2页
第2页 / 共4页
广工操作系统课程设计报告文档最后含源码下载地址.doc_第3页
第3页 / 共4页
广工操作系统课程设计报告文档最后含源码下载地址.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《广工操作系统课程设计报告文档最后含源码下载地址.doc》由会员分享,可在线阅读,更多相关《广工操作系统课程设计报告文档最后含源码下载地址.doc(4页珍藏版)》请在三一办公上搜索。

1、一、课程设计介绍设计模拟一个实现多道批处理系统的两级调度。通过具体的作业调度、进程调度、存分配等功能的实现,加深对多道批处理系统的两级调度模型和实现过程的理解。 作业从进入系统到最后完成,要经历两级调度:作业调度和进程调度。作业调度是高级调度,它的主要功能是根据一定的算法,从输入井中选中假设干个作业,分配必要的资源,如主存、外设等,为它们建立初始状态为就绪的作业进程。进程调度是低级调度,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。在本次课程设计中假定系统可供用户使用的主存空间共100KB,并有4台磁带机。主存分配采用可变分区分配方式且主存息不允许移动,对磁带机采用静态分配策

2、略,作业调度分别采用先来先效劳算法和最小作业优先算法,进程调度那么采用先来先效劳和最短进程优先算法。二、课程设计环境1. 计算机及操作系统:PC机,WindowsXP系统2. 程序设计使用工具:Microsoft VisualC+ 6.03. 程序设计语言:C语言三、 课程设计思想假定预输入程序已经把一批作业的信息存放在输入井了,并为它们建立了相应作业表。测试数据如下:作业到达时间 估计运行时间 存需要 磁带机需要JOB1 10:00 25分钟 15K 2台JOB2 10:20 30分钟 60K 1台JOB3 10:30 10分钟 50K 3台JOB4 10:35 20分钟 10K 2台JOB

3、5 10:40 15分钟 30K 2台本次课程设计采用的是两个作业调度算法:先来先效劳算法和短作业优先算法,两个进程调度算法:先来先效劳算法,短进程优先算法。系统根据所选算法组合对输入系统的作业进展两级调度(作业调度,进程调度)。分别在不同算法控制下运行设计的程序,依次显示被选中作业、存空闲区和磁带机的情况,输出不同算法作业的选中次序及作业平均周转时间。作业的数据初始化输入通过读取文件这种方式进展导入。系统运行是通过设置指针来循环运作。四、 系统构造说明系统的各个模块之间的关系如下:五、 数据构造说明1 定义一个显示时间的构造体,成员包括时、分struct timeint hour; /时in

4、t min; /分;2 建立作业控制块,具体成员如下所示:struct jcb char name10; /进程名 struct time arr_time; /到达时间 struct time ent_time; /进入存时间 struct time sta_time; /开场时间 struct time fin_time; /完毕时间int run_time; /估计运行时间 int tr_time; /周转时间 int men; /主存需要 int mac; /磁带机 int sta; /状态位 struct jcb* next;typedef struct jcb JCB;3 进程的构

5、造体,成员如下所示:struct link char name10; /进程名 struct time arr_time; /到达时间 struct time ent_time; /进入存时间 struct time sta_time; /开场时间 struct time fin_time; /完毕时间int run_time; /估计运行时间 int tr_time; /周转时间 int addr; /起始地址 int len; /分区大小 int mac; /磁带机 int state; /状态位,0为空闲,1为被使用 struct link *f; /前指针 struct link *b

6、; /后指针 ;六、 主要调度算法思想流程图1 整体算法流程图开场选择两级调度的方式JSJF&PSPFJSJF&PFCFSJFCFS&PSPFJFCFS&PFCFS为作业建立链表依据所选择的算法对链表进展排序作业调度依据所择算法进展进程调度释放并合并内存输出最终调度结果完毕2 实现代码详见CourseDesign.cpp七、 运行测试1. 测试数据(test.txt):进程名 到达 运行主存磁带机JOB110:0025152JOB210:2030601JOB310:3010503JOB410:3520102JOB510:40153022.程序界面1) 算法组合:JFCFS&PFCFS根据先来先

7、效劳,第一个进展调度的是JOB1,到达时间为10:00,运行时间为25分钟,周转时间为25分钟。为该作业分配存和磁带机,磁带机由4-2,运行后得到如下列图: 实际程序运行所得并不止以上数据,除此以外还有显示存情况的图表,这里只是为了分析清楚而把主要数据给出,具体数据可运行程序所得,下面分析和以上一样都做了简化。 第二个进展调度的是JOB2,到达时间为10:20,完成时间为10:55,周转时间为35分钟,分配存和磁带机,如下列图所示: 如此类推,最后得出所有作业的运行情况: 此时按回车键返回,重新选择新的算法组合,得到各算法组合的所有作业运行情况2) 算法组合:JFCFS&PSPF:3) 算法组

8、合:JSJF&PFCFS:4) 算法组合:JSJF&PSPF:得到四种组合的结果后,我们就可以来比拟一下四种方式下得到的平均周转时间,在选择调度方式时输入5,程序会运行得到四种方式下的作业运行情况和各自的平均周转时间。3 退出系统 回车,输入0完毕程序。八、 使用说明书1 运行程序,会显示用户界面,程序左下角会提示用户输入要进展模拟的文件名。假设输入错误,程序会出现错误提示,然后重新输入正确的文件名。2 输入文件名后,程序会显示文件容并提示点击任意键继续运行。3 选择进展调度的方式,分别对应1、2、3、4选项,5选项用来比拟四种调度方式的平均周转时间。0是完毕并退出程序。4 选择要进展的调度方

9、式后,程序自动模拟两级调度情况,显示当前系统时间、存分配、磁带机分配以及作业调度的情况。5 点击任意键,返回步骤3选择调度方式,如此类推。6 注:在显示存分配情况的图表中,#代表此时并无作业调进存,除了起始地址、状态、大小有数据之外,其余用0表示其他项并没有数据。九、 课程设计总结这次的课程设计容就是实验的前三个容的组合:进程调度,作业调度,存分配与回收。这三个容都充分地表达了计算机运行作业和程序的各个方面,从而表达了计算机的底层是如何实现进程和作业的分配和使用。其次,我觉得编程设计是学习软件工程必不可少的也是最重要的一个过程。通过对课程设计的实现,我学到了很多知识。原来,学语言是要打牢根底的。在课程设计的过程中我感觉到自己的语言知识还远远不够,就一个简单的课程设计也能把我搞得头晕。还有算法的根本思想是要靠平时的积累与体会才能提高的。看来以后要多多专研这方面。希望以后能有更多类似的课程设计,因为我觉得受益匪浅。源码下载地址:pan.baidu./s/1pK1HcMn

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号