当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 }
原文链接:https://www.f2er.com/react/308501.html