《操作系统原理》课程设计报告.docxVIP

  • 2
  • 0
  • 约5.5千字
  • 约 13页
  • 2020-12-03 发布于山东
  • 举报
下载可编辑 《操作系统原理》 课程设计报告书 题 目:进程控制模块的设计与实现 专 业: 网络工程 学 号: 131007111 学生姓名: 李亚豪 指导教师: 刘双红 完成日期: 2015-12-05 .专业 .整理 . 下载可编辑 目录 第 1 章 课题概述 3 1.1 设计要求 . 3 1.2 设计理论依据 . 3 第 2 章 设计简介和内容 6 2.1 设计简介 6 2.2 设计内容 6 第 3章 详细设计 3.1 设计流程图 . 7 3.2 主要程序代码 . 9 第 4 章 设计结果及分析 10 4.1 运行结果截图 . 10 4.2 运行结果分析 . 错误 ! 未定义书签。 总结 15 .专业 .整理 . 下载可编辑 第1章课题描述 1.1 设计要求 叙述要详细。 要有条理。 各个功能分开阐述。 自己可以增加题目要求的功能模块。 可以增加自己对题目的理解。 1.2 设计理论依据 根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算 法,从外存的后备队列中选取某些作业调入内存, 并为它们创建进程、 分配必要的资源。 短 作业优先调度算法,从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。 第 2 章 设计简介和内容 2.1 设计简介 在多道程序环境下,将系统中的作业组织起来,为每个进入系统的作业建立档案以记录 和作业相关的信息, 按要求输入作业名、 到达时间和服务时间, 并为其建立作业控制块 ( JCB) 挂入后备队列。进行作业调度时,在其后计算出各个作业的开始执行时间、完成时间、周转 时间和平均周转时间, 利用短作业优先算法进行作业调度, 并按照由小到大的顺序显示出来。 2.2 设计内容 1)编写程序完成批处理系统中的作业调度,要求采用短作业优先的作业调度算 法。实 验具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所作工作进程测试。 2 )创建作业控制块 JCB,定义为结构体,为进入系统的作业建立档案,其中定 义了作 业名,作业到达时间,作业服务时间,作业开始执行时间,作业完成时间,作业周转时间,作业平均周转时间。 3 )首先按各个作业完成时间由小到大排序。 再用输入的到达时间与服务时间按一定算法算出各个作业的开始执行时间、完成时间、周转时间和作业平均周转时间。 .专业 .整理 . 下载可编辑 第 3章详细设计 3.1 设计流程图 开始 输出提示,输入处理进程数目,输入各进 程名字,到达时间、服务时间。 计算各个进程的开始执行时间,完成时间, 周转时间,平均周转时间。 后备队列是否为空 是 否 进入进程比较 否 进程:完成时间 作业 i+1 完成 时间 是 按完成时间由小到大输出结果,并由小到大输出作业名, 作业到达时间, 作业服务时间, 作业开始执行时间, 作业完成时间,作业周转时间,作业平均周转时间 结束 .专业 .整理 . 下载可编辑 3.2 主要代码 789.cpp : Defines the entry point for the console application. #include stdafx.h #includestdio.h #includeconio.h #includewindows.h #define MAX 100 // 最多能管理的作业数目 struct jcb // 作业控制块 JCB,定义为结构体 { char name[10]; // 作业名 float arrivetime; // 作业到达时间 float servicetime;// 作业服务时间 float starttime; // 作业开始执行时间 float finishtime; // 作业完成时间 float zztime; // 作业周转时间 float avezztime; // 作业平均周转时间 }; jcb a[MAX]; void input(jcb *p,int N) { int i; printf( 请分别输入 :\n\t 作业名 , 到达时间 , 服务时间 ( 如:JOB1 5 10)\n\n); for(i=0;i=N-1;i++) { printf( 请输入第 %d个作业信息 :,i+1); scanf(%s%f%f,p[i].name,p[i].arrivetime,p[i].servicetime); printf(\n); } } void Print(jcb *p,float arrivetime,float servicetime,float starttime,float finishtime,float zztime,float avezztime,int N) { int k; .

文档评论(0)

1亿VIP精品文档

相关文档