Abort, Retry, Fail?

Last updated

MS-DOS prompts "Abort, Retry, Fail?" after being commanded to list a directory with no diskette in the drive using the dir command. Abort Retry Fail.PNG
MS-DOS prompts "Abort, Retry, Fail?" after being commanded to list a directory with no diskette in the drive using the dir command.

"Abort, Retry, Fail?" (or "Abort, Retry, Ignore?") is an error message found in DOS operating systems, which prompts the end-user for a course of action to follow. Although an improvement over CP/M, [1] the message has been cited as an example of poor usability in computer user interfaces.

Contents

Background

In CP/M, attempting to read a floppy disk drive with the door open would hang until a disk was inserted and the disk drive door was closed (very early disk hardware did not send any kind of signal until a disk was spinning, and a timeout to detect the lack of signal required too much code on these tiny systems). Many users of CP/M became accustomed to this as a method of managing multiple disks, by opening the disk drive to stop a program from reading or writing a file until the correct disk could be inserted.

A primary design consideration for PC DOS was that software written for CP/M be portable to DOS without changes. Even the first IBM PC had hardware that told the operating system that the disk drive door was open, but returning an error to software would require the software to be rewritten to handle the error. Still, it was desirable to improve the experience, in particular by giving the user a way to get out of the hang without having to find a disk to insert in the drive. [1] The prompt was invented for this reason.

Similarly, CP/M would repeatedly read or write a disk sector as long as there was an error. Often the only way out of this was to change the disk to another (it would then read something random off the new disk). The prompt was reused to provide a way to stop this as well.

Description

A missing disk (or disk drive door opened) was defined by DOS as a "critical error" and would call the "critical error handler". [2] The default "critical error handler" was part of COMMAND.COM [2] and printed the "Abort, Retry, ..." prompt, then waited for user input. Other problems (in particular, a checksum error while reading data from a disk) were also defined as a "critical error", thus causing the prompt to appear for reasons other than a missing disk or opened disk drive. Users could press a key to indicate what they wanted to happen; available options included: [3]

A program could install its own "critical error handler" while running, [2] and many of the more sophisticated programs (in particular full screen programs) did so in order to avoid the messages disturbing the display. Some programs faked the missing "Fail" response in DOS 2.0 by jumping back to the calling program, skipping the return stack in DOS. This was a risky hack as it relied on the stack layout and skipped cleanup operations in the operating system.[ citation needed ]

MS-DOS 6.22 contained a singular case where the only option was "(R) Retry": when flushing the hard disk write-behind cache could not be completed. The user may attempt to repeat the write until successful or power off the system.[ citation needed ]

Usability

The error message has been described as being an example of poor user interface design. For most users, if the message appeared, the only choice was to hit 'R'—which repeated the message—or hit another letter, which caused the program to crash and all work to be lost. The scholar Mireille Hildebrandt described it this way: [4]

It has become an icon of poor interface design, because it led exactly nowhere ... A veritable Catch 22, since the only viable option appeared to be to keep typing R until one was willing to accept that one's work was lost and there was nothing left to do but shut down the program and start anew.


Modern systems

Hard disks and larger removable media such as Zip drives made the need to manage multiple disks per drive obsolete, and thus made the prompt useless. It was gradually replaced with code that acted like "Fail" immediately. DOS 3.3 COMMAND.COM provided the startup option /F to force the default critical error handler to return "Fail" on all errors. Starting with version 4.0, the alternative command line processors 4DOS and NDOS supported /F and the corresponding CritFail=Yes directive in 4DOS.INI/NDOS.INI as well. The option was also supported by the COMMAND.COM of PTS-DOS 6.51 and S/DOS 1.0, as well as by DR-DOS 7.02 and higher. In OpenDOS 7.01, COMMAND.COM provides a similar feature with /N (described as "do not install a critical error handler") which is still supported in newer versions. Most other operating systems, such as Linux, always act like "Fail" in all cases.

A screenshot of Wrong Volume dialog box on Windows 10. Cancel, Try Again, Continue.png
A screenshot of Wrong Volume dialog box on Windows 10.

As of 2001 Windows can still generate a similar prompt, although in a dialog box and with a more comprehensive error message. The choices are similar but renamed: "Cancel" (to the user this is similar to "Abort" but technically it is a "Fail" with a different error code), "Try Again" (instead of "Retry") and "Continue" (instead of "Fail"). This may be supported by the drivers for some removable media when a file is opened with a full volume name or the disk is removed while the file is open. However, for mundane actions similar to what triggered the prompt in DOS, such as attempting to read "E:" when there is no disk in the CD drive, Windows produces an immediate "Fail".

