Пользователи Stack Exchange рассказали, как дёрганье мышью на самом деле ускоряло работу в Windows 95

Оказывается, это правда работало.

В закладки
Аудио
Рабочий стол Windows 95 Скриншот Github

1 июля один из пользователей сайта вопросов и ответов Stack Exchange вспомнил о странном поведении Windows 95 при установке приложений. По его словам, процесс можно было ускорить, если перемещать курсор мыши по экрану, однако он не нашёл объяснений в интернете.

Я играл в Hypnospace Outlaw — игру об операционной системе в стиле ретро. Эта ОС своеобразно себя ведёт при загрузке сайтов: дёрганье мышью позволяет загрузить страницу быстрее.

Это напомнило мне кое о чём. Когда я был молод, я точно помню, что Windows 95 (если не в 98) странно себя вела во время установки программ: перемещение курсора мыши ускоряло прогресс. Чем это вызвано? Я пытался нагуглить ответ, но не нашёл ничего об этом.

пользователь user2652379 на Stack Exchange

Пользователи Stack Exchange подтвердили правдивость воспоминаний user2652379. Они пояснили, что причина поведения системы крылась в её архитектуре.

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

Если программе нужно было, к примеру, скопировать файлы, система ставила запрос в очередь, ожидала наполнения буфера фоновыми задачами, и только после этого обрабатывала весь пакет. При этом пока задача находилась в режиме ожидания — приложение фактически не работало.

Двигая курсором мыши, пользователи заполняли буфер входящими событиями, заставляя систему перезапускать цикл. Это создавало эффект, что программа работает быстрее.

Перемещая курсор вы обходите систему, чтобы поднять свой запрос на обработку первее остальных.

В качестве примера пользователи привели установку крупных программ, которую можно было сократить с часа до 15 минут, двигая мышкой. Также одним из самых известных примеров была утилита дефрагментации диска, которую тоже можно было ускорить перемещениями курсора.

Как предположили комментаторы, такое поведение системы было обусловлено совместимостью с низкопроизводительным оборудованием. По одной из версий, систему спроектировали с прицелом на максимальную отзывчивость, поэтому действия пользователя поднимают программу в приоритете.

Пользователь под псевдонимом Cody Gray пояснил, что странное поведение Windows 95 могло быть связано не с самой системой, а с неправильным использованием её особенностей разработчиками. Он сослался на статью разработчика Microsoft Рэймонда Чена, который описал распространённую ошибку вызова функции MsgWaitForMultipleObjects.

В материале говорится, что функцию нельзя вызывать, если в очереди уже находятся задачи, ожидающие обработки. В противном случае она будет возвращать результат не сразу, а с задержками.

Как пояснили на Stack Exchange, подобная особенность встречалась только на Windows 95. В более поздних версиях системы архитектуру многозадачности изменили.

#ретро #windows #интернет #разработка

{ "author_name": "Дамир Камалетдинов", "author_type": "editor", "tags": ["\u0440\u0435\u0442\u0440\u043e","\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442","windows"], "comments": 63, "likes": 154, "favorites": 60, "is_advertisement": false, "subsite_label": "tech", "id": 105088, "is_wide": false, "is_ugc": false, "date": "Fri, 05 Jul 2019 20:13:45 +0300" }
{ "id": 105088, "author_id": 50011, "diff_limit": 1000, "urls": {"diff":"\/comments\/105088\/get","add":"\/comments\/105088\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/105088"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 214344, "last_count_and_date": null }
63 комментария

Популярные

По порядку

Написать комментарий...
30

Подтверждаю! Даже фотки Джины Джеймсон грузились и открывались потом быстрее когда мышкой тремор устраивал во времена диалапа на 486-м под характерный свист 33й скорости))

Ответить
46

Если кто-то миллениал, вот фотка

Ответить
2

простите, а кто это вообще? чем известна?

Ответить
57

Это Джина Джеймсон

Ответить
4

Сколько же раз я не мог дотерпеть до полной загрузки сверху вниз с дискеты) уже к 12 картинке я был готов)

Ответить
38

Бородатая шутка про "Поступило предложение, чтобы картинки на порносайтах загружались снизу вверх".

Ответить
0

А такое можно было реализовать?

Ответить
5

Можно на сервере перевернуть картинку и отдавать как обычный жпег, а клиент пусть монитор перевернет.

Ответить
0

Это к разработчикам JPEG.

Ответить
0

У тебя там в каком качестве было, что ты не мог дотерпеть чтения с дискеты?

Ответить
2

Как ща помню-на дискетах бывало по 20 картинок или 25 максимум

Ответить
0

Не Джина, а Дженна.

Ответить
0

