Energy harvesting systems should be designed to function perpetually without any human intervention because either costly or impractical. The introduction of energy harvesting capabilities into the IoT introduces a lot of design questions. Researchers strive to design efficient power managementand scheduling techniques which additionally adapt to real-time requirements that characterize a lot of energy harvesting computing systems present in the IoT. In this book, we particularly address the scheduling issue for uniprocessor architectures. We consider a self-powered system which has to execute, from one hand aperiodic tasks with minimal responsiveness, and from the other hand hard deadline periodic tasks. Classical scheduling techniques need to be reconceived so as to take into account the fluctuating energy source. The book describes novel aperiodic task servers which are energy harvesting aware. Extensive results of simulations are reported so as to bring to light the effectiveness of two aperiodic task servers: a Slack Stealing one and a Total Bandwidth one.