INT 28 idle implementation for NT VDM
by Vitaliy Vorobyov aka DeathSoft
Ситуация: DOS программы используют глухой цикл для ожидания команд пользователя (ввод с клавиатуры,
мышиные движения и т.п.).
Проблема: повышенное энергопотребление процессора и трудности при использовании backgroung задач (например печать)
Решение: начиная DOS 2.0 введена функция ожидания пользовательских действий - INT 28.
Если программа пользуется этой ф-цией, ожидание происходит на инструкции HLT,
либо в это время исполняется какая-нибудь полезная задача.
Проблема N2: в виртуальной машине DOS в NT эта ф-ция не реализована, поэтому
программы, ориентированные на ее использование потребляют 100% CPU даже в режиме бездействия.
Получается, что в могозадачных ОС процессорное время тратится впустую. Плюс к этому с появлением нового
поколения процессоров с большим тепловыделением глухой цикл вызывает бесполезный нагрев и как следствие -
вой вентилятора, т.к. скорость его вращения напрямую зависит от температуры.
Решение N2: установить предлагаемый ниже драйвер.
Distribution:
ntvdm_int28_v1.rar/tgz (13 Kb/13.5 Kb)
2005.03.24
|