Не могли б ви пояснити більше про "час процесора користувача" та "системний час процесора"? Я багато читав, але не міг це добре зрозуміти.
Не могли б ви пояснити більше про "час процесора користувача" та "системний час процесора"? Я багато читав, але не міг це добре зрозуміти.
Відповіді:
Різниця полягає в тому, чи витрачається час у просторі користувача чи просторі ядра. Час процесора користувача - це час, витрачений на процесор, на якому запущений код вашої програми (або код у бібліотеках); Час системного процесора - це час, витрачений на виконання коду в ядрі операційної системи від імені вашої програми.
Час процесора користувача : кількість часу, протягом якого процесор працював над конкретною програмою.
Системний час процесора : кількість часу, протягом якого процесор працював над функціями операційної системи, підключеними до цієї конкретної програми.
Термін "час процесора користувача" спочатку може трохи ввести в оману. Щоб бути зрозумілим, загальний час (реальний час процесора) - це поєднання кількості часу, витраченого процесором, виконуючи певну дію для програми, і кількості часу, витраченого процесором, виконуючи системні дзвінки для ядра від імені програми. Коли програма переглядає масив, вона накопичує час процесора користувача. І навпаки, коли програма виконує системний виклик, такий як exec або fork, вона накопичує системний час процесора.
На основі wikipedia :
- Користувацький час - це час, протягом якого центральний процесор був зайнятий виконанням коду в просторі користувача.
- Системний час - це час, протягом якого центральний процесор був зайнятий виконанням коду в просторі ядра. Якщо це значення повідомляється для потоку або процесу, тоді воно відображає кількість часу, яке ядро виконувало роботу від імені виконуваного контексту, наприклад, після того, як потік видав системний виклик.