See also

Related Research Articles

<span class="mw-page-title-main">BIOS</span> Firmware for hardware initialization and OS runtime services

In computing, BIOS is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the booting process. The BIOS firmware comes pre-installed on an IBM PC or IBM PC compatible's system board and exists in some UEFI-based systems to maintain compatibility with operating systems that do not support UEFI native operation. The name originates from the Basic Input/Output System used in the CP/M operating system in 1975. The BIOS originally proprietary to the IBM PC has been reverse engineered by some companies looking to create compatible systems. The interface of that original system serves as a de facto standard.

<span class="mw-page-title-main">CP/M</span> Discontinued family of computer operating systems

CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc. CP/M is a disk operating system and its purpose is to organize files on a magnetic storage medium, and to load and run programs stored on a disk. Initially confined to single-tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations and were migrated to 16-bit processors.

<span class="mw-page-title-main">Drive letter assignment</span> Alphabetical assignment to logical drives on computers (e.g., C:\)

In computer data storage, drive letter assignment is the process of assigning alphabetical identifiers to volumes. Unlike the concept of UNIX mount points, where volumes are named and located arbitrarily in a single hierarchical namespace, drive letter assignment allows multiple highest-level namespaces. Drive letter assignment is thus a process of using letters to name the roots of the "forest" representing the file system; each volume holds an independent "tree".

<span class="mw-page-title-main">DR-DOS</span> MS-DOS-like operating system

DR-DOS is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS that attempted to be compatible with IBM PC DOS and MS-DOS.

AmigaDOS is the disk operating system of the AmigaOS, which includes file systems, file and directory manipulation, the command-line interface, and file redirection.

<span class="mw-page-title-main">IBM PC DOS</span> Computer operating system

IBM PC DOS, an acronym for IBM Personal Computer Disk Operating System, is a discontinued disk operating system for the IBM Personal Computer, its successors, and IBM PC compatibles. It was manufactured and sold by IBM from the early 1980s into the 2000s. Developed by Microsoft, it was also sold by that company as MS-DOS. Both operating systems were identical or almost identical until 1993, when IBM began selling PC DOS 6.1 with new features. The collective shorthand for PC DOS and MS-DOS was DOS, which is also the generic term for disk operating system, and is shared with dozens of disk operating systems called DOS.

Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first version of BASIC published by Microsoft as well as the first high-level programming language available for the Altair 8800 microcomputer.

dir (command) Directory information command on various operating systems

In computing, dir (directory) is a command in various computer operating systems used for computer file and directory listing. It is one of the basic commands to help navigate the file system. The command is usually implemented as an internal command in the command-line interpreter (shell). On some systems, a more graphical representation of the directory structure can be displayed using the tree command.

<span class="mw-page-title-main">86-DOS</span> Discontinued computer operating system for x86 processors and predecessor to MS-DOS/PC DOS

86-DOS is a discontinued operating system developed and marketed by Seattle Computer Products (SCP) for its Intel 8086-based computer kit.

An environment variable is a user-definable value that can affect the way running processes will behave on a computer. Environment variables are part of the environment in which a process runs. For example, a running process can query the value of the TEMP environment variable to discover a suitable location to store temporary files, or the HOME or USERPROFILE variable to find the directory structure owned by the user running the process.

CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS during boot. CONFIG.SYS was introduced with DOS 2.0.

<span class="mw-page-title-main">DOS Plus</span> Discontinued computer operating system for x86 processors

DOS Plus was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE emulator from Concurrent PC DOS 4.11. While CP/M-86 Plus and Concurrent DOS 4.1 still had been developed in the United States, Concurrent PC DOS 4.11 was an internationalized and bug-fixed version brought forward by Digital Research UK. Later DOS Plus 2.x issues were based on Concurrent PC DOS 5.0 instead. In the broader picture, DOS Plus can be seen as an intermediate step between Concurrent CP/M-86 and DR DOS.

<span class="mw-page-title-main">IBM Displaywriter System</span> 1980 office desktop computer

