操作系统程序调度课程设计报告.doc_第1页
操作系统程序调度课程设计报告.doc_第2页
操作系统程序调度课程设计报告.doc_第3页
操作系统程序调度课程设计报告.doc_第4页
操作系统程序调度课程设计报告.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计 报 告 课程名称课程名称 操作系统操作系统 课题名称课题名称 作业调度模拟作业调度模拟 专专 业业 通信工程通信工程 班班 级级 通信工程通信工程 学学 号号 姓姓 名名 指导教师指导教师 罗雅博罗雅博 黄哲黄哲 胡倩胡倩 2012 年年 6 月月 29 日日 湖南工程学院 课 程 设 计 任 务 书 课程名称 操作系统 课 题 作业调度模拟 专业班级 学生姓名 学 号 指导老师 罗雅博 黄哲 胡倩 审 批 任务书下达日期 2012 年 6 月 24 日 任务完成日期 2012 年 6 月 29 日 20092009 级通信工程专业级通信工程专业 操作系统操作系统课程设计任务书课程设计任务书 一、课程设计的性质与目的一、课程设计的性质与目的 操作系统课程设计是集中实践性环节之一,是学习完操作系统课程后进行的 一次全面的综合练习。要求学生达到熟练掌握操作系统的基本理论知识;掌握不同的 调度算法;能够利用所学的基本编程知识,实现课程章节中涉及到的一些基本算法, 从而加深理论知识的理解。 二、二、 设计要求设计要求 1 要求利用高级程序设计语言编程完成相关算法; 2 程序具有清晰易懂的界面,有图形界面更佳; 3 程序具备要求的基本功能模块; 4 最终结果是能够运行的完整程序; 5 最后给出课程设计报告 三、课程设计报告要求三、课程设计报告要求 1 统一封面(本任务书附带) 、设计题目、设计要求以及系统功能需求分析; 2 总体设计:包括系统总体设计框架和系统功能模块图; 3 详细设计。包括主要功能模块的算法设计思路以及对应的工作流程图; 4 主要源程序代码,并附有注释; 5 总结。包括课程设计过程中的学习体会与收获、对操作系统和本次课程设计的 认 识等内容。 6 附录(完整源程序清单):可以是手写或打印稿(注意:不能和其他同学一样) 7 报告最后附上评分表(见任务书末页) 四、检查要求:四、检查要求: 1 每个人至少选作一题,学号末尾 2 位对 5 取余,余数对应的题号就是每个人必 做题。必须有可运行的程序,每个人要通过答辩; 2 每个人必须交操作系统课程设计报告 (打印稿) 五、评分五、评分 1 根据平时上机考勤,且每个人必须自己动手编写程序,不得抄袭; 2 根据程序运行结果; 3 学生能熟练地解释清楚指导老师对自己程序的提问; 4 课程设计报告完成的质量和规范; 六、时间、地点安排六、时间、地点安排 日期日期 6.256.256.276.276.286.28 时间时间 8:00-12:008:00-12:008:00-12:008:00-12:008:00-12:008:00-12:00 地点地点 e511e511 e511e511 七、课程设计题目七、课程设计题目 0.0. 进程调度算法的设计进程调度算法的设计 设计要求:设计要求: a.设计进程控制块 pcb 表结构,分别适用于优先数调度算法和循环轮转调度算法。 b.建立进程就绪队列。对两种不同算法编制入链子程序。 c.编制两种进程调度算法:1)优先数调度;2)循环轮转调度 1. 银行家算法设计银行家算法设计 设计要求:设计要求:编制银行家算法通用程序,并检测所给状态的系统安全性。 2 2题目:题目:页面置换算法模拟设计 设计要求:设计要求:计算并输出下述各种算法在不同内存容量下的命中率。 a.fifo 先进先出的算法 b.lrr 最近最少使用算法 c.opt 最佳淘汰算法(先淘汰最不常用的页地址) d.lfr 最少访问页面算法 e.nur 最近最不经常使用算法 3 3题目:可变内存管理模拟题目:可变内存管理模拟 设计要求:设计要求: a.功能:内存初始化;分配作业内存;回收内存;显示作业列表;显示空闲内存。 b.编制两种内存分配算法:1)最佳适应算法;2)最坏适应算法。 4题目:作业调度模拟题目:作业调度模拟 设计要求:设计要求: a.加深对作业概念地理解。 b.掌握短作业优先调度算法。 c.深入了解批处理系统如何组织作业、管理作业和调度作业。 d.了解作业控制块的作用,以及作业控制块的内容和组织方式。 1 目 录 一、系统功能需求分析.1 二、总体设计.1 三、详细设计.3 1、数据结构.3 2、输入模块.3 3、随机产生作业到达时间和服务时间模块.4 4、计算模块.4 5、输出模块.5 四、运行结果.5 1、欢迎界面.5 2、输入作业数,各作业名.5 3、运行结果.5 五、总结.6 六、源程序代码.6 1 一、系统功能需求分析一、系统功能需求分析 调度算法是指根据系统的分配策略所规定的资源分配算法,在批处理系统中, 为看照顾为数众多的短作业,应采用短作业优先的调度算法。作业可被看做是用 户向计算机提交任务的任务实体。一个作业被提交后必须经过处理机调度后,方 能获得处理机执行。对于批量型作业而言,通常需要经历作业调度和进程调度两 个过程后方能获得处理机。 短作业优先的调度算法是从后备队列中选择一个或者若干个估计运行时间 最短的作业,将它们调入内存运行。本次设计就是模拟作业调度和短作业优先的 设计。批处理多道操作系统的作业管理有两个任务:作业调度和作业控制。采用 多道程序设计方法的操作系统,在系统中要经常保留多个运行的作业,以提高系 统效率。 二、总体设计二、总体设计 系统主要模块有:输入模块,随机产生作业到达时间和服务时间模块,计算模块,比 较模块,输出模块。 其功能模块图为: 输入模块 随机产生作业到达时 间和服务时间模块 计算模块 比较模块 输出模块 图一 2 系统设计流程图: 提示输入作业数目 开始 所输数目大于最大数 是 由随机函数随机产生各作业 到达时间和作业服务时间 提示输入各作业名 否 计算各个作业的作业开始执行时间,作业 完成时间,作业周转时间,作业平均周转 时间 后备队列是否为空 作业比较 否 作业 i 完成时间 #include #include #include #include #define max 100 /最多能管理的作业数目 struct jcb /作业控制块 jcb,定义为结构体 char name10; /作业名 float arrivetime; /作业到达时间 float servicetime;/作业服务时间 float starttime; /作业开始执行时间 float finishtime; /作业完成时间 float cyctime; /作业周转时间 float avecyctime; /作业平均周转时间 ; jcb amax; void input(jcb *p,int n) 7 int i; printf(“请分别输入:t 作业名(如:job1 )nn“); for(i=0;i%s“,); printf(“nn“); printf(“ttt 则作业信息如下:n“); printf(“nnametarrivetservicetstarttfinishtcyctavecycn“); for(k=0;kmax) printf(“t!输入的作业数目太大,请输入不大于%d 的整数n“,max); 10 printf(“按 q 或者 q 退出程序,按其他任意键继续测试.“); ch = getch(); if(ch=q|ch=q) break; else continue; input(a,n); jcb *b=a; jcbf(b,n); printf(“按 q 或者 q 退出程序,按其他任意键继续测试.“); ch = g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论