Йдеться про варіант ні неповноцінний; Windows робить ні маніпулювати процесором або материнською платою або мультиплікаторами або FSB або що завгодно. Варіант, який ви запитуєте, - це лише фактор, який використовується під час планування завдань .
Коли процеси виконуються, планувальник завдань Windows виділяє певну кількість Цикли процесорів до різних процесів і перемикається вперед і назад для включення переважне багатозадачність . Як правило, він призначає стільки циклів процесора, скільки є для того, щоб працювати все якомога швидше. Якщо є вільні цикли, це дозволяє програмі запускати, якщо ні, то ставить процес в a черга і перевіряє, чи є інша програма, яка використала свій розподіл на поточний "Квант" (або "час-фрагмент") і повинна бути переміщена до задньої лінії.
Не дивно, що запуск процесора на 100% потужності на деякий час підігріє його, і це може бути небажаним. Що дозволяє вам зробити Windows, це призначити обмеження на те, наскільки потужність процесора може використовуватися.
У цьому випадку, коли процеси запитують процесорний час, планувальник працює точно так само, як раніше, за винятком того, що він використовує обмеження, вказане в його розрахунках, а не 100%. Як наслідок, будуть використовуватися процесорні цикли, які залишаються невикористаними, що дозволяє ЦП залишатися на більш низькій температурі.
Як спрощений і надуманий приклад, уявіть, що це було псевдокод для алгоритму планування (з коментарями, позначеними ; ):
; function to calculate total CPU cycles used by all processes
calc-total-used:
used-total = 0 ; initialize counter to 0
for each program: ; loop through each running process
used-total = used-total + process-used ; add CPU cycles of each process to counter
return used-total as percentage ; convert to percent and return value
; main scheduling control, check if free cycles available
if (calc-total-used < max-percent) ; calc used %, see if less than max allowed
then run program ; if so, run the program
else: ; if not, try to free some up
add program to queue ; if not, add it to the queue
… ; check if any process are out of cycles
Зверніть увагу, як розрахунок планування використовує a max-percent змінної замість жорсткого кодування 100%. Таким чином, якщо ви встановите його нижче 100%, це дозволить програмі запускатися, лише якщо поточне використання менше 100% , що, звичайно, означає, що будь-який процесор працює між собою max-percent вище, які не будуть використовуватися.
Тому цей варіант не може завдати шкоди процесору; це нічим не відрізняється від простого запуску будь-яких програм та простої роботи системи (ймовірно, ви вже мали працювати в режимі холостого ходу близько 0% завантаження процесора) багато разів).