By Richard Danter
Linux has supported Symmetrical Multi-Processor (SMP) environments for
many years. Until recently this has mainly benefited server class
applications but increasingly multi-processor and multi-core systems
are found in embedded systems.
To make best use of SMP, each application needs to be developed in a way which exploits the parallel execution capabilities.
Linux offers both a process and thread model but which should you use?
Programmers with a background in UNIX application development will
naturally develop using processes. Those coming from an embedded
background, having used Real-Time OS's (RTOS), will be more inclined to
use tasks (threads).