The IBM 6580 Displaywriter System is a 16-bit microcomputer that was marketed and sold by IBM's Office Products Division primarily as a word processor. Announced on June 17, 1980 and effectively withdrawn from marketing on July 2, 1986, the system was sold with a 5 MHz Intel 8086, 128 KB to 448 KB of RAM, a swivel-mounted monochrome CRT monitor, a detached keyboard, a detached 8" floppy disk drive enclosure with one or two drives, and a detached daisy wheel printer, or Selectric typewriter printer. The primary operating system for the Displaywriter is IBM's internally developed word processing software titled "Textpack", but UCSD p-System, CP/M-86, and MS-DOS were also offered by IBM, Digital Research, and CompuSystems, respectively.

<span class="mw-page-title-main">Error message</span> Computer message indicating an error

An error message is the information displayed when an unforeseen problem occurs, usually on a computer or other device. Modern operating systems with graphical user interfaces, often display error messages using dialog boxes. Error messages are used when user intervention is required, to indicate that a desired operation has failed, or to relay important warnings. Error messages are seen widely throughout computing, and are part of every operating system or computer hardware device. The proper design of error messages is an important topic in usability and other fields of human–computer interaction.

A batch file is a script file in DOS, OS/2 and Microsoft Windows. It consists of a series of commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain any command the interpreter accepts interactively and use constructs that enable conditional branching and looping within the batch file, such as IF, FOR, and GOTO labels. The term "batch" is from batch processing, meaning "non-interactive execution", though a batch file might not process a batch of multiple data.

In Unix-like operating systems, a device file, device node, or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.

<span class="mw-page-title-main">MS-DOS</span> Discontinued Microsoft operating system

MS-DOS is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few operating systems attempting to be compatible with MS-DOS, are sometimes referred to as "DOS". MS-DOS was the main operating system for IBM PC compatibles during the 1980s, from which point it was gradually superseded by operating systems offering a graphical user interface (GUI), in various generations of the graphical Microsoft Windows operating system.

<span class="mw-page-title-main">DOS</span> Family of IBM PC-compatible operating systems

DOS is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible systems from other manufacturers include DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993), and FreeDOS (1998). MS-DOS dominated the IBM PC compatible market between 1981 and 1995.

<span class="mw-page-title-main">Architecture of Windows 9x</span>

The Windows 9x series of operating systems refers to the monolithic kernel which powers these operating systems. The basic code is similar in function to MS-DOS. As a 16-/32-bit hybrid, it requires support from MS-DOS to operate.

References

  1. 1 2 Hughes, David B. (November 1982). "CP/M-86 And MS-DOS: A Comparative Analysis". PC Magazine . Operating Systems. Vol. 1, no. 7. Software Communications, Inc. pp. 181–182, 187–190 [189]. Archived from the original on 2020-02-10. Retrieved 2020-02-10. [...] Error handling is one of MS-DOS's most mature features. The operating system traps disk errors and displays an error message in understandable English, giving the options RETRY, IGNORE, or ABORT. Applications programs running under MS-DOS can also trap these errors and handle them in whatever way is most consistent with the application, ensuring the applications program is always in control of the system. [...]
  2. 1 2 3 Hyde, Randy (1996-09-29). "Chapter 19.1.3: Exception Handling in DOS: The Critical Error Handler". The Art of Assembly Language Programming. Archived from the original on 2010-02-06.
  3. "Action Taken on Abort, Retry, Ignore, Fail". Microsoft Knowledge Base. Microsoft. 2006-11-16. KB67586. Archived from the original on 2010-07-08. Retrieved 2009-04-18.
  4. Hildebrandt, Mireille; Gaakeer, Jeanne (2013-05-23). Human Law and Computer Law: Comparative Perspectives. Springer Science & Business Media. pp. 47–48. ISBN   978-9-40076314-2.
  5. "Midnight Dreary - GNU Project - Free Software Foundation".
  6. "Abort, Retry, Ignore - Poe Puree". www.stokely.com.
  7. "Three Parodies of The Raven". www.silverberch.com.
  8. Howe, Neil; Strauss, Bill (1993). 13th Gen: Abort, Retry, Ignore, Fail? (1 ed.). New York, USA: Vintage Books. ISBN   978-0-67974365-1.
  9. "Abort, Retry, Fail?_ Your Woman". discogs. 1997. Archived from the original on 2011-10-15. Retrieved 2008-04-18.
  10. Louderback, Jim (2006-05-03). "PC Magazine's Extreme Makeover". Archived from the original on 2009-02-08. Retrieved 2008-07-27.
  11. "Quotes / Sid Meier's Alpha Centauri". TV Tropes. Retrieved 2021-02-28.