Прервать, повторить попытку, сбой? - Abort, Retry, Fail?

MS-DOS подсказывает "Прервать, повторить, сбой?" после того, как ему приказали перечислить каталог без дискета в приводе с помощью реж команда.

"Прервать, повторить попытку, сбой?" (или же "Прервать, повторить, игнорировать?") является сообщение об ошибке нашел в ДОС операционные системы, который подсказки в конечный пользователь для дальнейших действий. Хотя некоторые приветствуют,[1] сообщение также приводилось в качестве примера плохого удобство использования в компьютере пользовательские интерфейсы.[нужна цитата ]

Фон

В CP / M, пытаясь прочитать дисковод для гибких дисков с открытой дверцей зависало до тех пор, пока диск не был вставлен и дверца дисковода не была закрыта (очень рано дисковое оборудование не отправляло никаких сигналов, пока диск не вращался, и тайм-аут для обнаружения отсутствия сигнала требовал слишком большого количества кода на эти крошечные системы). Многие пользователи CP / M привыкли к этому методу управления несколькими дисками, открывая дисковод, чтобы остановить чтение или запись файла программой до тех пор, пока не будет вставлен правильный диск.

Основное внимание при проектировании ПК DOS было ли это программное обеспечение, написанное для CP / M? портативный в ДОС без изменений. Даже первый IBM PC имело оборудование, которое сообщало операционной системе, что дверца дисковода открыта, но возвращение ошибки программному обеспечению, пытающемуся прочитать диск, нарушило бы способность управлять дисками таким образом без таких изменений. Тем не менее, было желательно улучшить опыт, в частности, предоставив пользователю возможность выйти из состояния зависания без необходимости искать диск для вставки в привод.[1] Подсказка была придумана по этой причине.

Описание

Отсутствующий диск (или открытая дверца дисковода) определялась DOS как «критическая ошибка» и вызывала «обработчик критических ошибок».[2] «Обработчик критических ошибок» по умолчанию был частью COMMAND.COM[2] и напечатал приглашение «Abort, Retry, ...», затем дождался ввода пользователя. Другие проблемы (в частности, ошибка контрольной суммы при чтении данных с диска) также были определены как «критическая ошибка», что привело к появлению запроса по причинам, отличным от отсутствия диска или открытого диска. Пользователи могут нажимать клавишу, чтобы указать, что они хотят сделать; доступные варианты включены:[3]

  • Прервать (А): Завершить операцию или программу и вернуться в командную строку. Оглядываясь назад, можно сказать, что это была не очень хорошая идея, поскольку программа не выполняла никакой очистки (например, завершения записи других файлов).
  • Повторить (р): Повторите попытку. «Повторить попытку» - это то, что делал пользователь, если он мог решить проблему, вставив диск и закрыв дверцу дисковода. На раннем оборудовании повторная попытка ошибки чтения с диска иногда была успешной, но с улучшением дисководов это стало гораздо менее вероятным.
  • Игнорировать (я): Вернуть успешный статус вызывающей программе или подпрограмме, несмотря на сбой операции. Это может быть использовано для ошибок чтения с диска, и DOS вернет все данные, находящиеся в буфере чтения (которые могут содержать некоторые правильные данные). «Игнорировать» не отображалось для открытых или отсутствующих дисков.
  • Провал (F): Начиная с MS-DOS / PC DOS 3.3, «Fail» возвращал программе код ошибки, аналогично ошибке «файл не найден». Затем программа могла бы корректно восстановиться, возможно, запросив у пользователя другое имя файла. Это устранило самую большую проблему с подсказкой (которая ранее была известна как «Прервать, повторить, игнорировать?»), Предоставив опцию, которая не приводила к сбою программы или повторению подсказки.

Программа может установить свой собственный «обработчик критических ошибок» во время работы,[2] и многие из более сложных программ (в частности, полноэкранные программы) сделали это, чтобы сообщения не мешали отображению. Некоторые программы имитировали отсутствующий ответ «Fail» в DOS 2.0, возвращаясь к вызывающей программе, пропуская стек возврата в DOS. Это был рискованный взлом, поскольку он полагался на структуру стека и пропускал операции очистки в операционной системе.

Удобство использования

Сообщения об ошибках были описаны как пример плохого дизайн пользовательского интерфейса. Для большинства пользователей, если сообщение появилось, единственным выходом было нажать «R», что повторяло сообщение, или нажать другую букву, что привело к сбою программы и потере всей работы. Один ученый описал это так:[4]

Он стал символом плохого дизайна интерфейса, потому что ни к чему не привел. . . Настоящий Словить 22, поскольку единственным жизнеспособным вариантом, казалось, было продолжать вводить R до тех пор, пока кто-то не захочет признать, что его работа потеряна, и ничего не остается делать, кроме как закрыть программу и начать заново.

MS-DOS 6.22 содержала особый случай, когда единственным вариантом была «(R) Retry»: при очистке кэша с отложенной записью жесткого диска не удалось завершить. Пользователь может попытаться повторить запись до успешного завершения или выключить систему.

Современные системы

