Embedded software refers to computer programs that directly interact with hardware. These programs are typically built to perform a specific function or to make the hardware perform in a specific way, and several pieces of embedded software may be built into a single piece of hardware. Embedded software is an integral part of the hardware into which it is built.
In an ordinary computer, embedded software comprises a handful of programs that control essential hardware functions and start up procedures. It is usually part of the operating system.
A system that wholly relies on embedded software to function is called an embedded system. It is designed for a specific function and typically does not allow other applications to be loaded or peripheral devices to be connected.
Currently, most of the applications that shape day-to-day life are governed by embedded systems. This partly explains why embedded software is delicate, as defects can lead to major consequences, some life threatening. Typical examples of systems and applications that use embedded software include home appliances, cell phones, traffic control systems, utility control systems, automotive components and satellites.
As automation increases in almost every aspect of life, the trend towards embedded software can only set to increase.