进程调度算法模拟程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)通过编写多级反馈队列调度算法,加深了对进程调度的理解,对于其基于时间片的算法原理,能够转化成实在的程序算法并验证。