Жесткие диски и съемные носители большего размера, такие как Zip-накопители, сделали ненужным управление несколькими дисками на каждом накопителе и, таким образом, сделали запрос бесполезным. Он был постепенно заменен кодом, который немедленно действовал как «Fail». DOS 3.3 COMMAND.COM предоставил возможность запуска / F чтобы заставить обработчик критических ошибок по умолчанию возвращать "Fail" для всех ошибок. Начиная с версии 4.0, альтернативные процессоры командной строки 4ДОС и NDOS поддержанный / F и соответствующие CritFail = Да директива в 4DOS.INI/NDOS.INI также. Опция также поддерживалась COMMAND.COM PTS-DOS 6.51 и S / DOS 1.0, а также DR-DOS 7.02 и выше. В OpenDOS 7.01 COMMAND.COM предоставляет аналогичную функцию с / N (описывается как «не устанавливайте обработчик критических ошибок»), который все еще поддерживается в более новых версиях. Большинство других операционных систем, таких как Linux, всегда работают как «Fail» во всех случаях.

Скриншот диалогового окна "Неверный объем" в Windows 10.

По состоянию на 2017 год Windows 10 может по-прежнему генерировать подобное приглашение, хотя в диалоговое окно и с более подробным сообщением об ошибке. Варианты аналогичны, но переименованы: «Отменить» (для пользователя это похоже на «Прервать», но технически это «Сбой» с другим кодом ошибки), «Повторить попытку» (вместо «Повторить») и «Продолжить. "(вместо" Fail "). Это может поддерживаться драйверами для некоторых съемных носителей, когда файл открывается с полным именем тома или диск удаляется, пока файл открыт. Однако для обычных действий, подобных тем, которые вызывали приглашение в DOS, например, при попытке прочитать «E:», когда в дисководе компакт-дисков нет диска, Windows немедленно выдает сообщение «Fail».

В популярной культуре

Юмористические вариации Эдгара Аллена По Ворон используя «Прервать, повторить, игнорировать?» вместо "nevermore" были написаны в 1980-х и 1990-х годах и были довольно популярны, распространялись через доску объявлений и по электронной почте.[5] Оригинальная и самая известная версия была приписана поэту Кливленда. Маркус Бэйлз.[6][7] Он был адаптирован много раз, приписывается Анониму, Люси Блейдс,[8] Роб Коллинз,[9] и другие.

В 1993 г. Нил Хау опубликовано 13-е поколение: прерывание, повторная попытка, игнорирование, сбой?, сочувствующая книга о культуре Поколение X.[10]

В 1996 г. Белый город выпустил EP озаглавленный > Прервать, повторить попытку, сбой? _.[11]

Журнал ПК использует этот термин в заголовке своей колонки, в которой освещаются юмористические компьютерные ошибки.[12]

Смотрите также

Рекомендации

  1. ^ а б Хьюз, Дэвид Б. (ноябрь 1982 г.). «CP / M-86 и MS-DOS: сравнительный анализ». Журнал ПК. Операционные системы. Vol. 1 шт. 7. Software Communications, Inc. С. 181–182, 187–190 [189]. В архиве с оригинала на 2020-02-10. Получено 2020-02-10. […] Обработка ошибок - одна из наиболее зрелых функций MS-DOS. Операционная система перехватывает дисковые ошибки и отображает сообщение об ошибке на понятном английском языке с вариантами RETRY, IGNORE или ABORT. Прикладные программы, работающие под MS-DOS, также могут перехватывать эти ошибки и обрабатывать их любым способом, наиболее совместимым с приложением, гарантируя, что прикладная программа всегда контролирует систему. […]
  2. ^ а б c Хайд, Рэнди (1996-09-29). «Глава 19.1.3: Обработка исключений в DOS: Обработчик критических ошибок». Искусство программирования на языке ассемблера. Архивировано из оригинал на 06.02.2010.
  3. ^ «Действие, предпринятое при прерывании, повторной попытке, игнорировании, неудаче». База знаний Microsoft. Microsoft. 2006-11-16. KB67586. В архиве из оригинала от 08.07.2010. Получено 2009-04-18.
  4. ^ Хильдебрандт, Мирей; Гаакер, Жанна (2013-05-23). Человеческое право и компьютерное право: сравнительные перспективы. Springer Science & Business Media. С. 47–48. ISBN  978-9-40076314-2.
  5. ^ "Midnight Dreary - проект GNU".
  6. ^ «Прервать, повторить попытку, проигнорировать - По пюре».
  7. ^ "Три пародии на ворона".
  8. ^ "Вы написали стихотворение об отмене повторного игнорирования?".
  9. ^ "Гнездо ворона - Запрос".
  10. ^ Хау, Нил; Штраус, Билл (1993). 13-е поколение: прерывание, повторная попытка, игнорирование, сбой? (1-е изд.). Нью-Йорк, США: Винтажные книги. ISBN  978-0-67974365-1.
  11. ^ «Прервать, повторить попытку, не удастся? _ Ваша женщина». дискоги. В архиве из оригинала на 2011-10-15. Получено 2008-04-18.
  12. ^ Louderback, Джим (2006-05-03). "Экстремальный макияж журнала PC". В архиве из оригинала от 08.02.2009. Получено 2008-07-27.