In computing , rebooting is the process by which a running computer system is restarted, either intentionally or unintentionally. Reboots can be either a cold reboot (alternatively known as a hard reboot ) in which the power to the system is physically turned off and back on again (causing an initial boot of the machine); or a warm reboot (or soft reboot ) in which the system restarts while still powered up. The term restart (as a system command) is used to refer to a reboot when the operating system closes all programs and finalizes all pending input and output operations before initiating a soft reboot.
58-459: Early electronic computers (like the IBM 1401 ) had no operating system and little internal memory. The input was often a stack of punch cards or via a Switch Register . On systems with cards, the computer was initiated by pressing a start button that performed a single command - "read a card". This first card then instructed the machine to read more cards that eventually loaded a user program. This process
116-644: A cold boot is a boot process in which the computer starts from a powerless state, in which the system performs a complete power-on self-test (POST). Both the operating system and third-party software can initiate a cold boot; the restart command in Windows 9x initiates a cold reboot, unless Shift key is held. A warm boot is initiated by the BIOS , either as a result of the Control-Alt-Delete key combination or directly through BIOS interrupt INT 19h. It may not perform
174-466: A crash reporting service will report the crash and any details relating to it (or give the user the option to do so), usually to the developer(s) of the application. If the program is a critical part of the operating system, the entire system may crash or hang, often resulting in a kernel panic or fatal system error . Most crashes are the result of a software bug . Typical causes include accessing invalid memory addresses, incorrect address values in
232-485: A hardware exception occurs that cannot be handled . Operating system crashes can also occur when internal sanity-checking logic within the operating system detects that the operating system has lost its internal self-consistency. Modern multi-tasking operating systems, such as Linux , and macOS , usually remain unharmed when an application program crashes. Some operating systems, e.g., z/OS , have facilities for Reliability, availability and serviceability (RAS) and
290-531: A hibernation -like "Fast Startup" (a.k.a. "Fast Boot") which can cause problems (including confusion) for users accustomed to turning off computers to (cold) reboot them. IBM 1401 The IBM 1401 is a variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series , it was aimed at replacing unit record equipment for processing data stored on punched cards and at providing peripheral services for larger computers. The 1401
348-582: A word mark set at their high-order (lowest-addressed) position. When an operation such as addition is performed, the processor begins at the low-order position of the two fields and works its way to the high-order, just as a person would when adding with pencil and paper. The only limit on the length of such fields is the available memory. Instructions applicable to variable-length fields include: Add , Subtract , Multiply , Divide , Compare , Move Characters to A or B Word Mark , Move Characters and Edit . One or more adjacent variable-length fields can make up
406-462: A 16-pin gold-plated edge connector (single wide) or 5.375 by 4.5 inches (136.5 by 114.3 mm) with two 16-pin gold-plated edge connectors (double wide), that IBM referred to as SMS cards ( Standard Modular System ). The amount of logic on one card is similar to that in one 7400 series SSI or simpler MSI package (e.g., three to five logic gates or a couple of flip-flops on a single-wide card up to about twenty logic gates or four flip-flops on
464-571: A 4000-character memory module. One such module is housed within the 1401's primary enclosure. Systems were commonly available with two, three, or four such modules. The additional modules are contained in an add-on box, the 1406 Core Memory Unit, which is about two feet square and three feet high. Operands in memory are accessed serially, one memory location at a time, and the 1401 can read or write one memory location within its basic cycle time of 11.5 microseconds. All instruction timings are cited in multiples of this cycle time. The IBM 1403 printer
522-423: A branch target, "A" and "B" data) and unit address are three characters. The opcode modifier is one character. Instruction length is then 1, 2, 4, 5, 7, or 8 characters. Most instructions have to be followed by a word mark (a requirement commonly met by the word mark with the opcode of the next instruction). See Character and op codes for a list of operations. A three-character memory address in an instruction
580-407: A card stores the 80 columns of data from a card into memory locations 001–080. Index registers 1, 2 and 3 are in memory locations 087–089, 092-094 and 097-099 respectively. Punch a card punches the contents of memory locations 101-180 into a card. Write a line prints the contents of memory locations 201–332. The 1401's instruction format is Opcodes are one character. Memory addresses ("I"
638-472: A complete POST - for example, it may skip the memory test - and may not perform a POST at all. Malware may prevent or subvert a warm boot by intercepting the Ctrl + Alt + Delete key combination and prevent it from reaching BIOS. The Windows NT family of operating systems also does the same and reserves the key combination for its own use. The Linux family of operating systems supports an alternative to warm boot;
SECTION 10
#1732855759342696-457: A computer user for some nefarious purpose. Microsoft App-V sequencing tool captures all the file system operations of an installer in order to create a virtualized software package for users. As part of the sequencing process, it will detect when an installer requires a reboot, interrupt the triggered reboot, and instead simulate the required reboot by restarting services and loading/unloading libraries. Windows 8 & 10 enable (by default)
754-412: A double-wide card). The SMS cards were inserted in sockets on hinged swing-out racks, that IBM referred to as gates . The modules used were fairly delicate, compared to previous unit-record equipment, so IBM shipped them enclosed in a newly invented packing material, bubble wrap . This was one of the first widespread uses of this packing; it greatly impressed recipients, and brought great publicity to
812-442: A group-mark character with a word mark immediately following its low-order position. A sequence of operations on adjacent fields can be "chained", using the addresses left in the address registers by the previous operation. For example, addition of adjacent data fields might be coded as A 700,850 , A 695,845 , A 690,840 . With chaining, this can be coded as A 700,850 , A , A - omitting data address from
870-466: A mobile device) forces the system user to perform a cold boot once the power is restored. Some BIOSes have an option to automatically boot the system after a power failure. An uninterruptible power supply (UPS), backup battery or redundant power supply can prevent such circumstances. "Random reboot" is a non-technical term referring to an unintended (and often undesired) reboot following a system crash , whose root cause may not immediately be evident to
928-435: A one-card program to print the deck of cards following it, and another to duplicate a deck to the card punch. See Tom Van Vleck's web site. Here is a one-card program which will print "HELLO, WORLD!". Pressing LOAD (above) reads one card, and begins execution at 001 (the first , ). The program will automatically set its own wordmarks, assuming that the first , has a wordmark already. Following conventional IBM notation,
986-454: A variable-length record. A variable-length record is addressed at its high-order position, its length defined by a group-mark character with a word mark or a record-mark character in its low-order position. The instruction Move Characters Record or Group Mark can be used to assemble a block of records. A variable-length record, or block of records, to be written to magnetic tape is addressed at its high-order position, its length defined by
1044-435: Is a clean boot. A hard reboot means that the system is not shut down in an orderly manner, skipping file system synchronisation and other activities that would occur on an orderly shutdown. This can be achieved by either applying a reset , by cycling power , by issuing the halt -q command in most Unix-like systems, or by triggering a kernel panic . Hard reboots are used in the cold boot attack . The term "restart"
1102-518: Is an encoding of a five-digit memory address. The three low-order digits of the five-digit address, 000 to 999, are specified by the numeric bits of the three characters. The zone bits of the high-order character specify an increment as follows: A 1000, B 2000, B and A together 3000, giving an addressability of 4,000 memory locations. The zone bits of the low-order character specify increments of 4000, 8000, or 12000, to address 16,000 memory locations (with an IBM 1406 Storage Unit). For example,
1160-454: Is an executable instruction, the word marks in locations 002-080 (if any) are cleared, and execution starts with the instruction at location 001. That is always the dyadic Set Word Mark , to set word marks on the two following words (instructions). A single Set Word Mark instruction can set two word marks but requires one word mark to have been on itself, so a sequence of these instructions are needed, which incrementally set word marks in
1218-528: Is considered by IBM to be the Ford Model-T of the computer industry due to its mass appeal. Over 12,000 units were produced and many were leased or resold after they were replaced with newer technology. The 1401 was withdrawn on February 8, 1971. The 1401 project evolved from an IBM project named "World Wide Accounting Machine" (WWAM), which in turn was a reaction to the success of the Bull Gamma 3 . The 1401
SECTION 20
#17328557593421276-401: Is displayed, hence all the user sees as a result of the crash is the desktop. Many times there is no apparent action that causes a crash to desktop. During normal function, the program may freeze for a shorter period of time, and then close by itself. Also during normal function, the program may become a black screen and repeatedly play the last few seconds of sound (depending on the size of
1334-451: Is done varies depending on whether the reboot can be handled via software or must be handled at the firmware or hardware level. Operating systems in the Windows NT family (from Windows NT 3.1 through Windows 7 ) have an option to modify the behavior of the error handler so that a computer immediately restarts rather than displaying a Blue Screen of Death (BSOD) error message. This option
1392-418: Is enabled by default in some editions. The introduction of advanced power management allowed operating systems greater control of hardware power management features. With Advanced Configuration and Power Interface (ACPI), newer operating systems are able to manage different power states and thereby sleep and/or hibernate . While hibernation also involves turning a system off then subsequently back on again,
1450-594: Is in Character Collating Sequence. w/o M 0 Punches as zero (or 8–2 with the RPQ). Blank with "even-parity" on tape. 4000 characters of memory) Record or Group Mark and/or Zone Suppress Zeros Crash (computing) In computing , a crash , or system crash , occurs when a computer program such as a software application or an operating system stops functioning properly and exits . On some operating systems or individual applications,
1508-413: Is not allowed by the operating system. The operating system then triggers an exception or signal in the application. Unix applications traditionally responded to the signal by dumping core . Most Windows and Unix GUI applications respond by displaying a dialogue box (such as the one shown to the right) with the option to attach a debugger if one is installed. Some applications attempt to recover from
1566-583: Is used by the Microsoft Windows and Linux families of operating systems to denote an operating system-assisted reboot. In a restart, the operating system ensures that all pending I/O operations are gracefully ended before commencing a reboot. Users may deliberately initiate a reboot. Rationale for such action may include: The means of performing a deliberate reboot also vary and may include: Unexpected loss of power for any reason (including power outage , power supply failure or depletion of battery on
1624-519: The Computer History Museum in Mountain View, California . Each alphanumeric character in the 1401 is encoded by six bits , called B,A,8,4,2,1 . The B,A bits are called zone bits and the 8,4,2,1 bits are called numeric bits, terms taken from the IBM 80 column punched card . IBM called the 1401's character code BCD ("binary-coded decimal"), even though that term describes only
1682-518: The IBM 1410 ) but the 1964 decision at the top to focus resources on the System/360 ended these efforts rather suddenly. IBM was facing a competitive threat from the Honeywell 200 and the 360's incompatibility with the 1401 design. IBM pioneered the use of microcode emulation , in the form of ROM , so that some System/360 models could run 1401 programs. Due to its popularity and mass-production,
1740-457: The code that actually triggered the crash. In early personal computers, attempting to write data to hardware addresses outside the system's main memory could cause hardware damage. Some crashes are exploitable and let a malicious program or hacker execute arbitrary code , allowing the replication of viruses or the acquisition of data which would normally be inaccessible. An application typically crashes when it performs an operation that
1798-448: The program counter , buffer overflow , overwriting a portion of the affected program code due to an earlier bug, executing invalid machine instructions (an illegal or unauthorized opcode), or triggering an unhandled exception . The original software bug that started this chain of events is typically considered to be the cause of the crash, which is discovered through the process of debugging . The original bug can be far removed from
Reboot - Misplaced Pages Continue
1856-403: The "object store"), while a clean boot erases all forms of memory storage from the device. However, since these areas do not exist on all Windows CE devices, users are only concerned with two forms of reboot: one that resets the volatile memory and one that wipes the device clean and restores factory settings. For example, for a Windows Mobile 5.0 device, the former is a cold boot and the latter
1914-454: The 1401 was also frequently used as an off-line peripheral controller for mainframe computers . In such installations, with an IBM 7090 for example, the mainframe computers used only magnetic tape for input-output. It was the 1401 that transferred input data from slow peripherals (such as the IBM 1402 Card Read-Punch) to tape, and transferred output data from tape to the card punch, the IBM 1403 Printer, or other peripherals. This allowed
1972-480: The German word " Abend " meaning "evening". Depending on the application, the crash may contain the user's sensitive and private information . Moreover, many software bugs which cause crashes are also exploitable for arbitrary code execution and other types of privilege escalation . For example, a stack buffer overflow can overwrite the return address of a subroutine with an invalid value, which will cause, e.g.,
2030-652: The IBM 1401 was often considered to be the first electronic mainframe computer to be introduced in various countries, such as Singapore (1963; for the Central Provident Fund Board ) and South Korea (1967; for the Economic Planning Board ). During the 1970s, IBM installed many 1401s in India and Pakistan where they were in use well into the 1980s. Two 1401 systems have been restored to operating order at
2088-519: The Internet, such as abend.org . This usage derives from the ABEND macro on IBM OS/360 , ..., z/OS operating systems. Usually capitalized, but may appear as "abend". Some common ABEND codes are System ABEND 0C7 (data exception) and System ABEND 0CB ( division by zero ). Abends can be "soft" (allowing automatic recovery) or "hard" (terminating the activity). The term is jocularly claimed to be derived from
2146-632: The Linux kernel has optional support for kexec , a system call which transfers execution to a new kernel and skips hardware or firmware reset. The entire process occurs independently of the system firmware. The kernel being executed does not have to be a Linux kernel. Outside the domain of IBM PC compatible computers, the types of boot may not be as clear. According to Sue Loh of Windows CE Base Team, Windows CE devices support three types of boots: Warm, cold and clean. A warm boot discards program memory. A cold boot additionally discards storage memory (also known as
2204-528: The OS can recover from the crash of a critical component, whether due to hardware failure, e.g., uncorrectable ECC error, or to software failure, e.g., a reference to an unassigned page. An Abnormal end or ABEND is an abnormal termination of software , or a program crash. Errors or crashes on the Novell NetWare network operating system are usually called ABENDs. Communities of NetWare administrators sprung up around
2262-427: The audio buffer ) that was being played before it crashes to desktop. Other times it may appear to be triggered by a certain action, such as loading an area. Crash to desktop bugs are considered particularly problematic for users. Since they frequently display no error message, it can be very difficult to track down the source of the problem, especially if the times they occur and the actions taking place right before
2320-559: The character. C is calculated automatically and is also not present on punched cards. Each memory location then, has the following bits: C B A 8 4 2 1 M The 1401 was available in six memory configurations: 1,400, 2,000, 4,000, 8,000, 12,000, or 16,000 characters. Each character is addressable, addresses ranging from 0 through 15999. A very small number of 1401s were expanded to 32,000 characters by special request. Some operations use specific memory locations (those locations are not reserved and can be used for other purposes). Read
2378-441: The crash do not appear to have any pattern or common ground. One way to track down the source of the problem for games is to run them in windowed-mode. Windows Vista has a feature that can help track down the cause of a CTD problem when it occurs on any program. Windows XP included a similar feature as well. Some computer programs, such as StepMania and BBC's Bamzooki , also crash to desktop if in full-screen, but display
Reboot - Misplaced Pages Continue
2436-413: The decimal digit encoding. The 1401's alphanumeric collating sequence is compatible with the punched card collating sequence. Associated with each memory location are two other bits, called C for odd parity check and M for word mark . M is present in memory but not on punched cards, and has to be set using special machine instructions; when printing memory it is typically displayed by underlining
2494-516: The entire life of the machine!" By late 1961, the 2000 units installed in the USA were about one quarter of all electronic stored-program computers by all manufacturers. The number of installed 1401s peaked above 10,000 in the mid-1960s. "In all, by the mid-1960s nearly half of all computer systems in the world were 1401-type systems." The system was marketed until February 1971. Commonly used by small businesses as their primary data processing machines,
2552-407: The error and continue running instead of exiting . An application can also contain code to crash after detecting a severe error. Typical errors that result in application crashes include: A "crash to desktop" is said to occur when a program (commonly a video game ) unexpectedly quits, abruptly taking the user back to the desktop . Usually, the term is applied only to crashes where no error
2610-466: The error in a separate window when the user has returned to the desktop. The software running the web server behind a website may crash, rendering it inaccessible entirely or providing only an error message instead of normal content. For example: if a site is using an SQL database (such as MySQL ) for a script (such as PHP ) and that SQL database server crashes, then PHP will display a connection error. An operating system crash commonly occurs when
2668-825: The germanium-alloy transistors used), CTRL ( Complemented Transistor Resistor Logic , a type of resistor–transistor logic (RTL)). Later upgrades (e.g., the TAU-9 tape interface) use a faster type of DTL using "drift" transistors (a type of transistor invented by Herbert Kroemer in 1953) for their speed, that IBM referred to as SDTDL (Saturated Drift Transistor Diode Logic) . Typical logic levels of these circuits were (S & U Level) high: 0 V to -0.5V, low: -6 V to -12 V; (T Level) high: 6 V to 1 V, low: -5.5 V to -6 V. These circuits are constructed of discrete components (resistors, capacitors, transistors) mounted on single-sided paper-epoxy printed circuit boards either 2.5 by 4.5 inches (64 by 114 mm) with
2726-434: The mainframe's throughput to not be limited by the speed of a card reader or printer. (For more information, see spooling .) Some later installations (e.g., at NASA) included the 1401 as a front-end peripherals controller to an IBM 7094 in a Direct Coupled System (DCS). Elements within IBM, notably John Haanstra , an executive in charge of 1401 deployment, supported its continuation in larger models for evolving needs (e.g.,
2784-488: The material. Like most machines of the day, the 1401 uses magnetic-core memory . The cores are about 1 mm in diameter and use a four-wire arrangement (x, y, sense, and inhibit). The memory is arranged in planes of 4000 cores each, each core storing one bit. A stack of eight such planes store the six data bits, word mark bit, and parity bit for 4000 memory locations. Together with eight additional planes with fewer cores on them for additional storage functions, this made up
2842-491: The operating system does not start from scratch, thereby differentiating this process from rebooting. A reboot may be simulated by software running on an operating system. For example: the Sysinternals BlueScreen utility, which is used for pranking; or some modes of the bsod XScreenSaver "hack", for entertainment (albeit possibly concerning at first glance). Malware may also simulate a reboot, and thereby deceive
2900-434: The program's code or data, and set word marks for subsequent Set Word Mark instructions. Execution of instructions in the card continues, setting word marks, loading the program into memory, and then branching to the program's start address. To read subsequent cards, an explicit Read command (opcode 1 ) must be executed as the last instruction on every card to get the new card's contents into locations 001–080. Note that
2958-454: The second and third instructions. The IBM 1401G was sold in six models: (G1 and G11: 1,400 storage positions ; G2 and G12 for 2,000; G3 and G13 for 4,000). One difference between the 1401 and 1401G is how the reader-punch is controlled. When the LOAD button on the 1402 Card Read-Punch is pressed, a card is read into memory locations 001–080, a word mark is set in location 001 to indicate that it
SECTION 50
#17328557593423016-543: The three-character address "I99" is a reference to memory location 3000 + 999, or 3999. The zone bits of the middle character of a three-character memory address can specify one of three index registers , one of many optional features. Operands referenced by the A-address and B-address can be: a single memory location, a variable-length field, or a variable-length record. Variable-length fields are addressed at their low-order (highest-addressed) position, their length defined by
3074-459: The underscores show where word marks are set in memory once the program has run; on punched cards they would not be indicated visually or present in the punched data. The program is: Most of the logic circuitry of the 1401 is a type of diode–transistor logic (DTL), that IBM referred to as CTDL (Complemented Transistor Diode Logic) . Other IBM circuit types were referred to as: Alloy (some logic, but mostly various non-logic functions, named for
3132-427: The user. Such crashes may occur due to a multitude of software and hardware problems, such as triple faults . They are generally symptomatic of an error in ring 0 that is not trapped by an error handler in an operating system or a hardware-triggered non-maskable interrupt . Systems may be configured to reboot automatically after a power failure, or a fatal system error or kernel panic . The method by which this
3190-462: The word marks are not erased when the Read command is executed, but are kept as-is for the next card read in. This is convenient, because much of what the first few cards do is set word marks in the proper locations; having the first half dozen or so word marks set means the programmer does not need to set those word marks again. One-card programs can be written for various tasks. Commonly available were
3248-545: Was introduced in October 1959 with the 1401 Data Processing System. The printer was a completely new development. IBM software for the 1401 included: For the IBM Catalog of 1401 software, see IBM 1400 series . The 1401's operation codes are single characters. In many cases, particularly for the more common instructions, the character chosen is mnemonic for the operation: A for add, B for branch, S for subtract, etc. The table
3306-446: Was likened to an old saying, " picking yourself up by the bootstraps ", referring to a horseman who lifts himself off the ground by pulling on the straps of his boots. This set of initiating punch cards was called "bootstrap cards". Thus a cold start was called booting the computer up. If the computer crashed , it was rebooted. The boot reference carried over to all subsequent types of computers. For IBM PC compatible computers,
3364-419: Was used as an independent system in conjunction with IBM punched card equipment. It was also operated as auxiliary equipment to IBM 700 or 7000 series systems. Monthly rental for 1401 configurations started at US$ 2,500 (worth about $ 26,100 today). Demand exceeded expectations. "IBM was pleasantly surprised (perhaps shocked) to receive 5,200 orders in just the first five weeks – more than predicted for
#341658