у коли чумакова спроси, он наверняка ретро тоже изучал

Ответить
3

радикальная фемка?

Ответить
0

ну тогда блондинки были в моде

Ответить
0

Катя Кищук

Ответить
0

а есть фотка полная? знакомый просит

Ответить
0

Да, держи .

Ответить
0

а есть фотка полная?

Если недостаточно, то ищи её более свежие фото.
Это Бритни в молодости, говорят, что сейчас она поправилась.

Ответить
0

Не прогрузилась до конца, залей ещё раз, плиз

Ответить
5

Джена, а не Джина она

Ответить
1

У меня 44 кбит/сек выдавал иногда.

Ответить
1

У тебя коробка была со спорт-режимом)

Ответить
1

Тоже помню эти 2 минуты.

Ответить
32

Осталось доказать, что если на кнопку вызова лифта постоянно нажимать, то лифт приедет быстрее.

Ответить
3

Интересно, а на денди, сеге и сони тоже при загрузки можно было кнопки жмакать чтобы быстрее было

Ответить
4

Можно даже на Электронике с волком и яйцами если на ней винда была подкинута)

Ответить
2

Там если продут картридж, то лучше работать будет

Ответить
–4

Почему про это говорится как будто это баг какойто неизвестный? Это в msdn описано и входило в часть билетов мгу по курсу операционных систем.
Ну да, приложение получало буст и есть функции апи которые этим управляют

Ответить
6

Входило в часть билетов мгу по курсу операционных систем.

Не входило.

Ответить
3

Входило. И сейчас входит судя по слайдам http://al.cs.msu.su/system/files/lect_3_4.pdf и я даже сука нашёл цитату в лекциях
Она работает в режиме, при котором минимизируется время реакции системы на запрос пользователя. В идеале, за счет того, что время ответа на запрос минимально, у пользователя должна создаваться иллюзия, что все ресурсы системы предоставлены только ему.

И про эти функции апи тоже говорилось

Ответить
5

Ну прости, ты говоришь про типы ос - пакетные, разделения времени и реального времени, а не про конкретную работу конкретной функции в Windows 95 (которая, если я не ошибаюсь, является таки системой разделения времени, а не пакетной).

Кроме того, про функции апи у нас на лекциях не говорили. Хотя бы потому, что рассматривались исключительно *nix, а не Windows.

Слайд который ты кинул из какого то дремучего филиала мгу, на вмк мгу в Москве такого нет.

Ну и наконец, билетов по ос у нас нет. Есть те, что делают студенты, но официальными они не могут считаться по очевидным причинам.

Ответить
0

Да похуй что там у вас сейчас, можете без билетов учиться можете вообще за посещение дипломы получать, я говорил о времени когда садовничий ещё из ума не выжил и не раздавал территорию всяким девелоперам

Ответить
23

У пихто подгорела жопа из за моего комментария. День прошёл не зря.

Ответить
3

Какое внимание к моей жопе

Ответить
0

Так ты парень?

Ответить
0

Чё не спишь?

Ответить
0

С чего ты взял?

Ответить
0

Сексист-с.

Ответить
0

Какую девушку возьмут на все мгу?

Ответить
1

Ну и понятно это до сих пор есть просто не так заметно. И в линухах это тоже есть, алё

Ответить
0

В андроидах и айОс такое есть?

Ответить
1

хз, ну думаю да, зачем бы им это вырезать из ядра полезная функция

Ответить
2

Олды помнят

Ответить
2

У меня и в XP был какой-то невменяемый баг с сетевой картой (или ее дровами), которая передавала траффик только при движении курсора.

Ответить
0

у меня был баг со звуком. когда двигал курсор из колонок доносился хруст

Ответить
0

Это вообще было общее место, много где с таким сталкивался.

Ответить
0

это не баг, а общая земля USB и звукового тракта.

Ответить
0

я юзер для меня это баг

Ответить
0

В противном случае она не будет возвращать результат не сразу, а с задержками.

Не, не, тут лишнее не

Ответить
3

А материал огонь, конечно :)

Ответить
0

Значит я был прав, когда дёргал мышкой!

Ответить
0

Объяснение не совсем корректное. Просто в виндеус 95 для создания видимости быстродействия, приложению с окном которого работает пользователь выделялось больше процессорного времени. Таким образом набирая текст или двигая мышью над окном, это приложение получало приоритет над другими, что создавало ощущение быстрой реакции системы на действия пользователя. Вот и все.

Ответить
0

почему ощущение? если выделено больше ресурсов значит отклик и работа программы был будет быстрее на деле а не по ощущениям

Ответить
0

Да вы правы. Я неточно выразился

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]
Оперативные новости со всего мира
Подписаться на push-уведомления