我知道System Idle Process不是一个进程,而是用来监视CPU资源的使用情况的.但是我想问的是System Idle Process除了这个功能是不是还有其他功能呢?如果没有为什么微软要特地高出一个这个进程来监视CPU资源呢?完全用不着嘛!

解决方案 »

  1.   

    除了看CPU资源 没有什么作用
       那不是进程
    任务管理器虚拟出来的
      

  2.   

    就是在CPU空闲的的时候,发出一个IDLE命令,使CPU挂起(暂时停止工作),可有效的降低CPU内核的温度,在操作系统服务里面,都没有禁止它的选项;默认它是占用除了当前应用程序所分配的处理器(CPU)百分比之外的所有占用率;一旦应用程序发出请求,处理器会立刻响应的。在这个进程里出现的CPU占用数值并不是真正的占用而是体现的CPU的空闲率,也就说这个数值越大CPU的空闲率就越高,反之就是CPU的占用率越高
      

  3.   

    Idle是一个进程,是有内核对象的,只不过它不能用OpenProcess打开
    它为每个逻辑处理器准备一个线程,这些线程的优先级比其他线程都低,它们任何时候都处于就绪状态,这样保证了调度程序总是能找到可以调度的线程,cpu的空闲节电功能就由这些线程完成,它们会执行像hlt或某些减少cpu时钟周期的指令来减少能耗
      

  4.   

    我实在是不明白它到底算不算是一个进程...我刚才试了一下..在C#中用GetProcess()方法是可以获取到这个进程对象的..但是获取到的进程名称不是System Idle Process了..而变成了Idle...而且获取这个进程对象的某些信息就会抛出"拒绝访问"的异常..实在是搞不懂...
      

  5.   

    因为它的内核对象中保存的映像名就是Idle
    System Idle Process只是任务管理器自己弄的
    由于你不能用NtOpenProcess打开它,很多信息是不能获取的
    不过它的确是一个进程,但是对象地址不在PspCidTable中