An embedded system is a type of computer that is only designed to perform specific tasks and is difficult if not impossible to reprogram. Some of the earliest computers were what we now think of as an embedded system, as they only did one task, such as solving a particular puzzle. However, today an embedded system earns its name from the fact that it is found within another machine.
Video of the Day
Because an embedded system always performs the same basic tasks, it rarely needs any hardware changes such as adding extra memory or storage space. In turn, there's usually little need for people to be able to physically access the system. As a result, it's much easier to house an embedded system in a device such as a set-top box that isn't designed for user servicing.
Unlike a full-blown computer, an embedded task usually only performs one task at a time. For example, a cable box might have the task of taking the input signal from the cable, tuning to a specific channel and outputting the signal in a format that a television set can understand. By being dedicated to this task, the box can do it without interruption. In many contexts operating continuously may be critical; for example, a set-top box has to continuously process the picture to ensure there are no onscreen glitches.
As an embedded system usually performs a simple role that does not change, the requirements for the operating system are less onerous. Often an embedded system can run and older or less sophisticated operating system and won't need updating. For examples, devices ranging from ATMs to airplane seat-back entertainment displays were able to run a special version of Windows XP for years without any problems developing until Microsoft began to withdraw support for the system.
Specifications & Costs
Hardware demands for embedded systems are usually much lower than those for full PCs. For example, concentrating on a single task means multi-core processors aren't usually needed. Depending on the purpose of the system, it may be able to work with slow processors because there's no need to allow excess capacity for the possibility of more demanding tasks such as video processing. In turn, these reduced specification requirements can substantially reduce costs.