This book is written to teach practicing engineers and students how to apply real-time theory to the design of embedded components and systems in order to successfully build a real-time embedded system. It explores hard, real-time theory and soft, real-time concepts and this updated edition now covers Linux development using Virtual Box and virtual machines. The book covers and includes examples for ARM, MIPS, and x86 architectures. Also explored is FreeRTOS as an alternative to VxWorks for RTOS. It discusses tips for architectures to combine embedded Linux with traditional RTOS solutions using AMP (Asymmetric Multi-Processing) as well as SMP (Symmetric Multi-Processing) on multi-core embedded systems. A DVD with applied projects is included. It is updated to now cover Linux with emphasis on Yocto, Ubuntu development using Virtual Box and virtual machines. It explores hard real-time theory and soft real-time concepts, real-time scheduling, debugging components, high availability and high reliability design, system lifecycles, and the processes for hardware, firmware, and software development for systems built from components.It includes a DVD with example projects from robotics, computer vision, and digital media.