Ветеран Microsoft Рэймонд Чен продолжает делиться интересными историями из прошлого компании. В своём свежем сообщении официального блога он рассказал, почему в культовой Windows 95 отсутствовала, казалось бы, очевидная функция для экономии энергии. Как оказалось, виновата в этом была вовсе не Microsoft, а производители компьютеров того времени.
Речь идёт о команде HLT (от английского Halt — «остановить» или «стоп»), которая появилась ещё в процессорах Intel 386. Её суть была проста: получив эту команду, процессор прекращал все вычисления и переходил в режим пониженного энергопотребления до тех пор, пока пользователь не нажимал на клавишу или не двигал мышью.
Казалось бы, крайне полезная функция для экономии заряда батареи в ноутбуках. Однако в Microsoft от её внедрения в Windows 95 отказались. Причина оказалась в «железе»: многие производители ПК того времени реализовали поддержку этой команды некорректно. В результате на таких компьютерах выполнение команды HLT приводило к полному и необратимому зависанию системы.
Так вот, поскольку истинная причина не была известна широкой публике, в те годы многие обвиняли Microsoft в лени и нежелании реализовывать полезную функцию. Автор этих строк не был погружён в тонкости работы Windows 95, поэтому старожилы могут сейчас высказать своё мнение по этому поводу в комментариях. Если верить словам разработчика, то описанная выше проблема на самом деле была на стороне производителей оборудования.
По словам Чена, в компании рассматривали вариант с созданием программной надстройки, которая бы проверяла, корректно ли компьютер поддерживает HLT. Но от этой идеи быстро отказались из-за боязни наделать новых проблем: ошибка в определении могла привести к полному зависанию машины пользователя.
Журналисты издания Neowin напоминают, что в современных компьютерах для схожих целей используется команда MWAIT, но в эпоху Windows 95 единственным решением была HLT. Именно её отсутствие и стало причиной многолетней критики в адрес Microsoft, которая, как теперь выяснилось, была не совсем заслуженной.