我正在尝试在 xv6 中实现彩票调度,我似乎遇到了一个错误。我需要有关调试方向的帮助。这是我的代码:
在proc.c中
我修改了函数 void scheduler 并添加了一个用于生成随机数的新函数:
unsigned long next=1;
int randomGen(int rand_max){
next = next * 1103515245 + 12345;
int rand=((unsigned)(next/65536) % 32768);
//above are the default implemenation of random generator with random max value 32768
//need to map it to the
int result =rand % rand_max+1;
return result;
}
当我尝试使用 qemu 启动模拟器和内核时,按继续后,我收到此错误:
恐慌:初始化退出 80104478 80106210 80105461 80106729 8010651d 0 0 0 0 0
它似乎来自 log.c