




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州轻工业学院本科本科 实验报告实验报告 设计题目设计题目 实现 FPF 和 RR 调度算法 学生姓名 学生姓名 李洋 系系 别 别 计算机与通信工程学院 专专 业 业 网络运维 班班 级 级 13 03 学学 号 号 521507110314 指导教师 指导教师 吴庆岗 2015 年 11 月 18 日 一 实验目的一 实验目的 编写程序 实现 FPF 和 RR 算法 模拟进程调度过程 加深对作 业调度的理解 二 实验内容二 实验内容 实现 FPF 和 RR 调度算法 数据结构设计 PCB 进程就绪队列 算法实现与模拟 排序 调度 输出调度结果 展示调度过程并解释 三 实验要求三 实验要求 1 设计进程控制块 PCB 的数据结构 应包含实验必须的数据项 如进程 ID 需要的服务时 间 进入系统时间 完成时间 周转时间 优先权 进程状态 R 运行 W 等待 以及实验者认为有必 要的其他数据项 2 实现排序算法 将就绪队列中的进程排序 RR 只需在开始时排序 按 FCFS 策略将进程依次插 入就绪队列 开始运行后不再需要排序 按 RR 策略将 每一个刚刚运行完一个时间片的进程插入到队尾 FPF 每次调度前排序 按计算所得的动态优先权排成 有序队列 最高优先权排进程在队首 优先权相同的 进程按 FCFS 策略排队 3 实现 RR 调度过程模拟 每个进程用一个 PCB 表示 按 FCFS 策略排成就绪队列 按照固定的周期循环调度 选择队首的进程 将其从就绪队列移出 修改其状态 为 R 经过一个时间片 如果正在执行的进程没有执行完 修改其状态为 W 插入到就绪队列尾部 如果执行完毕 计算其周转时间 进行下一次调度 去往第 步 直到就绪队列为空 4 实现 FPF 调度过程模拟 每个进程用一个 PCB 表示 计算动态优先权 按优先权高低排入就绪队列 如果 相同 则按 FCFS 排队 系统开始时调度 每个进程结 束时进行调度 选择队首的作业 将其从后备队列移出 计算选中作业的周转时间 进程运行过程 在本实验 中 无需实现 可认为就绪队列上的进程一但被调度 程序选出 就顺利运行结束 进行下一次调度 去往第 步 5 实现结果输出 输出进程状态表 展示调度过程 初始进程状态 未调度时 每次调度后的进程状态 6 撰写实验报告 包含实验要求中 1 4 项内容 要求有设计图 结构图 流程图 和源代码 注明使用的编程语言和环境 注意事项 实验中注重实现算法本质 高优先权优先 FPF 时间片轮转 RR 两个算法可以选做一个 量力而行 鼓励多做 FPF 算法也适用于作业调度 关于作业调度和进程调度的区别 只要求概念上理解清楚 不要求实现 include include struct PCB char p name 20 int p priority int p needTime int p runTime char p state struct PCB next void HighPriority void RoundRobin void Information char Choice struct PCB SortList PCB HL int main Information char choice Choice switch choice case 1 system cls HighPriority break default break system pause return 0 void Information printf 按回车键进入演示程序 getchar system cls char Choice printf n n printf 1 演示最高优先数优先算 法 printf 按 1 继续 char ch getchar return ch system cls void HighPriority struct PCB processes pt pt 作为临时节点来创建链表 使用 for 语句 限制进程数 为 5 个 processes pt struct PCB malloc sizeof struct PCB for int i 0 i 5 i struct PCB p struct PCB malloc sizeof struct PCB printf 进程号 No d n i printf 输入进程名 scanf s p p name printf 输入进程优先数 scanf d printf 输入进程运行时间 scanf d p p runTime 0 p p state W p next NULL pt next p pt p printf n n getchar 接受回车 processes 作为头结点来存储链表 processes processes next int cases 0 struct PCB psorted processes while 1 cases pt processes 对链表按照优先数排序 psorted 用来存放排序后的链表 psorted SortList psorted printf The execute number d n n cases printf 当前正在运行的进程是 s n psorted p name psorted p state R printf qname state super ndtime runtime n printf s t c t d t d t d t n n psorted p name psorted p state psorted p priority psorted p needTime psorted p runTime pt p state W psorted p runTime psorted p priority printf 当前就绪状态的队列为 n n pt 指向已经排序的队列 pt psorted next while pt NULL printf qname state super ndtime runtime n printf s t c t d t d t d t n n pt p name pt p state pt p priority pt p needTime pt p runTime pt pt next pt 指向已经排序的链表 判断链表是否有已用时间啊 等于需要时间的 pt psorted struct PCB ap ap NULL ap 指向 pt 的前一个节点 while pt NULL if pt p needTime pt p runTime if ap NULL pt psorted next psorted pt else ap next pt next ap pt pt pt next if psorted next NULL break getchar struct PCB SortList PCB HL struct PCB SL SL struct PCB malloc sizeof struct PCB SL NULL struct PCB r HL while r NULL struct PCB t r next struct PCB c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 集安市2025-2026学年九年级下学期语文月考测试试卷
- 高速铁路行车安全课件
- 高速铁路工务安全课件
- 电脑知识培训技术课程课件
- 建设工程涉及土地利用总体规划修改服务合同
- 电脑打开课件显示问题
- qe考试题及答案
- 电磁学知识培训心得总结
- 电焊知识点培训总结课件
- 电焊班基础知识培训课件
- 公共基础知识试题(附答案)
- 人教版物理九年级全一册16.1《电压》听评课记录
- 2025年湖北省中考语文真题(含答案)
- (2025年标准)被迫堕胎补偿协议书
- 2025年四川三支一扶考试公共基础知识试卷
- 咸阳赤壁市事业单位招聘笔试真题2024
- 战术基础动作低姿匍匐
- 2025年公文核改竞赛试题及答案
- 2025年秋季学期开学第一次中层班子会上校长精彩讲话:向小处看往实里干朝远处谋
- 下肢开放性损伤课件
- 有机硅行业面试攻略:高级岗位面试题库
评论
0/150
提交评论