시스템 아이돌프로세스

System Idle Process
시스템 아이돌프로세스
System idle process.png
Windows XP의 Windows 태스크 매니저는 시스템 유휴 프로세스 사용률을 99%로 표시하며 CPU 시간을 많이 사용하는 다른 프로세스가 없음을 나타냅니다.
운영 체제Microsoft Windows
유형커널

Windows NT 운영 체제에서 시스템 유휴 프로세스에는 CPU에서 실행 가능한 다른 스레드를 스케줄링할 수 없을 때 실행되는 하나 이상의 커널 스레드가 포함됩니다.멀티프로세서 시스템에서는 각 CPU 코어와 관련된 아이돌 스레드가 1개 있습니다.하이퍼스레딩을 사용하도록 설정된 시스템의 경우 각 논리 프로세서에 대해 유휴 스레드가 있습니다.

아이돌 프로세스와 그 스레드의 주된 목적은 스케줄러에서 특별한 경우를 배제하는 것입니다.유휴 스레드가 없으면 스레드가 실행되지 않을 수 있습니다(Windows 스케줄링 상태에서는 "Ready").아이돌 스레드는 항상 [Ready]상태이기 때문에(아직 [Running]가 아닌 경우) 이것은 결코 발생할 수 없습니다.따라서 현재 스레드가 CPU에서 빠져나가기 때문에 스케줄러가 호출될 때마다 CPU의 유휴 스레드일 경우에도 해당 CPU에서 다른 스레드가 실행되는 것을 항상 발견할 수 있습니다.따라서 아이돌 프로세스에 기인하는 CPU 시간은 시스템 내의 다른 스레드에 의해 불필요하거나 필요하지 않은 CPU 시간을 나타냅니다.

스케줄러는 유휴 스레드를 스레드 스케줄링 우선순위의 관점에서 특별한 경우로 취급합니다.아이돌 스레드는 각각이 일반 스레드에 대해 설정 가능한 것보다 낮은 우선순위를 가지는 것처럼 스케줄 됩니다.

아이돌 프로세스의 기능 때문에 CPU 시간 측정(Windows 태스크 매니저를 통해 표시됨)에 의해 아이돌 프로세스가 CPU를 독점하고 있는 것처럼 보일 수 있습니다.그러나 유휴 프로세스는 높은 비율로 실행 중인 경우에도 컴퓨터 리소스를 소모하지 않습니다.CPU 시간의 「사용량」은, 다른 스레드에 의해서 사용되고 있지 않은 CPU 시간의 양을 나타냅니다.

Windows 2000 이후에서는, 시스템 아이돌 프로세스의 스레드는 CPU 의 전력 절약에도 사용됩니다.정확한 절전 방식은 운영 체제 버전과 해당 시스템의 하드웨어 및 펌웨어 기능에 따라 달라집니다.예를 들어 Windows 2000의 x86 프로세서에서는 아이돌스레드에 의해 정지 명령의 루프가 실행되므로 CPU는 인터럽트 요구가 도착할 때까지 많은 내부 컴포넌트를 끄게 됩니다.Windows 의 최신 버전에서는, 보다 복잡한 CPU 전력 절약 방법을 실장하고 있습니다.이러한 시스템에서는 아이돌스레드가 하드웨어 추상화 레이어의 루틴을 호출하여 CPU 클럭 속도를 낮추거나 기타 절전 메커니즘을 구현합니다.

이러한 정보의 보다 상세한 출처는 Windows의 퍼포먼스 감시 시스템(perfmon 프로그램으로 액세스 가능)을 통해 확인할 수 있습니다.이 시스템에는 CPU 사용량의 보다 상세한 분류가 포함되어 있습니다.CPU 시간 분류의 제한된 부분 집합도 작업 관리자를 통해 액세스할 수 있습니다. 작업 관리자는 CPU 사용량을 CPU별로 표시할 수 있으며 사용자 대 커널 코드에 소요된 시간으로 분류할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  • Russinovich, Mark; David A. Solomon (2005). "Chapter 2: System Architecture". Microsoft Windows Internals (4th ed.). Microsoft Press. pp. 75–76. ISBN 0-7356-1917-4.
  • "What Is "System Idle Process," and Why Is It Using So Much CPU?". How-To Geek. Retrieved 2022-01-13.
  • "system idle process - What is system idle process?". www.processlibrary.com. Retrieved 2022-01-13.