Помните была раньше такая байка, что когда что то копируется или грузится на компьютере пользователи дергали стрелочкой мышки и казалось, будто бы процесс начинает идти быстрее. Вроде бы как "не даешь засыпать" компьютеру. Вроде как давай, давай быстрее. Так вот, во всем этом оказывается есть доля правды. Удивились? Я тоже... 1 июля один из пользователей сайта вопросов и ответов Stack Exchange вспомнил о странном поведении Windows 95 при установке приложений. По его словам, процесс можно было ускорить, если перемещать курсор мыши по экрану, однако он не нашёл объяснений в интернете.
"Я играл в Hypnospace Outlaw — игру об операционной системе в стиле ретро. Эта ОС своеобразно себя ведёт при загрузке сайтов: дёрганье мышью позволяет загрузить страницу быстрее. Это напомнило мне кое о чём. Когда я был молод, я точно помню, что Windows 95 (если не в 98) странно себя вела во время установки программ: перемещение курсора мыши ускоряло прогресс. Чем это вызвано? Я пытался нагуглить ответ, но не нашёл ничего об этом." Пользователи Stack Exchange подтвердили правдивость воспоминаний user2652379. Они пояснили, что причина поведения системы крылась в её архитектуре. В Windows 95 использовали приоритетную многозадачность: система сама принимала решения о переключении между задачами. При этом ОС обрабатывала события циклами: задачи ввода-вывода данных исполнялись сразу, а на фоновые задачи выделялось одинаковое количество времени — 15,6 миллисекунды. Если программе нужно было, к примеру, скопировать файлы, система ставила запрос в очередь, ожидала наполнения буфера фоновыми задачами, и только после этого обрабатывала весь пакет. При этом пока задача находилась в режиме ожидания — приложение фактически не работало. Двигая курсором мыши, пользователи заполняли буфер входящими событиями, заставляя систему перезапускать цикл. Это создавало эффект, что программа работает быстрее. В качестве примера пользователи привели установку крупных программ, которую можно было сократить с часа до 15 минут, двигая мышкой. Также одним из самых известных примеров была утилита дефрагментации диска, которую тоже можно было ускорить перемещениями курсора. Как предположили комментаторы, такое поведение системы было обусловлено совместимостью с низкопроизводительным оборудованием. По одной из версий, систему спроектировали с прицелом на максимальную отзывчивость, поэтому действия пользователя поднимают программу в приоритете. Пользователь под псевдонимом Cody Gray пояснил, что странное поведение Windows 95 могло быть связано не с самой системой, а с неправильным использованием её особенностей разработчиками. Он сослался на статью разработчика Microsoft Рэймонда Чена, который описал распространённую ошибку вызова функции MsgWaitForMultipleObjects. В материале говорится, что функцию нельзя вызывать, если в очереди уже находятся задачи, ожидающие обработки. В противном случае она будет возвращать результат не сразу, а с задержками. Как пояснили на Stack Exchange, подобная особенность встречалась только на Windows 95. В более поздних версиях системы архитектуру многозадачности изменили. Вот такие дела.
https://masterok.livejournal.c...
Вернуться назад
|