计算机操作系统上机实验报告
题目 名称 院系 指导老师 组长 联系电话 组长(姓名、学号) 成员(姓名、学号) 主要原理及所参考的资料(包括实验内容及条件) 进程调度实验 班级 本次实验成绩 邮件地址 完成时间 主要 分配任务给组员,和组员探讨实验所涉及算法,更正组员算法的不足,并改正,编写具体实验程序,用程序制任务 作界面,完成后进行测试 主要 和组长讨论算法,确定实验开发环境,规划实验所需界面,写出算法流程图,制作实验报告和PPT 任务 主要原理:运用进程调度算法,模拟进程调度,调度队列模型如图 交时间片完 互用 就 绪 队 列 户 cpu 事件出现 进程完成 阻 塞 队 列 (1) 抢占式的优先权原则:当有作业来,比较优先级,允许优先权高的新到进程抢占当前的处理机 (2) 时间片轮转法:当执行的时间片用完,由一个计时器出发时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾,然后再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片,用以保证就绪队列中的所有进程,在一给定的时间内,均能获得一时间的处理机执行时间。
实验内容和条件: 1.设计一个程序模拟进程创建的模拟过程。 2.设计有n各进程的程序,其中每个进程控制块PCB中包含: 进程标记号(ID),进程优先数(Priority),进程进入CPU时间(Intime),进程需要使用时间(usetime)程序需要运行的总时间(Alltime)、队列指针。 3.进程的调度文件存放在filename.txt文件中 文件内容为 ID Priority Intime usetime 1 1 5 15 2 2 10 12 3 3 15 40 4. 调度算法一:采用基于静态优先级的立即抢占式调度算法 调度算法二:采用时间片轮转法,进程占用CPU的时间片有每个进程的优先数来确定。(约定:每个优先数对应10分钟) 5. 系统显示各进程状态的变化情况,调度序列及每个进程获得CPU的调度时间。 6 . 编写中应将算法单独编写为尽量通用的独立模块。 运用C++的MFC制作界面,并结合数据结构书写出算法。 主要算法及流程图 时间片轮转法策略调度流程图:
(包括实验步骤) 进程请求 在后备队列取一进 否 是否到该进程的时在后备队列等待 是 进入执行队列 是 一时间片用完,是否完成否 进入完成队列 进入就绪队列 重新开始的时间片 否 后备队列是否为进程加入 进入就绪队列取程为空 结束 动态优先级策略调度流程图: