版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上中国地质大学(北京)操作系统原理实习报告实习题目: 1、 2、 实习人员: 学号 姓名(组长) 学号 姓名 专心-专注-专业一、题目分析在批处理系统中,短作业优先算法是一种比较好的算法,其主要的不足之处是长作业的运行得不到保证。于是我们想到了一种办法解决这个问题,就是引用动态优先权、并使作业的优先级随着等待时间的增加而以速率a提高,长作业在等待一定的时间后,必然有机会分配到处理机,这样长作业也得到了运行。设计并实现一个采用高响应比算法的进程调度演示程序,响应比 R 定义如下:RWT/T1W/T 其中 T 为该作业估计需要的执行时间, 为作业在后备状态队列中的等待时 W
2、间。 每当要进行作业调度时,系统计算每个作业的响应比,选择其中 R最大者投入执行。这样,即使是长作业,随着它等待时间的增加,W/T 也就随着增加,也就有机会获得调度执行。 这种算法是介于 FCFS 和 SJF 之间的一种折中算法。由于长作业也有机会投入运行,在同一时间内处理的作业数显然要少于SJF 法,从而采用 HRRN 方式时其吞吐量将小于采用 SJF 法时的吞吐量。另外,由于每次调度前要计算响应比,系统开销也要相应增加。二、数据结构结构体数组pathk 实现对进程响应比的计算 Pathmax 实现对进程响应比的排序 Pathii 实现程序的各阶段运行状况的输出三、算法流程图程序设计流程图开
3、始读取进程判断进程是否进入内存对响应比排序高的进程先运行等待结束是是高响应比函数执行过程流程图开 始 当前作业为依编号找到的第一个还未执行的作业 当前作业是最后一个作业 当前作业和下一个还没执行的作业比较 当前作业在上次作业被执行完之前到达 同时到达 当前作业取较早达到且响应比较高的一个 当前作业取较早到达的一个 当前作业取相应比较高的一个 返回这一次要执行的作业四、重难点分析计算每一个进程的动态优先权,需要在每执行一个进程之后计算一遍未执行进程的优先权,从中选出优先权最高的一个执行。五、运行测试(截图)六、分工编码 :实验报告: 七、总结本次演算实验主要对最高响应比算法的理解和对进程调度的功
4、能以及进程调度算法有了深入的理解。在这次的课程设计中,计算每一个进程的动态优先权,需要在每执行一个进程之后计算一遍未执行进程的优先权,从中选出优先权最高的一个执行,因为疏忽导致了响应比的计算错误,从而加大了完成代码的时间量。对于这次出现的这个问题,使我有了对程序设计的严谨性,课本基础知识的理解程度上有了更深刻的认识,也让我明白到了基础知识的重要性。完成此次课程实际之后,我对进程调度模拟设计的各种算法有了更进一步的理解,在编写程序中所遇到的问题让我有了对操作系统有了迫切要更深层次的掌握,并且感受到操作系统这门课程实在是很重要的一门课程。通过本次实验对用高响应比算法的优先调度算法有了更深入的理解和
5、掌握,进一步巩固和复习操作系统的基础知识,更进一步的了解了结构化模块化程序设计的方法,提高了调试程序的技巧。八、附件:源代码#include <iostream>#include <cstring>#include <algorithm>#define MAXN 1500using namespace std;struct node bool vis;/是否已执行 char name;/进程名称 int come;/到达时间 int ser;/服务时间 int st;/开始时间 int end;/结束时间 int zhouzhuan;/周转时间 double
6、 right, youxianji;/带全周转时间,动态优先权, pathMAXN;int main() int n; int ansMAXN; cout << "请输入进程的数目: " cin >> n; cout << "请依次输入每个进程的名字、到达时间、服务时间: " << endl; for(int i = 0; i < n; +i) cin >> >> e >> pathi.ser; pathi.vis = fal
7、se; double sum = 0; int inde = 0; int now = 0; for(int i = 0; i < n; +i) int j; for(j = 0; j < n; +j) if(e > now && pathj.vis = false) break; double MAX = -9999; int max; for(int k = 0; k < j; +k) if(pathk.vis = false) pathk.youxianji = (now - e + pathk.ser)/(1.
8、0 * pathk.ser); if(MAX < pathk.youxianji) MAX = pathk.youxianji; max = k; pathmax.st = now; now += pathmax.ser; pathmax.end = now; pathmax.zhouzhuan = (pathmax.end - e); pathmax.right = (pathmax.zhouzhuan*1.0/ pathmax.ser); ansinde+ = max; pathmax.vis = true; cout << "进程 开始时间 结束时间 周转时间 带权周转时间" << endl; for(int i = 0; i < n; +i) sum += pathi.right; cout << << " " << pathi.st << " " << pathi.end << " " <<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026医疗旅游产品开发合同
- 二手车音响检测评估合同
- 2026中国便利店数字化转型实践及供应链优化与坪效提升分析报告
- 2026AR互动玩具行业发展预测及投资策略分析
- 2025年度全球供应链调查报告:阴霾中寻找曙-
- 智能家居协议标准统一与互联互通解决方案报告
- 2026年特岗教师心理学试题及答案
- 2025-2030年全营养代餐粉系列行业深度调研及发展战略咨询报告
- 休克护理:危重患者的管理
- 深覆盖层地基面板堆石坝趾板与防渗墙连接方式的关键技术与应用研究
- 高校快递包装物回收情况与应对策略
- XJJ 077-2017 高性能混凝土应用技术规程
- 一片叶子的奥秘科学课件
- 重庆特产课件
- 医师责任保险制度:现状、问题与发展路径探析
- 病区临床护理技术操作常见并发症考题(有答案)
- 党建专员面试题目及答案
- 2023版水利工程强条
- 军品科研生产管理制度
- 麻醉科三基三严考试试题及答案
- Amfori BSCI社会责任验厂全套管理手册及程序文件
评论
0/150
提交评论