Alter.Org.UA
 << Back Home EN en   Donate Donate

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


Автор: Alter (Александр А. Телятников) Сервер: Apache+PHP под FBSD © 2002-2024