In the design of hard real-time systems, the feasibility of the task set is one of the primary concerns. However, in embedded systems with scarce resources, optimizing resource usage is equally important. In particular, the RAM is highly expensive in terms of chip space, and it heavily impacts the cost of the final product. In this paper, we address the problem of reducing the stack usage of a set of sporadic tasks with timing and resource constraints, running on a uni-processor system. With respect to other approaches available in the literature, this work considers each task consisting of a set of functions (or subjobs), each characterized by a maximum stack requirement. This makes it possible to prohibit arbitrary preemptions through a dynamic priority protocol that reduces the overall system stack usage. Resource synchronization is also considered and, an extension of the Stack Resource Policy is presented to arbitrate the access to mutually exclusive resources while reducing the ...
Gang Yao, Giorgio C. Buttazzo