"3119OS实验报告1:动态优先数调度程序改写与优化"
需积分: 0 116 浏览量
更新于2024-01-13
收藏 6.48MB DOCX 举报
3119OS实验报告1
本次实验的主要目的是编写和调试一个模拟的进程调度程序,以加深对进程的概念及进程调度算法的理解。实验内容包括调试运行“时间片轮转”调度算法并给出运行结果,以及采用“时间片轮转”调度算法对进程进行调度,并显示进程的运行过程、进程的带权周转时间和系统的平均带权周转时间。
在实现这个调度程序的过程中,我们使用了动态优先数调度程序的框架,并进行了修改和改写。具体的实现思路如下:
1. 首先我们添加了一些全局变量,包括时间片长度timeslot和当前时间realativeTime,用于控制进程的调度和运行。
2. 接下来,我们创建了一个额外的数组来存放输入的进程控制块(PCB),并根据进程的到达时间进行排序。这样可以保证在调度时,按照进程到达时间的先后顺序进行处理。
3. 然后,我们采用时间片轮转的调度算法对进程进行调度。每个进程都拥有一个PCB表示,并具有进程名、到达时间、需要运行时间、已用CPU时间和进程状态等信息。
4. 进程的状态可以是就绪(W)、运行(R)或完成(F)三种状态之一。在进行调度时,根据当前时间和进程状态进行判断,选择合适的进程进行运行。
5. 在调度过程中,我们通过更新进程的已用CPU时间和进程状态来模拟进程的运行过程。当进程完成运行时,将其状态设置为完成,并计算其带权周转时间。
6. 最后,我们根据所有进程的带权周转时间,计算系统的平均带权周转时间。这可以作为评估调度算法性能的重要指标。
在实验过程中,我们根据以上的实现思路编写了调度程序,并进行了运行和测试。下图是实验系统的运行截图:
[插入实验系统运行截图]
总结起来,本次实验是在已有的简陋例程的基础上进行修改的,因此程序的逻辑较为混乱。但通过实验,我们深入理解了进程调度的概念和相关算法,并通过调试和测试,验证了“时间片轮转”调度算法在实际应用中的效果。实验还加强了我们对操作系统的理解和实践能力,对于进一步学习和研究操作系统领域具有重要意义。
最后,通过本次实验,我们不仅增加了对进程调度算法的理解,还掌握了编写和调试模拟进程调度程序的技巧。希望在今后的学习和实践中能够继续深入进程调度算法,并应用到实际的操作系统开发中。
316 浏览量
215 浏览量
1439 浏览量
109 浏览量
160 浏览量
2022-08-08 上传
yiyi分析亲密关系
- 粉丝: 33
- 资源: 321
最新资源
- SMTPSender(iPhone源代码)
- 类似瀑布流的网格视图效果
- win7 64位安装IE11所需补丁
- WIFIRobots
- 多路DA上位机+单片机源码.zip
- cace:CMS管理员命令执行
- cursoKuberneteswildfly:Curso cursoKubernetes野蝇sobre Cubernetes
- mysql-connector-java-8.0.25.zip
- 建筑节能平台登录网页模板
- 网络游戏-基于移动无线网络、通过远程服务器进行地图解析的方法.zip
- PCBMill:PCBMill FABtotum插件
- 房屋出租管理系统.rar
- Google Chrome:trade_mark:的标签管理器-crx插件
- WindowsFormsApp1.zip
- agora:面向目标的敏捷需求获取
- webtesting-ii-guided:Web测试II模块指导项目