进程调度算法模拟程序设计
- 格式:doc
- 大小:172.00 KB
- 文档页数:12
华北科技学院计算机学院综合性实验
实验报告
课程名称操作系统B 实验学期 2011 至 2012 学年第二学期学生所在系部计算机学院
年级 09 专业班级网络工程B093
学生姓名李金栋学号 2
任课教师杜杏菁
实验成绩
计算机学院制
《操作系统B》课程综合性实验报告
✧进程在就绪队列中呆一个时间片,优先数增加1。
✧进程每运行一个时间片,优先数减3。
(4)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。
(5)分析程序运行的结果,谈一下自己的认识。
四、实验结果及分析
1.主程序流程图:
显示各队列中进程的ID、剩余服务时间和阻塞服务时间,并显示菜单供用户选择。
(2)创建进程:
获取新进程的ID及所需服务时间总量,并为其创建PCB,可循环创建多个进程。上图表示的是第一次调度前后的结果,第一队的时间片是1,第二队列的时间片是2,以此类推,一共有4 个队列。
(3)阻塞进程:
获取要阻塞进程的ID并搜索该进程进行阻塞,可循环阻塞多个进程。
(4)进程执行完毕提示:
当某一进程执行完毕时,释放其PCB并显示相应的提示信息。
(5)程序结束提示:
当所有进程执行完毕时,释放所有队列元素并显示提示信息。
4.实验感想:
(1)编写代码时,应将相同操作提取为函数供其它代码调用,以提高程序代码的复用率并使程序结构简洁明了。
(2)程序执行中应在合适的时间给予用户恰当的提示信息,并对用户的输入信息进行格式检查,以保证程序正常运行。
(3)在结构化程序设计过程中,应遵循自顶向下的原则,先确定程序的整体结构,再实现具体细节,以保证程序结构的完整合理。
(4)多级反馈调度算法能够及时响应用户的请求,满足各种类型用户的需要,故被现代操作系统广泛采用。
(5)通过编写多级反馈队列调度算法,加深了对进程调度的理解,对于其基于时间片的算法原理,能够转化成实在的程序算法并验证。