{'fraction_non_alphanumeric': 0.020227560050568902, 'fraction_numerical': 0.0, 'mean_word_length': 5.281746031746032, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
System Level Power Management for Embedded RTOS : An Object Oriented Approach

Power management systems for embedded devices can be developed in real-time operating system (RTOS) or in applications. If power management policies are applied in operating system (OS), then designers and developers will not have to worry about complex power management algorithms and techniques. They can rather concentrate on application development. The OS contains specific and accurate information about the various tasks being executed. An RTOS further has a comprehensive set of power management application programming interfaces (APIs) for both device drivers and applications within a power management component. Therefore, it is logical to place policies and algorithms in the OS that can place components not being used into lower power states. This can significantly reduce the system energy consumption. We present here an abstract model of a system power manager (PM), device power managers, and application power managers. We present relationship and interactions of these managers with each other using Unified Modeling Language (UML) class diagrams, sequence diagrams and state charts. We recommend that the PM must be implemented at the OS level in any embedded device. We also recommend the interfaces for interactions between PM and the devices power manager, as well as PM and application power manager. Device driver and application developers can easily use this object oriented approach to make the embedded system more power efficient, easy to maintain, and faster to develop.