Коротка відповідь, як люди написали ціле книги про цю тему:
Цикли зазвичай виражаються термінологією "CPU time". Процесу виділяється певне число «квантів» на ЦП. Майте на увазі, що в архітектурах CISC (наприклад, x86) одна «інструкція» може зайняти кілька циклів.
У найпростіших круглих планувальниках для кожного процесу буде виділено 50% процесорного часу (якщо є 2), тому кожне завдання займе вдвічі довше, якщо це залежатиме тільки від ЦП.
Проте всі сучасні операційні системи мають більш просунуті алгоритми планування, які враховують один або більше з наступних параметрів:
- Пріоритет
- Стан (заблоковано для вводу-виводу, виконується, зупинено тощо)
- Останній раз процес працював на процесорі
Залежно від алгоритму планування, процеси будуть дозволені для запуску на ЦП до:
- Він запитує I / O і буде заблокований ним
- Процес з більш високим пріоритетом потребує часу процесора ( попередження )
- Виконується апаратне переривання.
- Квантовий процес закінчується.
Як організовується остаточне чергування, залежить від планувальника. Описано планувальник Linux тут .
Думати про цикли не дуже корисно в контексті реального комп'ютера світу. Одна інструкція, як зазначено вище, може приймати кілька циклів на архітектурах CISC. CPU також використовуватиме цикли для перемикання між процесами (зміна регістрів, оновлення MMU тощо). Цикли як такі не є дійсно хорошим показником для використання при описі використання процесора.
Корисний вихід ЦП в основному визначається тим, наскільки швидко він може обробляти запити обробки. Коли процеси готові до обробки, вони ставляться в чергу в виконати чергу , поки процесор не буде оброблений. До тих пір, поки процеси не повинні чекати більше, ніж квантові (~ 200 мс), які будуть виконуватися, система по суті так швидко, як вона збирається отримати. У ОС це відображається як число (або як плаваюче число (Linux: top
/ uptime
) або відсоток (Windows Taskmanager).
Щоб дати коротку відповідь на запитання, яке ви ставите в назві: утилізація стає високою, оскільки чергу запуску зростає. "Використання", яке ви бачите в Windows або Linux, - це лише середня довжина черги виконання.