Zestawy procesora CPU
Zestawy procesora CPU udostępniają interfejsy API do deklarowania koligacji aplikacji w sposób "miękki", który jest zgodny z zarządzaniem energią systemu operacyjnego. Ponadto interfejs API zapewnia aplikacjom możliwość ponownego stosowania wszystkich wątków w tle w procesie do podzbioru procesorów przy użyciu domyślnego mechanizmu procesu, aby uniknąć ingerencji wątków systemu operacyjnego w procesie. Niektóre wersje systemu Windows obsługują podstawowe zasady rezerwacji, w których podzbiór zestawów procesora CPU systemu może być poświęcony wyłącznemu użyciu poszczególnych aplikacji i obciążeń.
Interfejs API zestawu procesora CPU współdziała z identyfikatorami zestawu procesorów CPU, które są skojarzone z koligacjami procesora wirtualnego. W większości systemów i w większości warunków każdy identyfikator zestawu procesorów CPU mapuje się bezpośrednio na jeden macierzystego procesora logicznego. Wątek affinitized dla danego zestawu procesorów zwykle jest wykonywany na jednym z procesorów na liście wybranych identyfikatorów zestawu procesorów CPU.
Zestawy procesora CPU zarezerwowane można określić, sprawdzając flagę Przydzielone w SYSTEM_CPU_SET_INFORMATION. System kontroluje dostęp do zarezerwowanych zestawów procesora CPU i można wykonywać zapytania dotyczące przypisania przy użyciu flagi AllocatedToTargetProcess struktury SYSTEM_CPU_SET_INFORMATION. Jeśli proces próbuje użyć przypisania zestawu procesora CPU, który jest przydzielany wyłącznie do innych procesów, jego żądanie jest ignorowane, a wątki przypisane do niedozwolonych zestawów procesora CPU są zaplanowane w innym miejscu. Zestawy procesora CPU można przypisywać na dwóch poziomach. Domyślne zestawy procesora CPU procesu są przypisywane do wszystkich wątków w procesie, który nie ma przypisania na wybranym wątku. Jeśli wątek lub proces ma ustawioną restrykcyjną maskę koligacji, maska koligacji jest przestrzegana powyżej dowolnego sprzecznego przypisania zestawu procesorów CPU. W systemach wielogrupowych przypisania procesora CPU są ignorowane, jeśli znajdują się w grupach, które nie pasują do grupy w masce koligacji wątku. Jeśli wątek jest przypisany do wielu prawidłowych zestawów procesora CPU, zostanie uruchomiony na jednym z odpowiednich procesorów zgodnie z jego priorytetami i priorytetami konkurencyjnych wątków na tych procesorach.
zestaw funkcji/wyliczenia/struktury zestawu procesora CPU
- funkcja GetProcessDefaultCpuSets
- funkcja GetProcessDefaultCpuSetMasks
- funkcja GetSystemCpuSetInformation
- funkcja GetThreadSelectedCpuSets
- funkcja getThreadSelectedCpuSetMasks
- funkcja SetProcessDefaultCpuSets
- funkcja SetProcessDefaultCpuSetMasks
- funkcja SetThreadSelectedCpuSets
- funkcja SetThreadSelectedCpuSetMasks
- wyliczenie CPU_SET_INFORMATION_TYPE
- struktura SYSTEM_CPU_SET_INFORMATION