An incremental garbage collector for embedded real-time systems
暂无分享,去创建一个
Embedded real-time systems often have a single processor and small memory. This combination runs contrary to frequent architectural assumptions in the context of functional programming – parallel processing and/or large memory. The dichotomy is especially a problem when it comes to memory management, for an incremental garbage collection scheme is needed to achieve real-time, but present algorithms require either an extra processor or additional memory – the very thing an embedded system cannot afford. We present an incremental garbage collector of the mark-sweep type, which minimises structural overhead without sacrificing performance. It uses a very small stack for marking the live heap, with ‘safety bits’ to ensure that stack overflow does not hinder collection. We report on how the algorithm performs and discuss its correctness.
[1] Henry Lieberman,et al. A real-time garbage collector based on the lifetimes of objects , 1983, CACM.