




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统操作系统课程实验报告课程实验报告 姓名蔡剑坤学号0901010001系计算机 任课教师贺辉指导教师贺辉评阅教师贺辉 实验地点 综合楼 B104 励耘楼 A206 综合楼 B102 丽泽楼 C304 1 请勾选实际实验地点 实验时间2011 11 4 出勤和个人表现 Q1 15 15 组 组 长评分 长评分 30分 得分 25 实验课表现 实验完成情况 Q2 45 分 组长与组长与 教师评分的加权平均教师评分的加权平均 得分 实验 总分 Q1 Q2 Q3 Q4 实验编号与实验名称 实验编号与实验名称 实验六 进程调度模拟 实验目的 实验目的 进程调度是处理机管理的核心内容 通过本实验可以加深理解有关进程控制块 进程的 概念 进程队列的概念及进程调度算法的理解并体会和了解优先数和时间片轮转调度算法 的具体实施办法 实验内容及要求 详见实验讲义与实验指导书 实验内容 本实验要求用 C 语言编写和调试一个简单的进程调度模拟程序 须在实验报告中给出详须在实验报告中给出详 细算法描述和流程图细算法描述和流程图 实验要求 设计进程控制块设计进程控制块 PCBPCB 表结构表结构 分别适用于优先数调度算法和轮转调度算法 建立进程就绪队列 对两种不同算法编制入队子程序编制入队子程序 编制两种进程调度算法 1 优先数调度 2 轮转调度 实验用到的软件 Visual studios 2010 实验内容及关键步骤 代码 关键步骤 代码 Q3 15 分 得分 include include include include typedef struct node char name 10 进程标识符 int prio 进程优先数 int round 进程时间轮转时间片 int cputime 进程占用 CPU 时间 int needtime 进程到完成还要的时间 int count 计数器 char state 进程的状态 struct node next 链指针 PCB PCB finish ready tail run 队列指针 int N 进程数 几个函数的声明 void create1 char void create2 char void priority char void roundrun char void inunization 初始化界面 printf n n t t t t n printf t t t t 实验六 进程调度模拟 n printf t t t t n printf n n n t t t t t2009 级计算机 软件 n printf t t t t t 刘德华 n printf t t t t t3204007102 n printf t t t t t 完成时间 2011 年 10 月 20 日 n n n n 标题输出函数 void prt1 char a if toupper a P 优先数法 printf 进程号 cpu 时间 所需时间 优先数 状态 n else printf 进程号 cpu 时间 所需时间 记数 时间片 状态 n 进程 PCB 输出 void prt2 char a PCB q if toupper a P 优先数法的输出 printf 10s 10d 10d 10d c n q name q cputime q needtime q prio q state else 轮转法的输出 printf 10s 10d 10d 10d 10d c n q name q cputime q needtime q count q round q state 主要的输出函数 void prt char algo PCB p prt1 algo 输出标题 if run NULL 如果运行指针不空 prt2 algo run 输出当前正在运行的 PCB p ready 输出就绪队列 PCB while p NULL prt2 algo p p p next p finish 输出完成队列的 PCB while p NULL prt2 algo p p p next getchar 压任意键继续 主函数 int main char algo 算法标记 inunization printf 选择算法 P R 优先数算法 时间片轮转算法 n scanf c 输入字符确定算法 printf 输入进程数 n scanf d 输入进程数 if algo P algo p create1 algo 优先数法 priority algo else create2 algo 轮转法 roundrun algo system pause return 0 void insert1 PCB q 优先数插入函数 PCB p1 s r int b s q p1 ready r p1 b 1 while p1 NULL p1 p1 next else b 0 if r p1 r next s s next p1 else s next p1 ready s void insert2 PCB q 轮转法插入函数 tail next q tail q q next NULL void firrun 将准备队列的第一个进程投入运行 run ready run state R ready ready next void create1 char algo 优先数进程创建 PCB p int i time char jinchengname 10 ready NULL finish NULL run NULL for i 1 iname jinchengname 将进程几个属性进行赋值 p cputime 0 p needtime time p state w p prio 100 time 准备队列不为空时进行插入 if ready NULL insert1 p 当准备队列为空时将 p 设定为第一个进程 else p next ready ready p printf 优先数进程调度模拟 n prt algo 输出进程的信息 firrun 将就绪队列的第一个进程投入运行 void create2 char algo 轮转法进程创建 PCB p int i time char jinchengname 10 ready NULL finish NULL run NULL for i 1 iname jinchengname 将进程几个属性进行赋值 p cputime 0 p needtime time p count 0 p state w p round 2 时间片赋值 准备队列不为空时进行插入 if ready NULL insert2 p 当准备队列为空时将 p 设定为第一个进程 else p next ready ready p tail p printf 轮转法进程调度模拟 n prt algo 输出进程的信息 firrun 将就绪队列的第一个进程投入运行 void priority char algo 优先数调度过程 while run NULL 当运行队列不为空 进行进程调度操作 run cputime run cputime 1 run needtime run needtime 1 run prio run prio 3 完成了的进程放入完成队列 if run needtime 0 run next finish finish run run state F run NULL if ready NULL firrun 没运行完而且优先数不是最大的 将其插入到就绪队列 else if ready NULL insert1 run firrun prt algo 输出下一个调度表 void roundrun char algo 轮转法的调度过程 while run NULL 当运行队列不为空 进行进程调度操作 run cputime run cputime 1 run needtime run needtime 1 run count run count 1 if run needtime 0 运行完的进程插入到完成队列 run next finish finish run run state F run NULL if ready NULL firrun 如果运行时间达到时间片限制 else if run count run round run
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川汽车职业技术学院《ObjectorentedProgrammng》2023-2024学年第二学期期末试卷
- 上海济光职业技术学院《基础与临床药理学》2023-2024学年第一学期期末试卷
- 江西制造职业技术学院《超高维数据分析》2023-2024学年第二学期期末试卷
- 《春节传统习俗》课件
- 2025至2031年中国助剂自动称量系统行业投资前景及策略咨询研究报告
- 2025至2031年中国侧拉式档案柜行业投资前景及策略咨询研究报告
- 宿舍改造环保方案范本
- 2025至2030年中国面巾纸外包袋数据监测研究报告
- 2025至2030年中国造纸助留增强剂数据监测研究报告
- 池底清淤工程施工方案
- 教科版五年级下册科学第三单元《环境与我们》单元测试卷(含答案)
- 教师数字素养及其培育路径研究基于欧盟七个教师数字素养框架的比较分析
- 江苏省2023-2024学年三年级下学期期中综合调研数学试卷(苏教版)
- 《变电站二次系统数字化设计编码规范》
- 住建局安全生产汇报
- 《老年社会工作》课件-老年社会生活相关理论及应用
- 2022年全国高考数学(新高考1卷)试题及答案解析
- 消化系统肿瘤的预防和治疗
- 互联网诊疗管理办法
- 2024年山东淄博市热力集团有限责任公司招聘笔试参考题库含答案解析
- 审查易系统操作指南
评论
0/150
提交评论