Процесс простоя системы

редактировать
Процесс простоя системы
Диспетчер задач Windows в Windows XP показывает использование процесса простоя системы на 99%, что указывает на то, что ни один другой процесс не использует значительное время ЦП. Диспетчер задач Windows в Windows XP показывает использование процесса простоя системы на 99%, что указывает на то, что ни один другой процесс не использует значительное время ЦП.
Операционная система Майкрософт Виндоус
Тип Ядро

В операционных системах Windows NT процесс простоя системы содержит один или несколько потоков ядра, которые запускаются, когда на ЦП нельзя запланировать другой исполняемый поток. В многопроцессорной системе с каждым ядром ЦП связан один неактивный поток. В системе с включенной гиперпоточностью для каждого логического процессора существует свободный поток.

Основная цель простаивающего процесса и его потоков - исключить то, что в противном случае было бы особым случаем в планировщике. Без незанятых потоков могут быть случаи, когда ни один поток не может быть запущен (или «готов» в терминах состояний планирования Windows). Поскольку незанятые потоки всегда находятся в состоянии готовности (если еще не запущены), этого никогда не произойдет. Таким образом, всякий раз, когда планировщик вызывается из-за того, что текущий поток покидает его ЦП, всегда можно найти другой поток для выполнения на этом ЦП, даже если это всего лишь незанятый поток ЦП. Таким образом, процессорное время, отнесенное к неактивному процессу, указывает на количество процессорного времени, которое не требуется или не требуется для любых других потоков в системе.

Планировщик рассматривает незанятые потоки как особые случаи с точки зрения приоритета планирования потоков. Простаивающие потоки планируются так, как если бы каждый из них имел более низкий приоритет, чем может быть установлен для любого обычного потока.

Из-за функции незанятого процесса измерение его процессорного времени (видимое, например, через диспетчер задач Windows ) может показаться пользователям, что неактивный процесс монополизирует процессор. Однако процесс ожидания не использует ресурсы компьютера (даже если заявлено, что он запущен с высоким процентом). «Использование» процессорного времени - это показатель того, сколько процессорного времени не используется другими потоками.

В Windows 2000 и более поздних версиях потоки в процессе простоя системы также используются для экономии энергии ЦП. Точная схема энергосбережения зависит от версии операционной системы, а также от возможностей оборудования и прошивки рассматриваемой системы. Например, на процессорах x86 под Windows 2000 незанятый поток будет запускать цикл инструкций остановки, что заставляет ЦП отключать многие внутренние компоненты до тех пор, пока не поступит запрос на прерывание. В более поздних версиях Windows реализованы более сложные методы энергосбережения ЦП. В этих системах неактивный поток будет вызывать подпрограммы на уровне аппаратной абстракции для снижения тактовой частоты процессора или для реализации других механизмов энергосбережения.

Есть более подробные источники такой информации, доступные через систему мониторинга производительности Windows (доступную с помощью программы perfmon), которая включает более детальную категоризацию использования ЦП. Ограниченное подмножество категоризации времени ЦП также доступно через диспетчер задач, который может отображать использование ЦП по ЦП и классифицировать по времени, затраченному на пользовательский код и код ядра.

Смотрите также
Рекомендации
  • Руссинович, Марк ; Дэвид А. Соломон (2005). «Глава 2: Архитектура системы». Microsoft Windows Internals (4-е изд.). Microsoft Press. С.  75–76. ISBN   0-7356-1917-4.
Последняя правка сделана 2023-04-17 02:26:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте