reactos操作系统实现(33)

Reactos在系统初始化时,就会调用进程管理初始化函数PsInitSystem来进行初始化。只有把进程管理初始化后,才可以创建进程,这样才可运行各种各样的任务。下面就来分析进程管理器初始化函数:

#001  BOOLEAN

#002  NTAPI

#003  PsInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock)

#004  {

在参数里把系统引导参数传递进来,以便根据不同的配置选择不同的进程管理方案。

 

#005      /* Check the initialization phase */

#006      switch (ExpInitializationPhase)

#007      {

#008      case 0:

#009 

 

这里进行第0阶段的进程管理器初始化。

#010          /* Do Phase 0 */

#011          return PspInitPhase0(LoaderBlock);

#012 

#013      case 1:

#014 

 

这里进行第1阶段的进程管理器初始化。

#015          /* Do Phase 1 */

#016          return PspInitPhase1();

#017 

#018      default:

#019 

 

进行非法调用,就进行出错中断处理。

#020          /* Don't know any other phase! Bugcheck! */

#021          KeBugCheckEx(UNEXPECTED_INITIALIZATION_CALL,

#022                       1,

#023                       ExpInitializationPhase,

#024                       0,

#025                       0);

#026          return FALSE;

#027      }

#028  }

这个函数主要通过系统引导的阶段来调用不同的函数进行进程管理器初始化工作。

你可能感兴趣的:(化工,任务,initialization)