Designing embedded real-time computer systems. Types of real-time systems, including foreground/background, non-preemptive multitasking, and priority-based pre-emptive multitasking systems. Soft vs.