Bringing Segmented Stacks to Embedded Systems

Bringing Segmented Stacks to Embedded Systems
复制标题

将分段堆栈引入嵌入式系统

DOI:
10.1145/3572864.3580344
复制
发表时间:
2023
期刊:
Proceedings of HotMobile
影响因子:
--
通讯作者:
Zhong, Lin
Zhong, Lin
中科院分区:
--
文献类型:
--
作者:
Ma, Zhiyao;Zhong, Lin

文献摘要

参考文献

被引文献

相似文献

微控制器是嵌入式系统的核心。由于成本和功耗限制,它们没有内存管理单元(MMU),甚至没有内存保护单元(MPU)。因此,嵌入式软件面临着两个相关的挑战,都与堆栈有关。首先,在多任务环境中,堆栈使用的物理内存通常是按任务静态分配的。其次,堆栈溢出是很难检测到低端微控制器没有MPU.In这项工作中,我们认为,分段堆栈,一个概念,调查和随后解雇的系统与虚拟内存,可以解决这两个挑战的嵌入式软件。我们发现,许多问题与分段堆栈消失在嵌入式系统,并提出了新的解决方案,其余的。重要的是,我们展示了分段堆栈与Rust相结合,可以在没有MMU或MPU的情况下保证内存安全。此外,分段堆栈允许将内存动态分配给每个任务堆栈,并且在与适当的调度相结合时可以提高内存效率。
Microcontrollers are the heart of embedded systems. Due to cost and power constraints, they do not have memory management units (MMUs) or even memory protection units (MPUs). As a result, embedded software faces two related challenges both concerned with the stack. First, in a multi-tasking environment, physical memory used by the stack is usually statically allocated per task. Second, a stack overflow is difficult to detect for lower-end microcontrollers without an MPU.In this work, we argue that segmented stacks, a notion investigated and subsequently dismissed for systems with virtual memory, can solve both challenges for embedded software. We show that many problems with segmented stacks vanish on embedded systems and present novel solutions to the rest. Importantly, we show that segmented stacks, combined with Rust, can guarantee memory safety without MMU or MPU. Moreover, segmented stacks allow memory to be dynamically allocated to per-task stacks and can improve memory efficiency when combined with proper scheduling.
从民间传说到事实:比较堆栈和延续的实现
DOI: 10.1145/3385412.3385994
发表时间: 2020
期刊: ACM SIGPLAN International Conference on Programming Language Design and Implementation
影响因子: --
作者:
Farvardin, Kavon;Reppy, John
通讯作者: Reppy, John
北欧的
DOI: --
发表时间: 2020
期刊: lambda nordica
影响因子: --
作者:
Nina Lykke
通讯作者: Nina Lykke
DOI: --
发表时间: 1990
期刊: ACM-SIGPLAN Symposium on Programming Language Design and Implementation
影响因子: --
作者:
Robert Hieb;R. Dybvig;Carl Bruggeman
通讯作者: Carl Bruggeman
TinyOS 的无堆栈抢占式多线程
DOI: --
发表时间: 2011
期刊: International Conference on Distributed Computing in Sensor Systems
影响因子: --
作者:
William P. McCartney;Nigamanth Sridhar
通讯作者: Nigamanth Sridhar