Inter-Task Register-Allocation for Static Operating Systems

Barthelmann V (2002)


Publication Language: English

Publication Type: Conference contribution, Original article

Publication year: 2002

Journal

Edited Volumes: Joint COnference on Languages, Compilers and Tools for Embedded Systems and Software and Compilers for Embedded Systems

Book Volume: 37

Pages Range: 149-154

Conference Proceedings Title: Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems (LCTES/SCOPES '02)

Event location: Berlin DE

Journal Issue: 7

ISBN: 1-58113-527-0

URI: http://www2.informatik.uni-erlangen.de/publication/download/p10-barthelmann.pdf

DOI: 10.1145/566225.513855

Abstract

In recent years, a growing number of small single-chip embedded systems are used in very high volumes, for example in the automotive industry. Due to the high volumes, these systems are very cost-sensitive. This is one of several reasons why they are more and more using static operating systems. In such systems, all system resources are configured offline and an optimized kernel is generated which is tailored to one specific application. While this allows the use of operating systems for small ECUs with only very few KB of RAM, it is observed that the memory needed to store task contexts (i.e. register sets) in case of task preemptions makes up a significant part of the RAM needed by the operating system (especially on chips with large register files). This paper presents ideas and a first implementation on methods to reduce this space through interaction of the compiler and the operating system generation. Together they can calculate an upper bound for the register set that has to be stored for each task. Also, the scope for the register allocator of the compiler can be extended to allocate registers across tasks in order to minimize the total size of RAM needed for task contexts.

How to cite

APA:

Barthelmann, V. (2002). Inter-Task Register-Allocation for Static Operating Systems. In Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems (LCTES/SCOPES '02) (pp. 149-154). Berlin, DE.

MLA:

Barthelmann, Volker. "Inter-Task Register-Allocation for Static Operating Systems." Proceedings of the Joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems (LCTES/SCOPES '02), Berlin 2002. 149-154.

BibTeX: Download