The Recovery Console is a feature of the Windows 2000 , Windows XP and Windows Server 2003 operating systems. It provides the means for administrators to perform a limited range of tasks using a command-line interface .
103-418: Its primary function is to enable administrators to recover from situations where Windows does not boot as far as presenting its graphical user interface . The recovery console is used to provide a way to access the hard drive in an emergency through the command prompt. The Recovery Console can be started from Windows 2000 / XP / 2003 Setup CD. The Recovery Console can be accessed in two ways, either through
206-602: A Forth interpreter, with much of the firmware being written in Forth. It was standardized by the IEEE as IEEE standard 1275-1994; firmware that implements that standard was used in PowerPC -based Macs and some other PowerPC-based machines, as well as Sun's own SPARC -based computers. The Advanced RISC Computing specification defined another firmware standard, which was implemented on some MIPS -based and Alpha -based machines and
309-422: A mask ROM integrated circuit (IC), that cannot be electronically changed after manufacture. Although discrete circuits can be altered in principle, through the addition of bodge wires and the removal or replacement of components, ICs cannot. Correction of errors, or updates to the software, require new devices to be manufactured and to replace the installed device. Floating-gate ROM semiconductor memory in
412-632: A PC for firmware updates; for example, a digital audio player might be updated to support a new file format . Some hobbyists have taken advantage of this flexibility to reprogram consumer products for new purposes; for example, the iPodLinux and OpenWrt projects have enabled users to run full-featured Linux distributions on their MP3 players and wireless routers, respectively. ROM is also useful for binary storage of cryptographic data, as it makes them difficult to replace, which may be desirable in order to enhance information security . Since ROM (at least in hard-wired mask form) cannot be modified, it
515-534: A basic shell (as in GNU GRUB), or even games (see List of PC Booter games ). Some boot loaders can also load other boot loaders; for example, GRUB loads BOOTMGR instead of loading Windows directly. Usually a default choice is preselected with a time delay during which a user can press a key to change the choice; after this delay, the default choice is automatically run so normal booting can occur without interaction. Read-only memory Read-only memory ( ROM )
618-512: A bit line to a word line. Consequently, ROM could be implemented at a lower cost-per- bit than RAM for many years. Most home computers of the 1980s stored a BASIC interpreter or operating system in ROM as other forms of non-volatile storage such as magnetic disk drives were too costly. For example, the Commodore 64 included 64 KB of RAM and 20 KB of ROM containing a BASIC interpreter and
721-677: A boot device and execute it. Firmware compatible with the BIOS on the IBM Personal Computer is used in IBM PC compatible computers. The UEFI was developed by Intel, originally for Itanium -based machines, and later also used as an alternative to the BIOS in x86 -based machines, including Apple Macs using Intel processors . Unix workstations originally had vendor-specific ROM-based firmware. Sun Microsystems later developed OpenBoot , later known as Open Firmware, which incorporated
824-548: A cassette tape drive mounted on the front panel; this sets up a boot loader in RAM which is then executed. However, since this makes few assumptions about the system it can equally well be used to load diagnostic (Maintenance Test Routine) tapes which display an intelligible code on the front panel even in cases of gross CPU failure. In the IBM System/360 and its successors, including the current z/Architecture machines,
927-524: A company can simply order a large batch of fresh PROM chips and program them with the desired contents at its designers' convenience. The advent of the metal–oxide–semiconductor field-effect transistor (MOSFET), invented at Bell Labs in 1959, enabled the practical use of metal–oxide–semiconductor (MOS) transistors as memory cell storage elements in semiconductor memory , a function previously served by magnetic cores in computer memory . In 1967, Dawon Kahng and Simon Sze of Bell Labs proposed that
1030-399: A computer, each serving distinct roles. RAM, or Random Access Memory, is a temporary, volatile storage medium that loses data when the system powers down. In contrast, ROM, being non-volatile, preserves its data even after the computer is switched off. IBM used capacitor read-only storage (CROS) and transformer read-only storage (TROS) to store microcode for the smaller System/360 models,
1133-559: A configuration of interconnecting cables. Bootstrapping did not apply to ENIAC, whose hardware configuration was ready for solving problems as soon as power was applied. The EDSAC system, the second stored-program computer to be built, used stepping switches to transfer a fixed program into memory when its start button was pressed. The program stored on this device, which David Wheeler completed in late 1948, loaded further instructions from punched tape and then executed them. The first programmable computers for commercial sale, such as
SECTION 10
#17327808716161236-480: A file with software to be stored in a writable ROM device. For example, users modifying or replacing the Android operating system describe files containing a modified or replacement operating system as " custom ROMs " after the type of storage the file used to be written to, and they may distinguish between ROM (where software and data is stored, usually Flash memory ) and RAM. ROM and RAM are essential components of
1339-780: A frequent occurrence with relatively low-cost, "part-time-duty" hardware, such as the Teletype Model 33 ASR. (Friden Flexowriters were far more reliable, but also comparatively costly.) The earliest microcomputers, such as the Altair 8800 (released first in 1975) and an even earlier, similar machine (based on the Intel 8008 CPU) had no bootstrapping hardware as such. When powered-up, the CPU would see memory that would contain random data. The front panels of these machines carried toggle switches for entering addresses and data, one switch per bit of
1442-709: A magnetic tape in a tape drive , or a magnetic drum unit, depending on the position of the Load Selector switch. The left 18-bit half-word was then executed as an instruction, which usually read additional words into memory. The loaded boot program was then executed, which, in turn, loaded a larger program from that medium into memory without further help from the human operator. The IBM 704 , IBM 7090 , and IBM 7094 had similar mechanisms, but with different load buttons for different devices. The term "boot" has been used in this sense since at least 1958. Other IBM computers of that era had similar features. For example,
1545-411: A new role as a medium for mass storage or secondary storage of files. Mask ROM is a read-only memory whose contents are programmed by the integrated circuit manufacturer (rather than by the user). The desired memory contents are furnished by the customer to the device manufacturer. The desired data is converted into a custom photomask /mask layer for the final metallization of interconnections on
1648-577: A printed circuit card, the M792, that plugged into the Unibus and held a 32 by 16 array of semiconductor diodes. With all 512 diodes in place, the memory contained all "one" bits; the card was programmed by cutting off each diode whose bit was to be "zero". DEC also sold versions of the card, the BM792-Yx series, pre-programmed for many standard input devices by simply omitting the unneeded diodes. Following
1751-466: A researcher at CSELT , included an (external) ROM. Gruppi Speciali was, starting from 1975, a fully single-button machine booting into the operating system from a ROM memory composed from semiconductors, not from ferrite cores. Although the ROM device was not natively embedded in the computer of Gruppi Speciali, due to the design of the machine, it also allowed the single-button ROM booting in machines not designed for that (therefore, this "bootstrap device"
1854-421: A short initial program into a computer. These methods reach from simple, physical input to removable media that can hold more complex programs. Early computers in the 1940s and 1950s were one-of-a-kind engineering efforts that could take weeks to program and program loading was one of many problems that had to be solved. An early computer, ENIAC , had no program stored in memory, but was set up for each problem by
1957-452: A special program to load the actual operating system or standalone utility into main storage, and for this specific purpose "IPL Text" is placed on the disk by the stand-alone DASDI (Direct Access Storage Device Initialization) program or an equivalent program running under an operating system, e.g., ICKDSF, but IPL-able tapes and card decks are usually distributed with this "IPL Text" already present. IBM introduced some evolutionary changes in
2060-511: A specific part of the device, instead of the entire device. This can be done at high speed, hence the name "flash". All of these technologies improved the flexibility of ROM, but at a significant cost-per-chip, so that in large quantities mask ROM would remain an economical choice for many years. (Decreasing cost of reprogrammable devices had almost eliminated the market for mask ROM by the year 2000.) Rewriteable technologies were envisioned as replacements for mask ROM. The most recent development
2163-512: A state of sleep (suspension) does not involve booting; however, restoring it from a state of hibernation does. Minimally, some embedded systems do not require a noticeable boot sequence to begin functioning and when turned on may simply run operational programs that are stored in ROM. All computing systems are state machines , and a reboot may be the only method to return to a designated zero-state from an unintended, locked state. In addition to loading an operating system or stand-alone utility,
SECTION 20
#17327808716162266-416: A technical level the gains have been achieved by increasing parallelism both in controller design and of storage, the use of large DRAM read/write caches and the implementation of memory cells which can store more than one bit (DLC, TLC and MLC). The latter approach is more failure prone but this has been largely mitigated by overprovisioning (the inclusion of spare capacity in a product which is visible only to
2369-406: A variety of other devices. In particular, many microprocessors have mask ROM to store their microcode . Some microcontrollers have mask ROM to store the bootloader or all of their firmware . Classic mask-programmed ROM chips are integrated circuits that physically encode the data to be stored, and thus it is impossible to change their contents after fabrication. It is also possible to write
2472-436: Is NAND flash , also invented at Toshiba. Its designers explicitly broke from past practice, stating plainly that "the aim of NAND flash is to replace hard disks ," rather than the traditional use of ROM as a form of non-volatile primary storage . As of 2021 , NAND has nearly completely achieved this goal by offering throughput higher than hard disks, lower latency, higher tolerance of physical shock, extreme miniaturization (in
2575-540: Is a type of non-volatile memory used in computers and other electronic devices . Data stored in ROM cannot be electronically modified after the manufacture of the memory device . Read-only memory is useful for storing software that is rarely changed during the life of the system, also known as firmware . Software applications, such as video games , for programmable devices can be distributed as plug-in cartridges containing ROM . Strictly speaking, read-only memory refers to hard-wired memory, such as diode matrix or
2678-465: Is called a first-stage boot loader, and the program it loads is called a second-stage boot loader. On many embedded CPUs, the CPU built-in boot ROM , sometimes called the zero-stage boot loader, can find and load first-stage boot loaders. Examples of first-stage (hardware initialization stage) boot loaders include BIOS , UEFI , coreboot , Libreboot and Das U-Boot . On the IBM PC, the boot loader in
2781-407: Is common practice to use rewritable non-volatile memory – such as UV- EPROM or EEPROM – for the development phase of a project, and to switch to mask ROM when the code has been finalized. For example, Atmel microcontrollers come in both EEPROM and mask ROM formats. The main advantage of mask ROM is its cost. Per bit, mask ROM was more compact than any other kind of semiconductor memory . Since
2884-491: Is given a command to transfer data to memory starting at address 00100; when that transfer finishes, the CPU jumps to address 00101. IBM's competitors also offered single button program load. A noteworthy variation of this is found on the Burroughs B1700 where there is neither a bootstrap ROM nor a hardwired IPL operation. Instead, after the system is reset it reads and executes microinstructions sequentially from
2987-417: Is impossible to natively boot an operating system other than the standard one. This is the opposite extreme of the scenario using switches mentioned above; it is highly inflexible but relatively error-proof and foolproof as long as all hardware is working normally. A common solution in such situations is to design a boot loader that works as a program belonging to the standard OS that hijacks the system and loads
3090-413: Is only suitable for storing data which is not expected to need modification for the life of the device. To that end, ROM has been used in many computers to store look-up tables for the evaluation of mathematical and logical functions (for example, a floating-point unit might tabulate the sine function in order to facilitate faster computation). This was especially effective when CPUs were slow and ROM
3193-415: Is still applied to images of newer games distributed on CD-ROMs or other optical media. ROM images of commercial games, firmware, etc. usually contain copyrighted software. The unauthorized copying and distribution of copyrighted software is a violation of copyright laws in many jurisdictions, although duplication for backup purposes may be considered fair use depending on location. In any case, there
Recovery Console - Misplaced Pages Continue
3296-511: Is used to store the basic bootstrapping firmware for the processor, as well as the various firmware needed to internally control self-contained devices such as graphic cards , hard disk drives , solid-state drives , optical disc drives , TFT screens , etc., in the system. Today, many of these "read-only" memories – especially the BIOS / UEFI – are often replaced with EEPROM or Flash memory (see below), to permit in-place reprogramming should
3399-402: Is usually a disk drive, hence the special significance of the 02h read-type command, but exactly the same procedure is also used to IPL from other input-type devices, such as tape drives, or even card readers, in a device-independent manner, allowing, for example, the installation of an operating system on a brand-new computer from an OS initial distribution magnetic tape. For disk controllers,
3502-472: The help command, and in many articles about the Recovery Console (including those authored by Microsoft), the net command is not available. No protocol stacks are loaded, so there is no way to connect to a shared folder on a remote computer as implied. Booting In computing , booting is the process of starting a computer as initiated via hardware such as a button on
3605-427: The 02h command also causes the selected device to seek to cylinder 0000h , head 0000h , simulating a Seek cylinder and head command, 07h , and to search for record 01h , simulating a Search ID Equal command, 31h ; seeks and searches are not simulated by tape and card controllers, as for these device classes a Read IPL command is simply a sequential read command. The disk, tape or card deck must contain
3708-550: The 360/85 , and the initial two System/370 models ( 370/155 and 370/165 ). On some models there was also a writeable control store (WCS) for additional diagnostics and emulation support. The Apollo Guidance Computer used core rope memory , programmed by threading wires through magnetic cores. The simplest type of solid-state ROM is as old as the semiconductor technology itself. Combinational logic gates can be joined manually to map n -bit address input onto arbitrary values of m -bit data output (a look-up table ). With
3811-651: The Electrotechnical Laboratory in 1972, went a long way to solving problem 4, since an EEPROM can be programmed in-place if the containing device provides a means to receive the program contents from an external source (for example, a personal computer via a serial cable ). Flash memory , invented by Fujio Masuoka at Toshiba in the early 1980s and commercialized in the late 1980s, is a form of EEPROM that makes very efficient use of chip area and can be erased and reprogrammed thousands of times without damage. It permits erasure and programming of only
3914-517: The IBM 1401 system (c. 1958) used a card reader to load a program from a punched card. The 80 characters stored in the punched card were read into memory locations 001 to 080, then the computer would branch to memory location 001 to read its first stored instruction. This instruction was always the same: move the information in these first 80 memory locations to an assembly area where the information in punched cards 2, 3, 4, and so on, could be combined to form
4017-632: The KERNAL operating system. Later home or office computers such as the IBM PC XT often included magnetic disk drives, and larger amounts of RAM, allowing them to load their operating systems from disk into RAM, with only a minimal hardware initialization core and bootloader remaining in ROM (known as the BIOS in IBM-compatible computers). This arrangement allowed for a more complex and easily upgradeable operating system. In modern PCs, "ROM"
4120-581: The LOAD button. On the high end System/360 models, most System/370 and some later systems, the functions of the switches and the LOAD button are simulated using selectable areas on the screen of a graphics console, often an IBM 2250 -like device or an IBM 3270 -like device. For example, on the System/370 Model 158, the keyboard sequence 0-7-X (zero, seven and X, in that order) results in an IPL from
4223-633: The Master Boot Record (MBR) and the Partition Boot Record (PBR) was coded to require at least 32 KB (later expanded to 64 KB ) of system memory and only use instructions supported by the original 8088 / 8086 processors. Second-stage (OS initialization stage) boot loaders, such as shim, GNU GRUB , rEFInd , BOOTMGR , Syslinux , NTLDR and iBoot , are not themselves operating systems, but are able to load an operating system properly and transfer execution to it;
Recovery Console - Misplaced Pages Continue
4326-664: The SGI Visual Workstation x86-based workstations. When a computer is turned off, its software—including operating systems, application code, and data—remains stored on non-volatile memory . When the computer is powered on, it typically does not have an operating system or its loader in random-access memory (RAM). The computer first executes a relatively small program stored in read-only memory (ROM, and later EEPROM , NOR flash ) which support execute in place , to initialize CPU and motherboard, to initialize DRAM (especially on x86 systems), to access
4429-572: The Spectre GCR cartridge with the Macintosh system ROM in the game slot and turning the Atari on, it could "natively boot" the Macintosh operating system rather than Atari's own TOS . The IBM Personal Computer included ROM-based firmware called the BIOS ; one of the functions of that firmware was to perform a power-on self test when the machine was powered up, and then to read software from
4532-480: The UNIVAC I and the IBM 701 included features to make their operation simpler. They typically included instructions that performed a complete input or output operation. The same hardware logic could be used to load the contents of a punch card (the most typical ones) or other input media, such as a magnetic drum or magnetic tape , that contained a bootstrap program by pressing a single button. This booting concept
4635-512: The floating gate of a MOS semiconductor device could be used for the cell of a reprogrammable ROM, which led to Dov Frohman of Intel inventing erasable programmable read-only memory (EPROM) in 1971. The 1971 invention of EPROM essentially solved problem 3, since EPROM (unlike PROM) can be repeatedly reset to its unprogrammed state by exposure to strong ultraviolet light. Electrically erasable programmable read-only memory (EEPROM), developed by Yasuo Tarui, Yutaka Hayashi and Kiyoko Naga at
4738-417: The front panel . Since the early minicomputers used magnetic-core memory , which did not lose its information when power was off, these bootstrap loaders would remain in place unless they were erased. Erasure sometimes happened accidentally when a program bug caused a loop that overwrote all of memory. Other minicomputers with such simple form of booting include Hewlett-Packard's HP 2100 series (mid-1960s),
4841-418: The 1960s, both ROM and its mutable counterpart static RAM were implemented as arrays of transistors in silicon chips; however, a ROM memory cell could be implemented using fewer transistors than an SRAM memory cell, since the latter needs a latch (comprising 5-20 transistors) to retain its contents, while a ROM cell might consist of the absence (logical 0) or presence (logical 1) of one transistor connecting
4944-565: The Altair 8800) in a commercial computer. According to Apple's ad announcing it "No More Switches, No More Lights ... the firmware in PROMS enables you to enter, display and debug programs (all in hex) from the keyboard." Due to the expense of read-only memory at the time, the Apple II booted its disk operating systems using a series of very small incremental steps, each passing control onward to
5047-448: The Atari's floppy drive was read for additional components during the boot process. There was a timeout delay that provided time to manually insert a floppy as the system searched for the extra components. This could be avoided by inserting a blank disk. The Atari ST hardware was also designed so the cartridge slot could provide native program execution for gaming purposes as a holdover from Atari's legacy making electronic games; by inserting
5150-414: The CPU is switched from off to on, or "soft", where the power is not cut. On some systems, a soft boot may optionally clear RAM to zero. Both hard and soft booting can be initiated by hardware such as a button press or by a software command. Booting is complete when the operative runtime system , typically the operating system and some applications, is attained. The process of returning a computer from
5253-526: The IBM PC and compatibles, the boot code must fit in the Master Boot Record (MBR) and the Partition Boot Record (PBR), which in turn are limited to a single sector; on the IBM System/360 , the size is limited by the IPL medium, e.g., card size, track size. On systems with those constraints, the first program loaded into RAM may not be sufficiently large to load the operating system and, instead, must load another, larger program. The first program loaded into RAM
SECTION 50
#17327808716165356-593: The IPL process, changing some details for System/370 Extended Architecture (S/370-XA) and later, and adding a new type of IPL for z/Architecture. Minicomputers , starting with the Digital Equipment Corporation (DEC) PDP-5 and PDP-8 (1965) simplified design by using the CPU to assist input and output operations. This saved cost but made booting more complicated than pressing a single button. Minicomputers typically had some way to toggle in short programs by manipulating an array of switches on
5459-474: The Intel x86 series are designed to execute this software after reset without outside help). This software contains rudimentary functionality to search for devices eligible to participate in booting, and load a small program from a special section (most commonly the boot sector ) of the most promising device, typically starting at a fixed entry point such as the start of the sector. Boot loaders may face peculiar constraints, especially in size; for instance, on
5562-466: The ROM chips, and the presence or absence of these features will represent either a 1 or a 0 bit, depending on the ROM design. Thus by design, any attempts to electronically change the data will fail, since the data is defined by the presence or absence of physical features or structures that cannot be electronically changed. For every software program, even for revisions of the same program, the entire mask must be changed, which can be costly. In mask ROM,
5665-517: The VAX-11/730 had an 8085-based console processor. These console processors could boot the main processor from various storage devices. Some other superminicomputers, such as the VAX-11/750, implement console functions, including the first stage of booting, in CPU microcode. Typically, a microprocessor will, after a reset or power-on condition, perform a start-up process that usually takes
5768-625: The alternative OS. This technique was used by Apple for its A/UX Unix implementation and copied by various freeware operating systems and BeOS Personal Edition 5 . Some machines, like the Atari ST microcomputer , were "instant-on", with the operating system executing from a ROM . Retrieval of the OS from secondary or tertiary store was thus eliminated as one of the characteristic operations for bootstrapping. To allow system customizations, accessories, and other support software to be loaded automatically,
5871-412: The available commands closely resemble the commands that are normally available in cmd.exe , namely attrib , copy , del , and so forth. From the Recovery Console an administrator can: Filesystem access on the Recovery Console is by default severely limited. An administrator using the Recovery Console has only read-only access to all volumes except for the boot volume , and even on
5974-412: The boot process can also load a storage dump program for diagnosing problems in an operating system. Boot is short for bootstrap or bootstrap load and derives from the phrase to pull oneself up by one's bootstraps . The usage calls attention to the requirement that, if most software is loaded onto a computer by other software already running on the computer, some mechanism must exist to load
6077-486: The boot process is known as Initial Program Load (IPL). IBM coined this term for the 7030 (Stretch) , revived it for the design of the System/360, and continues to use it in those environments today. In the System/360 processors, an IPL is initiated by the computer operator by selecting the three hexadecimal digit device address (CUU; C=I/O Channel address, UU=Control unit and Device address ) followed by pressing
6180-464: The boot volume only access to the root directory and to the Windows system directory (e.g. \WINNT). This can be changed by changing Security Policies to enable read/write access to the complete file system including copying files from removable media (i.e. floppy drives). The following is a list of the Recovery Console internal commands: Although it appears in the list of commands available by using
6283-649: The computer memory word and address bus. Simple additions to the hardware permitted one memory location at a time to be loaded from those switches to store bootstrap code. Meanwhile, the CPU was kept from attempting to execute memory content. Once correctly loaded, the CPU was enabled to execute the bootstrapping code. This process, similar to that used for several earlier minicomputers, was tedious and had to be error-free. The introduction of integrated circuit read-only memory (ROM), with its many variants, including mask-programmed ROMs , programmable ROMs (PROM), erasable programmable ROMs (EPROM), and flash memory , reduced
SECTION 60
#17327808716166386-432: The computer or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory , so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system. Restarting a computer also is called rebooting , which can be "hard", e.g. after electrical power to
6489-402: The computer to automatically load instructions into memory from a device specified by the front panel's data switches, and then jump to loaded code. In a minicomputer with a paper tape reader, the first program to run in the boot process, the boot loader, would read into core memory either the second-stage boot loader (often called a Binary Loader ) that could read paper tape with checksum or
6592-423: The contents of a Laser ROM by using a laser to alter the electrical properties of only some diodes on the ROM, or by using a laser to cut only some polysilicon links, instead of using a mask. By applying write protection , some types of reprogrammable ROMs may temporarily become read-only memory. There are other types of non-volatile memory which are not based on solid-state IC technology, including: Although
6695-660: The cost of an integrated circuit strongly depends on its size, mask ROM is significantly cheaper than any other kind of semiconductor memory. However, the one-time masking cost is high and there is a long turn-around time from design to product phase. Design errors are costly: if an error in the data or code is found, the mask ROM is useless and must be replaced in order to change the code or data. As of 2003 , four companies produce most such mask ROM chips: Samsung Electronics , NEC Corporation , Oki Electric Industry , and Macronix . Some integrated circuits contain only mask ROM. Other integrated circuits contain mask ROM as well as
6798-463: The data is physically encoded in the circuit, so it can only be programmed during fabrication. This leads to a number of serious disadvantages: Subsequent developments have addressed these shortcomings. Programmable read-only memory (PROM), invented by Wen Tsing Chow in 1956, allowed users to program its contents exactly once by physically altering its structure with the application of high-voltage pulses. This addressed problems 1 and 2 above, since
6901-594: The device address which was keyed into the input area. The Amdahl 470V/6 and related CPUs supported four hexadecimal digits on those CPUs which had the optional second channel unit installed, for a total of 32 channels. Later, IBM would also support more than 16 channels. The IPL function in the System/360 and its successors prior to IBM Z , and its compatibles such as Amdahl's, reads 24 bytes from an operator-specified device into main storage starting at real address zero. The second and third groups of eight bytes are treated as Channel Command Words (CCWs) to continue loading
7004-453: The drive controller) and by increasingly sophisticated read/write algorithms in drive firmware. Because they are written by forcing electrons through a layer of electrical insulation onto a floating transistor gate , rewriteable ROMs can withstand only a limited number of write and erase cycles before the insulation is permanently damaged. In the earliest EPROMs, this might occur after as few as 1,000 write cycles, while in modern Flash EEPROM
7107-418: The endurance may exceed 1,000,000. The limited endurance, as well as the higher cost per bit, means that Flash-based storage is unlikely to completely supplant magnetic disk drives in the near future. The timespan over which a ROM remains accurately readable is not limited by write cycling. The data retention of EPROM, EAROM, EEPROM, and Flash may be time-limited by charge leaking from the floating gates of
7210-721: The form of USB flash drives and tiny microSD memory cards , for example), and much lower power consumption. Many stored-program computers use a form of non-volatile storage (that is, storage that retains its data when power is removed) to store the initial program that runs when the computer is powered on or otherwise begins execution (a process known as bootstrapping , often abbreviated to " booting " or "booting up"). Likewise, every non-trivial computer needs some form of mutable memory to record changes in its state as it executes. Forms of read-only memory were employed as non-volatile storage for programs in most early stored-program computers, such as ENIAC after 1948 . (Until then it
7313-431: The form of erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) and flash memory can be erased and re-programmed. But usually, this can only be done at relatively slow speeds, may require special equipment to achieve, and is typically only possible a certain number of times. The term "ROM" is sometimes used to refer to a ROM device containing specific software or
7416-429: The form of "begin execution of the code that is found starting at a specific address" or "look for a multibyte code at a specific address and jump to the indicated location to begin execution". A system built using that microprocessor will have the permanent ROM occupying these special locations so that the system always begins operating without operator assistance. For example, Intel x86 processors always start by running
7519-466: The initial software onto the computer. Early computers used a variety of ad-hoc methods to get a small program into memory to solve this problem. The invention of read-only memory (ROM) of various types solved this paradox by allowing computers to be shipped with a start up program that could not be erased. Growth in the capacity of ROM has allowed ever more elaborate start up procedures to be implemented. There are many different methods available to load
7622-509: The instructions beginning at F000:FFF0, while for the MOS 6502 processor, initialization begins by reading a two-byte vector address at $ FFFD (MS byte) and $ FFFC (LS byte) and jumping to that location to run the bootstrap code. Apple Computer 's first computer, the Apple 1 introduced in 1976, featured PROM chips that eliminated the need for a front panel for the boot process (as was the case with
7725-415: The instructions by the CPU. Smaller computers often use less flexible but more automatic boot loader mechanisms to ensure that the computer starts quickly and with a predetermined software configuration. In many desktop computers, for example, the bootstrapping process begins with the CPU executing software contained in ROM (for example, the BIOS of an IBM PC ) at a predefined address (some CPUs, including
7828-442: The integrated circuit, although fuse re-growth was once a problem in some systems. The contents of ROM chips can be extracted with special hardware devices and relevant controlling software. This practice is common for, as a main example, reading the contents of older video game console cartridges . Another example is making backups of firmware/OS ROMs from older computers or other devices - for archival purposes, as in many cases,
7931-499: The invention of the integrated circuit came mask ROM . Mask ROM consists of a grid of word lines (the address input) and bit lines (the data output), selectively joined with transistor switches, and can represent an arbitrary look-up table with a regular physical layout and predictable propagation delay . Mask ROM is programmed with photomasks in photolithography during semiconductor manufacturing . The mask defines physical features or structures that will be removed, or added in
8034-475: The memory cell transistors. Early generation EEPROM's, in the mid-1980s generally cited 5 or 6 year data retention. A review of EEPROM's offered in the year 2020 shows manufacturers citing 100 year data retention. Adverse environments will reduce the retention time (leakage is accelerated by high temperatures or radiation ). Masked ROM and fuse/antifuse PROM do not suffer from this effect, as their data retention depends on physical rather than electrical permanence of
8137-548: The memory chip (hence the name). Mask ROM can be made in several ways, all of which aim to change the electrical response of a transistor when it is addressed on a grid, such as: Mask ROM transistors can be arranged in either NOR or NAND configurations and can achieve one of the smallest cell sizes possible as each bit is represented by only one transistor. NAND offers higher storage density than NOR. OR configurations are also possible, but compared to NOR it only connects transistors to V cc instead of V ss . Mask ROMs used to be
8240-417: The most inexpensive, and are the simplest semiconductor memory devices, with only one metal layer and one polysilicon layer, making it the type of semiconductor memory with the highest manufacturing yield (the highest number of working devices per manufacturing run). ROM can be made using one of several semiconductor device fabrication technologies such as CMOS , nMOS , pMOS , and bipolar transistors . It
8343-405: The movement of jumper plugs to apply write-enable signals, and special lock/unlock command codes. Modern NAND Flash can be used to achieve the highest write speeds of any rewritable ROM technology, with speeds as high as 10 GB / s in an SSD. This has been enabled by the increased investment in both consumer and enterprise solid-state drives and flash memory products for higher end mobile devices. On
8446-858: The need for a firmware upgrade arise. However, simple and mature sub-systems (such as the keyboard or some communication controllers in the integrated circuits on the main board, for example) may employ mask ROM or OTP (one-time programmable). ROM and successor technologies such as flash are prevalent in embedded systems . These are in everything from industrial robots to home appliances and consumer electronics ( MP3 players , set-top boxes , etc.) all of which are designed for specific functions, but are based on general-purpose microprocessors . With software usually tightly coupled to hardware, program changes are rarely needed in such devices (which typically lack hard disks for reasons of cost, size, or power consumption). As of 2008, most products use Flash rather than mask ROM, and many provide some means for connecting to
8549-441: The next phase of the gradually more complex boot process. (See Apple DOS: Boot loader ). Because so little of the disk operating system relied on ROM, the hardware was also extremely flexible and supported a wide range of customized disk copy protection mechanisms. (See Software Cracking: History .) Some operating systems, most notably pre-1995 Macintosh systems from Apple , are so closely interwoven with their hardware that it
8652-555: The nonvolatile device (usually block-addressed device, e.g. NAND flash, SSD) or devices from which the operating system programs and data can be loaded into RAM; in addition, this program may initialize display devices (such as GPUs ), text input devices (such as the keyboard ) and pointer input devices (such as the mouse ). The small program that starts this sequence is known as a bootstrap loader , bootstrap or boot loader . Often, multiple-stage boot loaders are used, during which several programs of increasing complexity load one after
8755-458: The older approach, the earlier PDP-1 has a hardware loader, such that an operator need only push the "load" switch to instruct the paper tape reader to load a program directly into core memory. The PDP-7 , PDP-9 , and PDP-15 successors to the PDP-4 have an added Read-In button to read a program in from paper tape and jump to it. The Data General Supernova used front panel switches to cause
8858-425: The operating system from an outside storage medium. Pseudocode for the boot loader might be as simple as the following eight instructions: A related example is based on a loader for a Nicolet Instrument Corporation minicomputer of the 1970s, using the paper tape reader-punch unit on a Teletype Model 33 ASR teleprinter . The bytes of its second-stage loader are read from paper tape in reverse order. The length of
8961-496: The operating system subsequently initializes itself and may load extra device drivers . The second-stage boot loader does not need drivers for its own operation, but may instead use generic storage access methods provided by system firmware such as the BIOS, UEFI or Open Firmware , though typically with restricted hardware functionality and lower performance. Many boot loaders (like GNU GRUB, rEFInd, Windows's BOOTMGR, Syslinux, and Windows NT/2000/XP's NTLDR) can be configured to give
9064-463: The operator). Other systems may send hardware commands directly to peripheral devices or I/O controllers that cause an extremely simple input operation (such as "read sector zero of the system device into memory starting at location 1000") to be carried out, effectively loading a small number of boot loader instructions into memory; a completion signal from the I/O device may then be used to start execution of
9167-515: The original Data General Nova (1969), and DEC's PDP-4 (1962) and PDP-11 (1970). As the I/O operations needed to cause a read operation on a minicomputer I/O device were typically different for different device controllers, different bootstrap programs were needed for different devices. DEC later added, in 1971, an optional diode matrix read-only memory for the PDP-11 that stored a bootstrap program of up to 32 words (64 bytes). It consisted of
9270-459: The original chips are PROMs and thus at risk of exceeding their usable data lifetime. The resultant memory dump files are known as ROM images or abbreviated ROMs , and can be used to produce duplicate ROMs - for example to produce new cartridges or as digital files for playing in console emulators . The term ROM image originated when most console games were distributed on cartridges containing ROM chips, but achieved such widespread usage that it
9373-459: The original installation media used to install Windows, or by installing it onto the hard drive and adding it to the NTLDR menu. However, the latter option is much more risky than the former one because it requires that the computer can boot to the point that NTLDR loads, or else the Recovery Console will not work at all. The Recovery Console has a simple command-line interpreter (or CLI). Many of
9476-453: The other in a process of chain loading . Some earlier computer systems, upon receiving a boot signal from a human operator or a peripheral device, may load a very small number of fixed instructions into memory at a specific location, initialize at least one CPU, and then point the CPU to the instructions and start their execution. These instructions typically start an input operation from some peripheral device (which may be switch-selectable by
9579-764: The physical size and cost of ROM. This allowed firmware boot programs to be included as part of the computer. The Data General Nova 1200 (1970) and Nova 800 (1971) had a program load switch that, in combination with options that provided two ROM chips, loaded a program into main memory from those ROM chips and jumped to it. Digital Equipment Corporation introduced the integrated-circuit-ROM-based BM873 (1974), M9301 (1977), M9312 (1978), REV11-A and REV11-C, MRV11-C, and MRV11-D ROM memories, all usable as bootstrap ROMs. The PDP-11/34 (1976), PDP-11/60 (1977), PDP-11/24 (1979), and most later models include boot ROM modules. An Italian telephone switching computer, called "Gruppi Speciali", patented in 1975 by Alberto Ciaramella ,
9682-443: The relative speed of RAM vs. ROM has varied over time, as of 2007 large RAM chips can be read faster than most ROMs. For this reason (and to allow uniform access), ROM content is sometimes copied to RAM or shadowed before its first use, and subsequently read from RAM. For those types of ROM that can be electrically modified, writing speed has traditionally been much slower than reading speed, and it may need unusually high voltage,
9785-426: The second stage loader is such that the final byte overwrites location 7. After the instruction in location 6 executes, location 7 starts the second stage loader executing. The second stage loader then waits for the much longer tape containing the operating system to be placed in the tape reader. The difference between the boot loader and second stage loader is the addition of checking code to trap paper tape read errors,
9888-425: The startup program (the first CCW is always simulated by the CPU and consists of a Read IPL command, 02h , with command chaining and suppress incorrect length indication being enforced). When the I/O channel commands are complete, the first group of eight bytes is then loaded into the processor's Program Status Word (PSW) and the startup program begins execution at the location designated by that PSW. The IPL device
9991-449: The stored program. Once this information was moved to the assembly area, the machine would branch to an instruction in location 080 (read a card) and the next card would be read and its information processed. Another example was the IBM 650 (1953), a decimal machine, which had a group of ten 10-position switches on its operator panel which were addressable as a memory word (address 8000) and could be executed as an instruction. Thus setting
10094-472: The switches to 7004000400 and pressing the appropriate button would read the first card in the card reader into memory (op code 70), starting at address 400 and then jump to 400 to begin executing the program on that card. The IBM 7040 and 7044 have a similar mechanism, in which the Load button causes the instruction set up in the entry keys on the front panel is executed, and the channel that instruction sets up
10197-462: The user multiple booting choices. These choices can include different operating systems (for dual or multi-booting from different partitions or drives), different versions of the same operating system (in case a new version has unexpected problems), different operating system loading options (e.g., booting into a rescue or safe mode ), and some standalone programs that can function without an operating system, such as memory testers (e.g., memtest86+ ),
10300-564: Was architecture-independent), e.g. the PDP-11. Storing the state of the machine after the switch-off was also in place, which was another critical feature in the telephone switching contest. Some minicomputers and superminicomputers include a separate console processor that bootstraps the main processor. The PDP-11/44 had an Intel 8085 as a console processor; the VAX-11/780 , the first member of Digital's VAX line of 32-bit superminicomputers, had an LSI-11 -based console processor, and
10403-464: Was called a variety of names for IBM computers of the 1950s and early 1960s, but IBM used the term "Initial Program Load" with the IBM 7030 Stretch and later used it for their mainframe lines, starting with the System/360 in 1964. The IBM 701 computer (1952–1956) had a "Load" button that initiated reading of the first 36-bit word into main memory from a punched card in a card reader ,
10506-575: Was cheap compared to RAM. Notably, the display adapters of early personal computers stored tables of bitmapped font characters in ROM. This usually meant that the text display font could not be changed interactively. This was the case for both the CGA and MDA adapters available with the IBM PC XT. The use of ROM to store such small amounts of data has disappeared almost completely in modern general-purpose computers. However, NAND Flash has taken over
10609-408: Was not a stored-program computer as every program had to be manually wired into the machine, which could take days to weeks.) Read-only memory was simpler to implement since it needed only a mechanism to read stored values, and not to change them in-place, and thus could be implemented with very crude electromechanical devices (see historical examples below). With the advent of integrated circuits in
#615384