Embedded systems constitute the widest possible use of computer systems. They include all computers specifically intended as special-purpose computers. Examples of embedded systems range from a portable music player, to real-time control of systems like the space shuttle. They are identified by their functions. The majority of commercial embedded software systems are designed to perform selected functions. These systems have to overcome resource constraints and system specifications. These systems meet their real-time constraints with a combination of special purpose hardware and software custom-developed to cope with the system requirements.
The embedded system must have the unique quality and functionality of being able to restart itself even if catastrophic data corruption has taken place. This is usually accomplished with a standard electronic part called a watchdog timer that resets the computer unless the software periodically resets the timer. Embedded systems today rely on trusted Chip and processor makers like Intel, AMD and the like. Embedded software’s are being developed by developers who deploy time-tested methods like compilers, assemblers and debuggers to develop embedded system software.