시스템 유휴 프로세스
윈도우 NT 운영 체제에서 시스템 유휴 프로세스(System Idle Process, 시스템 아이들 프로세스)는 다른 실행 가능한 스레드들이 CPU에 스케줄되지 않았을 때 실행되는 하나 이상의 커널 스레드로 이루어진다. 멀티프로세서 시스템에서는 각 CPU 코어에 관련된 하나의 유휴 스레드가 존재한다. 하이퍼스레딩이 활성화된 시스템에서는 각 논리 프로세서를 위한 유휴 스레드가 존재한다.
운영 체제 | 마이크로소프트 윈도우 |
---|---|
종류 | 커널 |
유휴 프로세스와 이것의 스레드의 주요한 목적은 스케줄러에서 특별한 경우를 제거하는 것이다. 유휴 스레드 없이는 모든 실행 가능한 스레드가 존재하지 않는 경우가 존재할 수 있다. 유휴 스레드들이 항상 Ready 상태에 있기 때문에 이런 상황은 절대 일어나지 않는다. 그러므로 유휴 프로세스의 CPU 시간 속성은 시스템의 다른 스레드들에 의해 필요하거나 원하지 않는 CPU 시간의 양을 나타낸다.
스케줄러는 유휴 스레드들을 스레드 스케줄링 우선 사항에서 특별한 경우로 여긴다. 유휴 스레드들은 다른 평범한 스레드에 셋팅된 우선권보다 항상 작다.
유휴 프로세스의 기능 때문에 사용자가 보기에 이것이 CPU를 독점하고 있다고 보일 수 있다. 그러나 유휴 프로세스는 컴퓨터 자원을 사용하지 않는다. 이것의 CPU 시간 사용은 얼마나 CPU가 다른 스레드들에 의해서 사용되지 않는지를 나타낸다.
윈도우 2000 이후로 시스템 유휴 프로세스의 스레드들은 또한 CPU 절전을 목적으로 구현되었다. 정확한 절전 계획은 운영 체제의 버전과 하드웨어, 펌웨어에 따라 다르다.
같이 보기
편집각주
편집- Russinovich, Mark; David A. Solomon (2005). 〈Chapter 2: System Architecture〉. 《Microsoft Windows Internals》 4판. Microsoft Press. 75–76쪽. ISBN 0-7356-1917-4.