




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东莞理工学院城市学院 计算机操作系统 课程设计 题题目 目 通用处理机调度演示程序通用处理机调度演示程序 专专业 业 软件工程软件工程 年年级 级 2012 级级 小组成员 小组成员 李伟强李伟强 廖泓燊廖泓燊 指导教师 指导教师 彭义春彭义春 老师老师 时时间 间 2014 12 10 2012 12 地地点 点 3B312 东莞理工学院城市学院计算机与信息科学系制东莞理工学院城市学院计算机与信息科学系制 2014 年年 12 月月 此次的课程设计所选的题目为此次的课程设计所选的题目为 通用处理机调度演示通用处理机调度演示 通过此次课设能够 通过此次课设能够 更加理解操作系统中处理机的工作方式 同时在设计不同算法的过程中 也可更加理解操作系统中处理机的工作方式 同时在设计不同算法的过程中 也可 以明确的知道各种调度算法的使用优劣 视不同的环境条件下 调用不同的算以明确的知道各种调度算法的使用优劣 视不同的环境条件下 调用不同的算 法可也达到比较想要的结果 法可也达到比较想要的结果 目录 1 概述概述 课程设计内容 设计目的 在多道程序和多任务系统中 系统内同时处于就绪状态的进程可能有若干 个 也就是能运行的进程数大于处理机个数 为了使系统中的进程有条不紊地工作 必须 选用某种调度策略 在一定的时机选择一个进程占有处理机 要求我们设计一个模拟处理 机调度算法 以巩固和加深处理机调度的概念 2 课程设计任务及要求课程设计任务及要求 2 1 设计任务设计任务 通用处理机调度演示系统 需要模拟进程调度的五种算法 先来先服务调度算法 短 作业优先调度算法 高响应比优先调度算法 时间片轮转调度算法 静态优先权优先调度 算法 时间片轮转算法 每个作业包括多个进程 进程可以并发 每一个进程用一个进程 类表示 进程类包含如下信息 PCB 名称 进入内存时间 服务时间 状态标志 进程大 小 内部 PCB 标志 进程的优先级 既可以用户自己输入相关进程 又可以读取外部文件 能够比较同一组数据在不同调度算法下的平均周转时间和平均带权周转时间 因为多数 信息需要在执行过程中进行数据处理和动态显示 要求直观而规范的呈现演示过程 2 2 设计要求设计要求 1 进程调度算法包括 时间片轮转算法 先来先服务算法 短作业优先算法 静态 优先权优先调度算法 高响应比调度算法 2 每一个进程有一个 PCB 其内容可以根据具体情况设定 3 进程数 进入内存时间 要求服务时间 作业大小 优先级等均可以在界面上设 定 4 可读取样例数据 要求存放在外部文件中 进行进程数 进入内存时间 时间片 长度 作业大小 进程优先级的初始化 5 可以在运行中显示各个进程的状态 就绪 执行 由于不要求设置互斥资源与进 程间的同步关系 故只有两种状态 6 采用可视化界面 可在进程调度过程中随时暂停调度 查看当前进程的状态以及 相应的阻塞队列 7 有性能比较功能 可比较同一组数据在不同调度算法下的平均周转时间 8 具有一定的数据容错性 3 算法及数据结构算法及数据结构 3 1 算法的总体思想算法的总体思想 3 2 先来先服务算法模块先来先服务算法模块 3 2 1 功能 系统将按照作业到达的先后次序来进行调度 或者优先考虑在系统中等待时间最 长的作业 不管作业所需执行时间的长短 从后备作业队列中选择几个最先进入该队 列的作业 将它们调入内存 为它们分配内存和创建进程 然后放入就绪队列 3 2 2数据结构 包括变量的定义 要注释 void run FCFS pcb p1 运行未完成的进程 time p1 arriveTime time p1 arriveTime time p1 startTime time printf n 时刻 d 当前开始运行作业 s n n time p1 name time p1 serviceTime p1 state T p1 endTime time p1 lastTime p1 endTime p1 arriveTime p1 lsTime p1 lastTime p1 serviceTime x p1 lastTime y p1 lsTime printf arrivetime servetime startime endtime lastime lstime n printf 6d 10d 10d 8d 10 1f 10 2f n p1 arriveTime p1 startTime p1 serviceTime p1 endTime p1 lastTime p1 lsTime void FCFS 找到当前未完成的进程 调度算法程序设计实验报告 int i p head for i 0 istate F q p 标记当前未完成的进程 run FCFS q p p next void getInfo 获得进程信息并创建进程 int num printf n 进程个数 scanf d for num 0 numname 3 2 3算法 流程图表示 或伪 C 表示 根据流程判断得到运行队列的方法 新进程到达 点击 运行演示 按钮 将新进程加入到就 绪队列最后一行 Y N 有进程执行中 Y 该进程执行完 将就绪进程 队列中的第 一行记录 提取到执行 进程队列 此行记录删 除 Y 将执行队列的信息 写入完成进程队列 中 N 就绪队列有记录 YN 点击 显示平均周 转时间和带权平均 周转时间 按钮 显示该算法的数据 结果 重新执 行算法 Y 结 束 N 开始 3 3 短作业优先算法模块短作业优先算法模块 3 3 1 功能 以作业长短计算优先级 作业越短 优先级越高 将从外存的作业后备队列中选 择若干个估计运行事件最短的作业 优先将它们调入内存运行 3 3 2 数据结构 RunTask int nextTaskID taskes nextTaskID operation 1 taskes nextTaskID startTime currenttime taskes nextTaskID endTime currenttime taskes nextTaskID serveTime taskes nextTaskID lastTime taskes nextTaskID endTime taskes nextTaskID arriveTime taskes nextTaskID lsTime taskes nextTaskID lastTime taskes nextTaskID serv eTime 1 0 currenttime taskes nextTaskID serveTime 3 3 3 算法 新进程到达 点击 运行演示 按钮 将新进程加入到就 绪队列最后一行 Y N 有进程执行中 Y 该进程执行完 遍历就绪进 程队列 判 断得到服务 时间最小的 进程 提取 到执行进程 队列 此行 记录删除 Y 将执行队列的信息 写入完成进程队列 中 N 就绪队列有记录 YN 点击 显示平均周 转时间和带权平均 周转时间 按钮 显示该算法的数据 结果 重新执 行算法 Y 结 束 N 开始 3 4 高响应比优先调度模块高响应比优先调度模块 3 4 1 功能 为作业引入一个动态优先级 若作业等待时间相同 则服务事件越短 优先级越 高 因而类似于 SJF 算法 当要求的服务事件相同时 作业的优先权决定其等待事件 因而该算法类似 FCFS 算法 对于长作业的优先级 可以随等待时间的增加而提高 3 4 2 数据结构 3 4 3 算法 就绪进程队列显示进程信息 根据 Timer 计时器的设定 计算当前状态下的响应比 将执行完的进程信息 写入完成进程队列中 就绪队列有记录 将最短的进程调入到执行队列 Y N 开始 结束 3 5 静态优先权调度模块静态优先权调度模块 3 5 1 功能 3 5 2 数据结构 priority char algo while run NULL run cputime 1 run needtime 1 run prio 3 if run needtime 0 run next finish finish run run state F run NULL firstin else if ready NULL insert1 run run NULL firstin prt algo 3 5 3 算法 就绪进程队列显示进程信息 根据优先权的大小 将最大优先级别的进程调入到执行队 列 将执行完的进程信息 写入完成进程队列中 就绪队列有记录 N Y 开始 结束 3 3 时间片轮转调度算法模块时间片轮转调度算法模块 3 6 1 功能 3 6 2 数据结构 void rcreate task char algo PCB p int i time char na 10 ready NULL finish NULL run NULL for i 0 iname na p cputime 0 p needtime time p count 0 p state W p round 2 if ready NULL insert2 p else p next ready ready p tail p printf Output the waiting processes information n prt algo run ready ready ready next run state R 3 6 3 算法 就绪进程队列显示进程信息 根据时间片大小 判断执行时间 将执行队列 的进程信息 写入就绪进 程队列的最 后一行 时间片用完前 执行 进程所用时间 服务时间 就绪队列有记录 Y 将执行队列的进程信息 写入已完 成队列中 N Y N 开始 结束 4 程序设计与实现程序设计与实现 4 1 程序流程图程序流程图 通用处理机调度演示程序 先来 先服 务调 度 短作 业优 先调 度 高响 应比 优先 调度 静态 优先 权调 度 时间 片轮 转调 度 4 2 程序代码程序代码 要注释 要注释 4 3 实验结果实验结果 时间片轮转算法时间片轮转算法 先来先服务先来先服务 短作业优先调度算法短作业优先调度算法 静态优先级调度算法静态优先级调度算法 高响应比优先调度算法高响应比优先调度算法 5 结论结论 6 收获 体会和建议 收获 体会和建议 7 参考文献 参考文献 以下是参考文献的格式 1 赛奎春 张雨 Visual C 工程应用与项目实践 M 北京 海洋出版社 2005 2 任建武 闾国年 王桥 多层体系 GIS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8《我们受特殊保护》第二课时(教学设计)部编版道德与法治六年级上册
- 高中信息技术粤教版选修4教学设计-4.3.4 创建“密码验证”窗体-
- 第四节 现代通信教学设计-2025-2026学年初中物理鲁科版五四学制九年级下册-鲁科版五四学制2012
- 2025年中考数学总复习《等腰三角形》专项检测卷(附答案)
- 2.2.2生物对环境的适应和影响说课稿-2024-2025学年苏科版生物七年级上册
- 2025年全国育婴师职业技能鉴定中级考试题库(含答案)
- 2025年高考数学试题分类汇编:平面向量与复数(试卷+解析)
- 2025年山东省泰安市中考生物试题及答案
- 小班师德师风题目及答案
- 《2025企业员工聘用劳务合同》
- 【MOOC答案】《学术英语读写》(华中科技大学)章节测验作业网课答案
- 2025年高考真题-化学(湖南卷) 含答案
- 2024(统编版)语文六年级上册 开学第一课 课件
- CRT植入推荐步骤和工具课件
- 建筑施工岗位安全风险明白卡
- Q∕GDW 10827-2020 三相智能电能表技术规范
- 空气轴承技术培训教程
- (完整版)法理学试题库附答案
- 客户服务管理10421考试大纲
- 典范剧本Coming Clean
- 硫酸生产工艺计算
评论
0/150
提交评论