Bringing Segmented Stacks to Embedded Systems
Bringing Segmented Stacks to Embedded Systems
复制标题
将分段堆栈引入嵌入式系统
DOI:
10.1145/3572864.3580344
复制
发表时间:
2023
期刊:
影响因子:
--
通讯作者:
Zhong, Lin
中科院分区:
文献类型:
--
作者:
Ma, Zhiyao;Zhong, Lin
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
影响因子:
--
作者:
Nina Lykke
通讯作者:
Nina Lykke
DOI:
--
发表时间:
1990
期刊:
ACM-SIGPLAN Symposium on Programming Language Design and Implementation
影响因子:
--
作者:
Robert Hieb;R. Dybvig;Carl Bruggeman
通讯作者:
Carl Bruggeman
DOI:
--
发表时间:
2011
期刊:
International Conference on Distributed Computing in Sensor Systems
影响因子:
--
作者:
William P. McCartney;Nigamanth Sridhar
通讯作者:
Nigamanth Sridhar