基于优先级的线程调度
1.实验目的
熟悉nachos操作系统,掌握线程优先级的调度,深入理解操作系统内核,了解用户程序的加载过程以及多用户进程的内存分配机制。
2.实验内容
Nachos的线程管理模块升级源代码及实现线程的优先级调度
3.实验方法(实验步骤)
Thread.h文件
(1)、指定线程的最大值;
(2)、重载 Thread构造函数,用于用户线程的创建;
(3)、定义成员变量和成员函数;
Thread.cc文件
(1)、设置random()函数用于获取三个优先级使用;
(2)、初始化tId;
(3)、重载函数给出用户创建的线程(id号从1000起)
(4)、用selftest()对三个队列分别设置不同的优先级(1、高优先级,2、中优先级,3、低优先级);
scheduler.h文件
(1)、在scheduler中定义其他两个就绪队列并使用不用的优先级;
scheduler.cc文件
(1)、构造函数scheduler创建三个就绪队列,分别为不同的优先级;
(2)、构造函数scheduler分别析构
(3)、构造函数scheduler进行优先级比较。
4.实验过程(源代码、配置清单必须带注释)