Время ЦП пользователя по сравнению с временем ЦП системы?

Не могли бы вы объяснить подробнее о "пользовательском процессоре" и "системном процессоре"? Я много читал, но не мог понять это хорошо.

4 ответа

Разница заключается в том, потрачено ли время в пространстве пользователя или в пространстве ядра. Процессорное время пользователя - это время, потраченное на процессор, выполняющий код вашей программы (или код в библиотеках); Системное процессорное время - это время, потраченное на выполнение кода в ядре операционной системы от имени вашей программы.

User CPU Time: количество времени, в течение которого процессор работал над определенной программой.

System CPU Time: время, в течение которого процессор работал над функциями операционной системы, связанными с этой конкретной программой.

Поначалу термин "время процессора пользователя" может вводить в заблуждение. Для ясности, общее время (реальное время ЦП) - это комбинация времени, которое ЦП тратит на выполнение какого-либо действия для программы, и количества времени, которое ЦП тратит на выполнение системных вызовов для ядра от имени программы. Когда программа проходит через массив, она накапливает пользовательское процессорное время. И наоборот, когда программа выполняет системный вызов, такой как exec или fork, она накапливает системное процессорное время.

Основано на википедии:

  • Пользовательское время - это время, в течение которого процессор был занят выполнением кода в пользовательском пространстве.
  • Системное время - это время, в течение которого процессор был занят выполнением кода в пространстве ядра. Если об этом значении сообщается для потока или процесса, то оно представляет количество времени, в течение которого ядро ​​выполняло работу от имени исполняющего контекста, например, после того, как поток выпустил системный вызов.
Другие вопросы по тегам