Skip to Main Content
In the 1940s, when modern computing began, engineers tended to view computers and the programs running on them as unified entities. Now, after decades in which software and hardware developed along separate paths, we seem to have come full circle. The hardware on which our programs run is thanks to embedded systems. These systems force designers to work under incredibly tight constraints. To understand the technologies developed to satisfy these constraints, we must first distinguish the underlying embedded systems elements.