Почему движением мышки в Windows 95 можно было ускорить систему

Эффект от движений мышью довольно заметен в Windows 95

Часто когда компьютер долго «думает», мы двигаем мышкой туда-сюда, как будто это может его ускорить. Однако для пользователей Windows 95 это был не просто жест, а действие, которое реально делало ОС быстрее. Разгадать эту загадку удалось совместными усилиями пользователей Stack Exchange, которые разобрали особенность работы той операционной системы от Microsoft.

Обсуждения на форуме Stack Exchange началось после того, как один из юзеров играл в игру Hypnospace Outlaw о ретро-операционной системе. В этой игровой ОС была особенность поведения: можно было ускорить загрузку веб-страницы, двигая мышкой туда-сюда. Пользователь вспомнил, что похожее поведение демонстрировала и Windows 95. При инсталляции программ движения курсором ускоряли процесс.

Некоторые юзеры форума ответили, что такое ощущение ускорения работы ОС от движений мышью является исключительно самовнушением. Однако знакомые с конструкцией Windows 95 рассказали, что движения мышкой действительно оживляли систему.

Причина необычной зависимости скорости работы Windows 95 от движений курсора заключается в системе генерации событий. Приложения того времени также опирались на события. Для своей работы программы Windows 95 используют асинхронный ввод-вывод. Например, если приложение хочет скопировать файл, он дает ОС соответствующую команду, а также позволяет поместить себя в состояние сна. Таким образом удавалось уменьшить потребление мощности процессора, ведь приложение не спрашивало ежесекундно об окончании процесса копирования.

На слабых компьютерах Windows 95 пытается группировать события о завершении операций ввода-вывода и не передает их в приложения по одному. Для пользователя это выглядит как замедление работы компьютера. Когда пользователь двигает мышкой, он генерирует операции ввода-вывода, и ОС передает пакет таких операций приложения, выводя его из состояния сна.

Эффект от движений мышью довольно заметен в Windows 95: инсталляция большой программы в стандартном режиме может занимать около часа. Если двигать при этом мышью, можно сократить нужное время до 15 минут.