{'fraction_non_alphanumeric': 0.016865079365079364, 'fraction_numerical': 0.0, 'mean_word_length': 4.605555555555555, '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}}
Minimizing memory utilization of task sets in SmartOSEK

There has been a rapid growth in the amount and the importance of software in automobiles in the past two decades. This trend makes us view automobile space as a set of smart services. The basic platform for managing these services is a real-time operating system. Due to the limited resource in ECU, this operating system must be efficient in some aspects especially in memory utilization. We have implemented an operating system SmartOSEK, an OSEK-compliant OS. Some features and optimizations to reduce the RAM needed by the operating system are presented in this paper. First, an upper bound for the register set of each task that has to be stored can be calculated off-line. It also calls for the extension of the compiler to allocate registers across tasks for task contexts. We provide an experimental implementation with its result shown in this paper. Second, the stack space is saved based on some properties of tasks and interrupt handling.