星期四, 10月 26, 2006

the 1st Process launched by nk.exe

SchedInit( ) OpenExecutable ("nk.exe").. in nk.exe..

Kernel 的sheduler好像是在 NK\KERNEL\scheduler.c 中的 SystemStartupFunc ( )

  1. 在pROM 結構中找到sharedll 區域的位置
  2. Alloc Memory
  3. Load coredll.dll
  4. 在load 到memory 的coredll.dll 中找到需要的一些function pointer ( 用 function index的方法 )。
  5. Create Kernel need synchronize object - event, critical section..
  6. CreateThread : PowerHandlerGuardThrd,
  7. Load shimeng.dll
  8. CreateThread : CleanDirtyPagesThread
  9. CreateThread : RunApp
  10. Endless While - Wait Alarm (Time limit - oneday), give CleanDirtyPages a chance to run.
RunApp 在 kmisc.c
  1. CreateProcess : filesys.exe <-- this is the very 1st process Lives after nk.exe

1 則留言: