Embedded software Computer software which plays an integral role in the electronics it is supplied with. Embedded software's principal role is not Information technology [clarification needed], but rather the interaction with the physical world. It's written for machines that are not, first and foremost, computers. Embedded software is 'built in' to the electronics in cars, telephones, audio equipment, robots, appliances, toys, security systems, pacemakers, televisions and digital watches, for example. This software can become very sophisticated in applications like airplanes, missiles, process control systems, and so on.  Embedded software is usually written for special purpose hardware: that is computer chips that are different from general purpose CPUs[dubious – discuss], sometimes using Real-time operating system such as LynxOS, VxWorks, Linux (with patched kernel), PikeOS, eCos, ThreadX, Windows CE, Fusion RTOS, Nucleus RTOS, RTEMS, Integrity,QNX and OSE. Communications protocols designed for use in embedded systems are available as closed source from companies including InterNiche Technologies and CMX Systems, and are also published as open source from uIP, lwip and others. Instructions that permanently reside in a ROM or flash memory chip. Embedded software may be immediately available to the CPU or, for faster execution, may be transferred to RAM first and then executed. Contrast with regular software applications, which are stored on disk and must be loaded into RAM for execution. See embedded system. Embedded Systems Computer systems that cannot be programmed by the user because they are preprogrammed for a specific task and are buried within the equipment they serve. The term derives from the military, where computer systems are generally activated by the flip of a switch or the push of a button. The continual increase in the densities of ever-smaller microprocessors, on silicon chips that fit on a thumbnail, and the attendant decreases in their costs, has pushed the concept of embedded systems well beyond the original military applications. Embedded systems are also used in industrial, automotive, consumer, and medical applications. Most embedded microprocessors are of the CISC (complex-instruction-set computer) type, and most of these are used in applications where low cost is paramount and performance is secondary, such as consumer products. The later-generation microprocessors have wider bus widths, up to 64 bits, and thus can do more computations. See also Microprocessor. Since about 1990, microprocessors of the RISC (reduced-instruction-set computer) type have appeared, with much greater computational capability and at greater cost. RISC processors are used mostly in those embedded applications where performance is primary and low cost is secondary. They are used in engineering workstations, where the computational burdens of high-resolution graphics require such processors. See also Computer-aided engineering; Computer graphics; Computer systems architecture. Any electronic system that uses a computer chip, but that is not a general-purpose workstation, desktop or laptop computer. Such systems use microcontrollers (MCUs) or microprocessors (MPUs), or they may use custom-designed chips. Deployed by the billions each year in myriad applications, the embedded systems market uses the lion's share of all the electronic components in the world. Embedded systems are employed in automobiles, planes, trains, space vehicles, machine tools, cameras, consumer electronics, office appliances, network appliances, video games, cell phones, PDAs, GPS navigation as well as robots and toys. Low-cost consumer products can use microcontroller chips that cost less than a dollar. See microprocessor and microcontroller. All Kinds of Operating Systems There are embedded versions of Linux, Windows and Mac, as well as other commercial and proprietary operating systems specialized for embedded systems. Embedded systems typically have limited storage, and an embedded OS is often designed to work in much less memory than desktop operating systems. They also typically work in real time. Small embedded systems may run an application that contains its own input/output routines and not require a separate operating system. Programs Are in Firmware In embedded systems, the software typically resides in firmware, such as a flash memory or read-only memory (ROM) chip, in contrast to a general-purpose computer that loads its programs into random access memory (RAM) each time. Sometimes, single board and rack mounted general-purpose computers are called "embedded computers" if used to control a single printer, drill press or other such device. See embedded market, smart car, Windows CE, Windows XP Embedded, Embedded Linux and embedded language. These are the systems in a 1998 Volvo S80, all of which were linked via two networks and controlled by a central module. Thirty years earlier, the Volkswagen 1600 used a microprocessor to control its fuel injection, making it the first embedded system in the auto industry. Today, a car's electronics cost more than the steel used to build it, and high-end cars can have more than 100 CPU... The microprocessor embedded in these aides running shoe calculates the pressure between the runner's foot and the ground five million times per second and continuously changes the cushioning to match an adjustable comfort level. The computer controls a motor that lengthens and shortens a cable attached to a plastic cushioning element. (Image courtesy of aides-Salomon AG.) An embedded system is a computer system designed to do one or a few dedicated and/or specific functions  often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs. Embedded systems control many devices in common use today. Embedded systems are controlled by one or more main processing cores that are typically either microcontrollers or digital signal processors (DSP). The key characteristic, however, is being dedicated to handle a particular task, which may require very powerful processors. For example, air traffic control systems may usefully be viewed as embedded, even though they involve mainframe computers and dedicated regional and national networks between airports and radar sites (each radar probably includes one or more embedded systems of its own). Since the embedded system is dedicated to specific tasks, design engineers can optimize it to reduce the size and cost of the product and increase the reliability and performance. Some embedded systems are mass-produced, benefiting from economies of scale. Physically, embedded systems range from portable devices such as digital watches and MP3 players, to large stationary installations like traffic lights, factory controllers, or the systems controlling nuclear power plants. Complexity varies from low, with a single microcontroller chip, to very high with multiple units, peripherals and networks mounted inside a large chassis or enclosure. In general, "embedded system" is not a strictly definable term, as most systems have some element of extensibility or programmability. For example, handheld computers share some elements with embedded systems such as the operating systems and microprocessors which power them, but they allow different applications to be loaded and peripherals to be connected. Moreover, even systems which do not expose programmability as a primary feature generally need to support software updates. On a continuum from "general purpose" to "embedded", large application systems will have subcomponents at most points even if the system as a whole is "designed to perform one or a few dedicated functions", and is thus appropriate to call "embedded"