进程调度算法模拟程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华北科技学院计算机学院综合性实验

实验报告

课程名称操作系统B

实验学期 2011 至2012 学年第二学

学生所在系部计算机学院

年级 09 专业班级网络工程B093

学生姓名李金栋学号 200907024324 任课教师杜杏菁

实验成绩

计算机学院制ﻬ《操作系统B》课程综合性实验报告

开课实验室:基础实验室七2012年5月

正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。

(5)分析程序运行的结果,谈一下自己的认识。

四、实验结果及分析

1.主程序流程图:

2.关键算法:

(1)PCB结构:设置进程ID、剩余服务时间、剩余阻塞时间、NEXT指针四项记录。typedef struct PCBType

{

显示各队列中进程的ID、剩余服务时间和阻塞服务时间,并显示菜单供用户选择。(2)创建进程:

获取新进程的ID及所需服务时间总量,并为其创建PCB,可循环创建多个进程。上图表示的是第一次调度前后的结果,第一队的时间片是1,第二队列的时间片是2,以此类推,一共有4 个队列。

(3)阻塞进程:

获取要阻塞进程的ID并搜索该进程进行阻塞,可循环阻塞多个进程。

(4)进程执行完毕提示:

当某一进程执行完毕时,释放其PCB并显示相应的提示信息。(5)程序结束提示:

当所有进程执行完毕时,释放所有队列元素并显示提示信息。

4.实验感想:

(1)编写代码时,应将相同操作提取为函数供其它代码调用,以提高程序代码的复用率并使程序结构简洁明了。

(2)程序执行中应在合适的时间给予用户恰当的提示信息,并对用户的输入信息进行格式检查,以保证程序正常运行。

(3)在结构化程序设计过程中,应遵循自顶向下的原则,先确定程序的整体结构,再实现具体细节,以保证程序结构的完整合理。

(4)多级反馈调度算法能够及时响应用户的请求,满足各种类型用户的需要,故被现代操作系统广泛采用。

(5)通过编写多级反馈队列调度算法,加深了对进程调度的理解,对于其基于时间片的算法原理,能够转化成实在的程序算法并验证。

相关文档
最新文档