CPU 집합

CPU 집합은 OS 전원 관리와 호환되는 '소프트' 방식으로 애플리케이션 선호도를 선언하는 API를 제공합니다. 또한 API는 프로세스 내 OS 스레드의 간섭을 방지하기 위해 프로세스 기본 프로세스 메커니즘을 사용하여 프로세스의 모든 백그라운드 스레드를 프로세서의 하위 집합으로 다시 선호할 수 있는 기능을 애플리케이션에 제공합니다. 일부 버전의 Windows는 시스템 CPU 집합의 하위 집합이 개별 애플리케이션 및 워크로드의 단독 사용에 전념할 수 있는 핵심 예약 정책을 지원합니다.

CPU Set API는 가상 프로세서 친화와 연결된 CPU 집합 ID에서 작동합니다. 대부분의 시스템과 대부분의 조건에서 각 CPU 집합 ID는 단일 논리 프로세서에 직접 매핑됩니다. 지정된 CPU 집합에 선호되는 스레드는 일반적으로 선택한 CPU 집합 ID 목록의 프로세서 중 하나에서 실행됩니다.

예약된 CPU 집합은 SYSTEM_CPU_SET_INFORMATION 할당된 플래그를 검사하여 확인할 수 있습니다. 시스템은 예약된 CPU 집합에 대한 액세스를 제어하고 할당은 SYSTEM_CPU_SET_INFORMATION 구조의 AllocatedToTargetProcess 플래그를 사용하여 쿼리할 수 있습니다. 프로세스가 다른 프로세스에만 할당된 CPU 집합 할당을 사용하려고 하면 요청이 무시되고 허용되지 않는 CPU 집합에 할당된 스레드가 다른 곳에서 예약됩니다. CPU 집합은 두 수준에서 할당할 수 있습니다. 프로세스 기본 CPU 집합은 스레드 선택 수준에서 할당되지 않은 프로세스의 모든 스레드에 할당됩니다. 스레드 또는 프로세스에 제한적인 선호도 마스크 집합이 있는 경우 선호도 마스크는 충돌하는 CPU 집합 할당 위에 적용됩니다. 다중 그룹 시스템에서 CPU 할당은 스레드의 선호도 마스크의 그룹과 일치하지 않는 그룹에 있는 경우 무시됩니다. 스레드가 유효한 여러 CPU 집합에 할당된 경우 해당 프로세서의 우선 순위 및 해당 프로세서에서 경쟁 스레드의 우선 순위에 따라 해당 프로세서 중 하나에서 실행됩니다.

CPU Set Functions/Enumerations/Structures