diff --git a/src/sys/kernel/fork.c b/src/sys/kernel/fork.c index 022f9dc..6995d52 100755 --- a/src/sys/kernel/fork.c +++ b/src/sys/kernel/fork.c @@ -32,6 +32,7 @@ int i=0; uChar *src,*dst; pid_t cPid = findTask(); //Find An Empty Task + schedule(); kprintf("Pid: [%i]\n",cPid); src = _current; dst = &taskList[cPid]; @@ -39,9 +40,6 @@ dst[i] = src[i]; } taskList[cPid].id = cPid; - //taskList[cPid].tss.esp0 = 0xAFFF; - //taskList[cPid].tss.esp = 0xAFFF; - //taskList[cPid].tss.ebp = 0xAFFF; kprintf("[%i][%i]\n",_current->status,taskList[cPid].status); if (_current->id == cPid) { return(0); diff --git a/src/sys/kernel/idlethread.c b/src/sys/kernel/idlethread.c index fbde021..f71cb13 100755 --- a/src/sys/kernel/idlethread.c +++ b/src/sys/kernel/idlethread.c @@ -24,9 +24,12 @@ #include #include #include +#include void idleThread() { /* This thread is for maintinance */ + kprintf("[%i]\n",(pageDirectory[0] & 0xFFFFF000)|); + while(1); if (!fork()) { while (1) { kprintf("A");