This book introduces Software Thermal Management (STM) as a means of reducing power consumption in a computing system in order to manage heat, improve component reliability and increase system safety. Readers will benefit from this pragmatic guide to the field of STM for embedded systems and its catalog of software power management techniques. Since thermal management is a key bottleneck in embedded systems design, this book focuses on root cause of heat in embedded systems: power. Since software has an enormous impact on power consumption in an embedded system, this book urges software engineers to manage heat effectively by understanding, categorizing and developing new ways to reduce static and dynamic power consumption. Whereas most books on thermal management describe mechanisms to remove heat, this book focuses on ways for software engineers to avoid generating heat in the first place.