Разработчик Реймонд Чен раскрыл тайну появления названия ошибки hard error в Windows

Ветеран Microsoft Реймонд Чен раскрыл очередной секрет эпохи 16-битной Windows, связанный с названием ошибки hard error.

В эпоху Windows 3.1 и ей подобных Microsoft столкнулась с проблемой выдачи сообщения об ошибке, которое бы сигнализировало о том, что система не запустится.

Чен выделил ошибку ввода-вывода, возникающую при попытке чтения с диска: «Windows не может показать традиционный MessageBox, потому что он перекачивает сообщения и позволяет запускать код приложения в то время, когда правила совместной многозадачности гласят, что код приложения не должен выполняться». Сообщения же были сгенерированы изнутри системы ввода-вывода, ниже уровня пользовательского интерфейса. Таким образом, они рассматривались как сообщения о «мягкой ошибке» (soft error).

Код для отображения особых «жёстких системных модальных ошибок» был тщательно прописан, чтобы полагаться только на повторно входящие части кода пользовательского интерфейса. Фактически, он использовал обработку ввода с помощью мыши и клавиатуры. Вся графика рисовалась посредством запроса интерфейса графического устройства (GDI) непосредственно в буфере кадра, а все варианты поведения были прописаны вручную. Пока это сообщение показывалось пользователю, запуск кода приложения был запрещён.

В комментарии к сообщению Чена упоминается обходной путь, в котором скрепка использовалась для удержания клавиши R в диалоговом окне «Прервать/Повторить/Отменить», когда возникла ошибка ввода-вывода из-за нарушения общего доступа. Это вариация старого трюка с использованием Blu Tack, чтобы остановить перезагрузку пакета оперативной памяти ZX81.

По словам Чена, после 16-битной Windows термин «серьёзная ошибка» (hard error) был перепрофилирован для описания критических или низкоуровневых ошибок в более поздних версиях. 

Ранее Чен рассказал, как работала «тележка смерти» с USB-устройствами, вызывающими ВSoD, для тестирования и доработки ранних версий Windows.

Также он рассказывал, что в ранних сборках планшетной версии Windows 8 в меню для вывода на экран кодов ошибок были заведены девять картинок с кошками, сидящими на заборе и вилявшими хвостиками, смотря на заходящую Луну. Именно эти картинки позволяли разработчикам понять, что в запущенном приложении произошла ошибка, и экран с кнопкой «Пуск» недоступен.

Наконец, разработчик однажды поделился, что в эпоху Windows XP на некоторых моделях ноутбуков процесс воспроизведения музыкального видео с песней Джанет Джексон «Rhythm Nation» мог вывести из строя как сам ноутбук, так и находящиеся рядом другие мобильные компьютеры.

Источник: habr.com

0 0 голоса
Рейтинг новости
0
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии