Как ОС может измерять мощность процессора? - PullRequest
0 голосов
/ 30 марта 2012

В настоящее время я думаю, что процессор имеет только два состояния: запущен и не запущен. Если он работает, он будет использовать всю свою мощь для обработки задачи. Если есть несколько процессов, процессы будут совместно использоваться частью ЦП.

Как вычислительную мощность можно разделить на «порции»? Итак, предположим, что процессор имеет 1 миллион транзисторов, только половина транзисторов используется, если процессор только на 50%?

Или это связано с распределенным временем обработки для каждого процесса? то есть предположим, что «100%» означает, что процесс захватывает ЦП на 200 миллисекунд, если процесс со стандартным значением по умолчанию (значением приоритета) 0, что означает, что процесс получит 50% вычислительной мощности или, другими словами, 100 миллисекунд. Какая правильная идея?

1 Ответ

3 голосов
/ 30 марта 2012

Позвольте мне объяснить это на примере процессоров Intel x86 и Windows NT (и его производных).Одним из встроенных системных процессов в этих ОС является System Idle Process .Этот процесс показывает, сколько процессорного времени используется «циклом ожидания» операционной системы.Этот цикл ожидания ничего не делает, кроме как выполняет команду HLT ЦПУ.Эта инструкция, в свою очередь, предписывает ЦП ничего не делать до тех пор, пока не появится следующее прерывание.

Поэтому, если планировщик решает, что в данный момент нет процессов, требующих времени ЦП, он передается Процесс простоя системы .Скажем, если 99% времени за последние n секунд было потрачено на "выполнение" этого процесса, это означает, что ЦП действительно использовался только в 1% в этих n секунд.

Я полагаю, что это полностью аналогично Linux, только то, что в нем нет отдельного процесса для моделирования "простоя" процессора.

С другой стороны: этоКонечно, возможно иметь ОС, которая вообще не выполняет инструкцию HLT.Это имело место в Windows 98 и более ранних версиях (включая, очевидно, MS-DOS), чей цикл простоя просто состоял из jmp $.Это заставило процессор использовать больше энергии.

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