上海应用技术学院程序设计语言实验报告实验名称时间片轮转调度实验序号实验五实验日期姓名学号指导教师专业计算机科学与技术班级成绩一、实验目的及要求为 EOS调度器添加时间片轮转调度算法,了解常用调度算法
二、实验环境 Windows XP;Tevation OS Lab
三、实验内容1 准备实验按照下面的步骤准备实验:1
启动 OS Lab
新建一个 EOS Kernel 项目
在“项目管理器”窗口中双击Floppy
img文件,使用 FloppyImageEditor工具打开此软盘镜像
将本实验文件夹中的multi
exe文件添加到软盘镜像的根目录中
点击 FloppyImageEditor工具栏上的保存按钮,关闭该工具
2 阅读 multi
exe的源代码在本实验文件夹中找到multi
exe的源代码文件 multi
c,使用 OS Lab打开此文件,仔细阅读此文件中的源代码
在阅读的过程中需要注意下面的问题:在 main 函数中使用 ThreadFunction线程函数创建了23 个新线程
这样在该应用程序创建的进程中,算上主线程后就会包括24 个线程
主线程会在控制台的第0 行循环输出计数,其它的线程也会在控制台的对应行循环输出计数,这样就可以很方便的观察各个线程执行的情况
各个线程在向控制台输出时使用“关中断”和“开中断”进行了互斥
原则上在应用程序中是不能使用“关中断”和“开中断”指令的,这里是为了保证各个线程不进行让权等待,保证实验的效果
为了保证实验效果,所有的线程(包括主线程)都是死循环
也就是说所有的线程都不会结束执行
3 执行 multi
exe 按照下面的步骤执行multi
exe,查看其运行效果:1
按 F7生成在 3
1 中创建的 EOS Kernel 项目