Computing inside things.
WHAT AN EMBEDDED SYSTEM IS
A computer within a larger device, performing a specific function.
WHERE THEY ARE
Vehicles Industrial equipment Medical devices Appliances Network equipment Payment terminals Almost everything electronic
WHAT CONSTRAINS THEM
Memory, frequently measured in kilobytes Processing capability Power, often from a battery Cost, since volumes are large Physical size Environmental conditions
WHAT THAT MEANS FOR SOFTWARE
Efficiency matters in ways it does not elsewhere Dynamic allocation is frequently avoided entirely Failure handling must be autonomous
WHY DYNAMIC ALLOCATION IS AVOIDED
Fragmentation over long uptimes, and unpredictable timing.
WHAT TO DO INSTEAD
Allocate statically, at known sizes.
WHAT REAL-TIME MEANS
Responding within a guaranteed time.
WHAT HARD REAL-TIME MEANS
Missing the deadline is a failure, not a delay.
WHERE THAT APPLIES
Safety-critical control.
WHAT SOFT REAL-TIME MEANS
Missing occasionally degrades quality rather than causing failure.
WHAT TO ESTABLISH EARLY
Which category your system is.