{"title":"A conservative real-time garbage collector for C/C++ running on top of RTEMS","authors":"Tobias Stumpf, Matthias Werner","doi":"10.1109/ISORC.2013.6913196","DOIUrl":null,"url":null,"abstract":"Software is getting larger and more complex. To simplify programming, languages with automatic memory management are used. In embedded systems the languages C/C++ are commonly used, which do not provide such functionalities. This paper addresses real-time garbage collection for embedded systems. We developed a conservative collector, which supports C/C++. The collector uses the mark-sweep algorithm and an installation barrier. Synchronisation points ensure termination. Memory fragmentation is avoided by memory partitioning. Compared to existing approaches, our collector provides realtime support without restrictions on the compiler, programming language or to need special hardware. We only use common hardware functionalities normally used by an operating system to avoid compiler modifications and increase performance.","PeriodicalId":330873,"journal":{"name":"16th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2013)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"16th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2013)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISORC.2013.6913196","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Software is getting larger and more complex. To simplify programming, languages with automatic memory management are used. In embedded systems the languages C/C++ are commonly used, which do not provide such functionalities. This paper addresses real-time garbage collection for embedded systems. We developed a conservative collector, which supports C/C++. The collector uses the mark-sweep algorithm and an installation barrier. Synchronisation points ensure termination. Memory fragmentation is avoided by memory partitioning. Compared to existing approaches, our collector provides realtime support without restrictions on the compiler, programming language or to need special hardware. We only use common hardware functionalities normally used by an operating system to avoid compiler modifications and increase performance.