Set CPU
Set CPU menyediakan API untuk mendeklarasikan afinitas aplikasi dengan cara 'lunak' yang kompatibel dengan manajemen daya OS. Selain itu, API menyediakan aplikasi dengan kemampuan untuk memfinisikan ulang semua utas latar belakang dalam proses ke subset prosesor menggunakan mekanisme Proses Default untuk menghindari gangguan dari utas OS dalam proses. Beberapa versi Windows mendukung kebijakan Reservasi Inti, di mana subset Set CPU sistem dapat dikhususkan untuk penggunaan eksklusif aplikasi dan beban kerja individual.
API Set CPU berfungsi dengan ID Set CPU, yang terkait dengan afinitas prosesor virtual. Pada sebagian besar sistem, dan dalam sebagian besar kondisi, setiap ID Set CPU akan memetakan langsung ke satu home prosesor logis. Utas yang diafinisiskan ke Set CPU tertentu biasanya akan dijalankan pada salah satu prosesor dalam daftar ID Set CPU yang dipilih.
Set CPU yang dicadangkan dapat ditentukan dengan memeriksa bendera Dialokasikan di SYSTEM_CPU_SET_INFORMATION. Sistem mengontrol akses ke Set CPU yang dipesan dan penugasan dapat dikueri menggunakan bendera AllocatedToTargetProcess dari struktur SYSTEM_CPU_SET_INFORMATION. Jika proses mencoba menggunakan penetapan Set CPU yang dialokasikan secara eksklusif untuk proses lain, permintaannya diabaikan dan utas yang ditetapkan untuk set CPU yang tidak diizinkan dijadwalkan di tempat lain. Set CPU dapat ditetapkan pada dua tingkat. Set CPU Default Proses ditetapkan ke semua utas dalam proses yang tidak memiliki penugasan di tingkat Utas Dipilih. Jika utas atau proses memiliki set mask afinitas terbatas, masker afinitas dihormati di atas penetapan Set CPU yang bertentangan. Pada sistem multi-grup, penetapan CPU diabaikan jika berada dalam grup yang tidak cocok dengan grup dalam masker afinitas utas. Jika utas ditetapkan ke beberapa Set CPU yang valid, utas tersebut akan berjalan pada salah satu prosesor yang sesuai dengan prioritasnya dan prioritas utas pesaing pada prosesor tersebut.
Fungsi/Enumerasi/Struktur Set CPU
- fungsi GetProcessDefaultCpuSets
- fungsi GetProcessDefaultCpuSetMasks
- fungsi GetSystemCpuSetInformation
- fungsi GetThreadSelectedCpuSets
- fungsi GetThreadSelectedCpuSetMasks
- fungsi SetProcessDefaultCpuSets
- fungsi SetProcessDefaultCpuSetMasks
- fungsi SetThreadSelectedCpuSets
- fungsi SetThreadSelectedCpuSetMasks
- enumerasi CPU_SET_INFORMATION_TYPE
- struktur SYSTEM_CPU_SET_INFORMATION