The main characteristics of an embedded system are:
1. Single functioned
2. Tightly constrained
3. Reactive and real time
1. Single functioned:
An embedded system usually executes a specific program repeatedly.
Ex. Pager is always a pager.
A desktop systems execute a variety of programs like spreadsheets, word processor and video games with new programs added frequently. One case is where an embedded systems program is updated with a Newer program version.
Ex. Some cell phones can be updated in such a newer program version.
A second case is where several programs are swaped in and out of a system due to size limitations.
Ex. Some missiles run one program while in cruise mode, then load a second program for locking onto a target.
2. Tightly constrained:
All computing systems have constraints on design metrices, but those on embedded systems can be specially tight.
Design metric is a measure of an implementations features such as cost, size, performance and power.
Embedded systems often must fast cost a few dollars, must be sized to fit on a single chip must perform fast enough to process data in real time, and must consume minimum power to extend battery life.
3. Reactive and real time:
Many embedded systems must continuously react to many changes in the system's environment and must compute certain results in real time without delay.
Ex. A cars cruise controller continuously monitors and reacts to speed and brake sensors. It must compute acceleration of the decceleration amounts repeatedly within a limited time. A Delay computation could result in a failure to maintain control of the car.
Desktop system typically focuses on computation with relatively in frequent reactions to input devices. In addition, a delay in those computations is inconvenient to the computer user. But it doesn't result in a system failure.
Ex. Digital camera chip