Menu

Embedded Systems

Embedded Systems & General Purpose Computers

An embedded system is a computer system that forms part of a larger device or system. It is built for a dedicated purpose: it carries out one specific task, or a limited set of tasks, inside the device it belongs to. It normally has that one purpose, and the user cannot install new software on it.

A security light is an everyday example: a small computer inside it reads a light sensor and switches the lamp on when it gets dark. That is all it will ever do — you could not install a game on it.

Because the job never changes, the designer can keep the parts modest. Slower processors, less storage and limited processing resources are usually enough, which keeps the cost per unit low and the device small. The program is usually stored in ROM rather than on a hard drive, so it is fixed in place and cannot be altered by the user. Modest parts also mean low power consumption, which matters in a battery-powered device. A limited user interface — a couple of buttons, a small display, or none at all — and a simple, robust operating system leave little to go wrong, so embedded systems are very reliable and should not develop a fault that changes what they do.

A general-purpose computer is the opposite: it runs many different programs and you can install new software whenever you like. That flexibility has a cost, because with lots of software running there is more to go wrong, so it may be less reliable and may need restarting.

FeatureEmbedded systemGeneral-purpose computer
PurposeOne dedicated taskMany different programs
New softwareCannot be installed by the userCan be installed at any time
Processor and storageSlower, with less storageFaster, with more storage
Where the program is storedUsually ROMUsually a hard drive or SSD
Size and costSmall, low cost per unitLarger, higher cost
Operating systemSimple and robustLarge and feature-rich
User interfaceLimitedFull keyboard and screen
ReliabilityVery reliableMay be less reliable and need restarting

Practise this