int main() { int pid; InitKernelData(); //call InitKernelData() to set kernel data InitKernelControl(); //call InitKernelControl() (see below) pid = DeQ(&free_q); StartProcISR((int) pid, (int) IdleProc); //phase 3 pid = DeQ(&free_q); StartProcISR((int) pid, (int) InitProc); //phase 7 pid = DeQ(&free_q); StartProcISR((int) pid, (int) FileService); //phase 6 pid = DeQ(&free_q); StartProcISR((int) pid, (int) ShellProc); pid = DeQ(&free_q); StartProcISR((int) pid, (int) StdinProc); pid = DeQ(&free_q); StartProcISR((int) pid, (int) StdoutProc); LoadRun(pcb[0].TF_ptr); //call LoadRun() to load/run IdleProc return 0; //this will never be executed }
int main() { int pid; InitKernelData(); InitKernelControl(); pid = DeQ(&free_q); StartProcISR(pid,(unsigned int)IdleProc); pid = DeQ(&free_q); StartProcISR(pid,(unsigned int)InitProc); LoadRun(pcb[0].TF_ptr); return 0; // not reached, but compiler needs it for syntax }
int main() { int pid; InitKernelData(); //call InitKernelData() to set kernel data InitKernelControl(); //call InitKernelControl() (see below) pid = DeQ(&free_q); StartProcISR(pid); LoadRun(pcb[0].TF_ptr); //call LoadRun() to load/run IdleProc return 0; //this will never be executed }