reactos操作系统实现(40)

 

由于Reactos的调度单位是线程,所以它的状态机就是基于线程的。比如进程A5个线程,进程B2个线程,总共就是12个线程来进行调度,也就是把CPU的时间分成12等份。线程总共状态如下:

#001  //

#002  // Thread States

#003  //

#004  typedef enum _KTHREAD_STATE

#005  {

#006      Initialized,

#007      Ready,

#008      Running,

#009      Standby,

#010      Terminated,

#011      Waiting,

#012      Transition,

#013      DeferredReady,

#014  #if (NTDDI_VERSION >= NTDDI_WS03)

#015      GateWait

#016  #endif

#017  } KTHREAD_STATE, *PKTHREAD_STATE;

 

线程状态机如下图:

reactos操作系统实现(40)_第1张图片

 

你可能感兴趣的:(thread,transition)