Создатель диспетчера задач для Windows объяснил нюансы по сравнению с использования ЦП

4 мин
Создатель диспетчера задач для Windows объяснил нюансы по сравнению с использования ЦП

Бывший инженер Microsoft Дэйв Пламмер, работавший над добавлением поддержки ZIP-файлов в Windows и меню «Пуск» Windows NT, рассказал, как диспетчер задач фактически считывает загрузку ЦП. 

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

«Измерение использования ЦП звучит так, будто это должна быть одна из самых простых задач в вычислительной технике — я имею в виду, либо ЦП занят, либо нет, верно? Это кремний, а не интерпретативный танец. Конечно, вы просто спрашиваете Windows: “Эй, насколько ты занята?”, и она говорит вам 73 процентов, и тогда мы все расходимся по домам пораньше — но ничего из этого не соответствует действительности. Первый неудобный вопрос: “Чем именно занята?“. Занято ли одно ядро ​​или все? Занят ли ЦП прямо сейчас, или в среднем за последнюю секунду или две, или как часто активируется ваш пользовательский оболочку? Занят ли пользовательский режим, или режим ядра, или время прерывания, или отложенные вызовы процедур, или цикл простоя, или какой-то странный учётный контейнер, который существует только потому, что планировщику нужно было куда-то девать счета? И как только вы начинаете задавать эти вопросы, то, что выглядит как простой спидометр, начинает больше походить на криминалистическую бухгалтерию», — объяснил Пламмер.

По его словам, диспетчер задач работает по таймеру, то есть он периодически обновляется, чтобы показать актуальную цифру. Это показывает, что машина отображает интерпретацию того, что произошло с ПК между каждым обновлением, а не реальное представление фактического использования процессора. Простым решением было бы разделить использование процессора на время, прошедшее между обновлениями, но Пламмер сообщает, что это зависит от точности срабатывания таймера графического интерфейса. Он сравнил это с «доверием к метроному, который будет идеально ровным, пока едет по ухабистой грунтовой дороге, полной выбоин». 

Вместо этого он запрограммировал диспетчер задач так, чтобы тот запрашивал общее время каждого процесса с момента его запуска, то есть сумму времени ядра и пользовательского. Затем он вычитает из этого значения последнее общее время, полученное во время последнего обновления от этого конкретного процесса, чтобы получить потребление ЦП за этот период. Затем это число делится на общее время ЦП, учтенное и потреблённое всеми процессами между обновлениями. Хотя это может показаться сложнее, чем простое деление общего использования ЦП на время, прошедшее между обновлениями, работает гораздо точнее, говорит инженер.

Тем не менее технологические достижения сделали это решение неточным. Поскольку учёт представляет собой лишь среднее значение между состояниями обновления, он не учитывает фактическую работу, происходящую в конкретный момент времени. «Современная загрузка ЦП больше похожа на загруженность автострады, чем на фактическое пройденное расстояние. На наполовину заполненной автостраде, где ездят Ferrari, может проехать гораздо больше машин, чем на забитой старыми цементовозами. Старый диспетчер задач был создан в эпоху, когда время, затраченное на работу, было довольно точным показателем выполненной работы. Но на современных процессорах с динамическим масштабированием частоты, турбонаддувом, термическим дросселированием и глубокими состояниями простоя эта связь стала гораздо слабее. Поэтому, когда цифры кажутся немного неточными, это не столько потому, что инструмент сломан, сколько потому, что аппаратное обеспечение перестало быть в достаточной степени простым, чтобы один процент мог рассказать вам всю историю», — продолжил Пламмер. 

Он равным образом внедрил замечание: «Если бы я был королём… загрузка ЦП должна быть мерой объёма выполненной работы по сравнению с теоретическим максимальным объёмом работы, который МОГ БЫ быть выполнен». 

Ранее Пламмер протестировал в своей лаборатории 25 компьютеров, выпущенных с 1976 по 2023 год. Он использовал бенчмарк Dhrystone 2.2. В процессе теста современный Mac Pro на чипе Apple M2 Ultra оказался быстрее ПК 70-х годов PDP-11/34 приблизительно в 200 тысяч раз. В соответствии с заявлению Пламмера, разница могла быть и больше, если бы код использованного им бенчмарка не был однопоточным.

Читают сейчас

Вышел альфа-релиз Paint.NET 5.2 с экспериментальной поддержкой Wine/Linux

47 минут назад

Вышел альфа-релиз Paint.NET 5.2 с экспериментальной поддержкой Wine/Linux

1 сентября 2026 года состоялся выпуск альфа-версии графического редактора с открытым исходным кодом Paint.NET 5.2 для Windows 10/11 (64-бита) и с экспериментальной поддержкой Wine/Linux (Wine 11.14, U

48 минут назад

Операционная платформа «Альт Образование» бесплатна для школ — акция от «Базальт СПО»

Операционная платформа «Альт Образование» бесплатна для школ — акция от «Базальт СПО» Организация «Базальт СПО» запускает специальное предложение для школ: операционная система «Альт Образование» 11 п

Google добавила агентный аналитика видео в Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite

57 минут назад

Google добавила агентный аналитика видео в Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite

Google запустила агентный анализ видео для Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite. Теперь модель анализирует видео не как последовательность кадров с фиксированной частотой, а сама решает, какие

Апдейт платформы «Октопус» от ГК «Юзтех»: историческая анализ и расширенная сопровождение инфраструктур

2 часа назад

Апдейт платформы «Октопус» от ГК «Юзтех»: историческая анализ и расширенная сопровождение инфраструктур

В новых версиях «Октопус» мы сфокусировались на трёх направлениях: расширении возможностей управления ИТ-инфраструктурой, повышении производительности и развитии интеграций. Система получила новые сце

Frank Media рассказал о сложностях, с которыми столкнулись пользователи при попытке воспользоваться цифровым рублём

2 часа назад

Frank Media рассказал о сложностях, с которыми столкнулись пользователи при попытке воспользоваться цифровым рублём

С 1 сентября должно было начаться массовое добавление цифрового рубля — третьей формы денег, которую Банк России обсуждает уже около шести лет. Тем не менее, судя по первым дням запуска, доступ к ново