What is an embedded system?
A friend of yours says ‘come outside and look at my new computer’. You go outside, and he points to his new Ferrari. You look puzzled. Surely, this is a car? It might possibly contain a computer – actually, it probably contains several computers. But if your friend insisted that it was a computer; that it had a large fast piece of metal, painted red, as its main peripheral; and sorry about the lack of keyboard and monitor – you would think he was unbalanced. He would have been showing you an Embedded System. The computer (or computers) would have been embedded in the Ferrari. When you saw it, you would think: nice car, I bet it has got a computer in it. You would not think: nice computer, interesting peripheral and I like the colour. Or: nice washing machine, I bet it has got a computer in it. Or nice DVD player. Or television. Or remote control box. Or . . . These are all embedded systems. See some more examples of Embedded Systems.
An embedded system is a special-purpose system in which the computer is completely encapsulated by the device it controls. Unlike a general-purpose computer, such as a personal computer, an embedded system performs pre-defined tasks, usually with very specific requirements. Example: Routers, ATMs, cellular phones.
An embedded system refers to any electronic system that uses a CPU chip, but that is not a general-purpose workstation, desktop or laptop computer. Embedded systems generally use microprocessors, or sometimes custom-designed chips or both. It is used in various applications such as vehicles, machine tools and consumer electronics.
Tough question, really. There is no one answer. I asked at least a half dozen industry experts and got as many answers. In fact, it was so hard to pin down a definition that I almost started thinking “embedded system” was just another term for “software.” Nevertheless, there’s one fact about embedded systems that all the experts do seem to agree on: An embedded system is any software system that must be designed on a platform different from the platform on which the system is intended to be deployed. What is meant by platform? On the development side, platform typically refers to an operating system capable of hosting software development, such as Windows, Solaris, HP, etc. On the target side, the word platform refers to the devices on which the embedded system will be deployed. OK then, why the design constraint? Why aren’t embedded targets capable of hosting software development? Because these targets are optimized for performance and/or simplicity, they lack the equipment necessary