我正在实现一个OS模拟器,它接受一个文件,将其加载到磁盘,将进程加载到ram中。在将指令文件(十六进制)加载到一个数组后,我想迭代一个过程控制块(PCBlist)的链接列表,然后将一个进程(长期调度程序)加载到ram中,然后等等,尽管程序一旦崩溃就崩溃了进入循环(LT调度程序)。起初我认为它与我的LT调度程序有关,但在用空循环替换它之后,它仍然会崩溃。有什么想法吗?
我正在使用codelite和mingw 5.1.0
这是我的主要类代码:
#include "modules\loader.h"
#include "modules\LongTermScheduler.h"`
int main(int argc, char** argv)
{
Loader loader;
loader.readFile("Instructions\\Program-File.txt");
LongTermScheduler LTscheduler;
PCB_list* PCBlist = loader.getPCB_list();
LTscheduler.setPCB_list(PCBlist);
//load processes based on priority
bool priority = false;
//So far the program runs just fine. As soon As I enter any
//loop, even if its empty, it crashes.
for (int i = 0; i < 30; i = i + 1) {
//Here's where I would call the scheduler to load processes
//into ram
//LTscheduler.loadProcesses(priority);
}