Dynamic Memory Allocation of Embedded Real-Time Operating System Based on TLSF
In order to meet the requirements of rapid real-time and high memory utilization in the dynamic memory allocation of embedded real-time operating systems, this paper introduces memory block access attributes into the process of memory allocation and merge based on the TLSF algorithm and designs a TLSF-based embedded real-time operating system dynamic memory management mechanism. In the process of dynamic memory frequent application and merger will increase the longer time consumption and higher memory fragmentation rate, especially in the long-running embedded real-time operating system is more obvious. This paper uses the bitmap and the two-level segregated list data structure of the TLSF algorithm to quickly locate free memory blocks. This way can improve the search rate of free memory blocks. And by using the statistical data such as system dynamic memory allocation, release, reapply interval and duration, we can acquire the access attributes of memory blocks of different sizes. These access attributes contribute to selecting different memory allocation and merge strategies. The experimental results on μC/OS-II operating system show that the improved embedded dynamic memory management algorithm in this paper can effectively improve the memory allocation efficiency while ensuring a low fragmentation rate.
KeywordsTLSF algorithm Embedded system Dynamic memory Access attributes
As the research of the thesis is sponsored by National Natural Science Foundation of China (No: 61662017, No: 61262075), Key R & D projects of Guangxi Science and Technology Program (AB17195042), Guangxi Natural Science Foundation (No: 2017GXNSFAA198223), Major scientific research project of Guangxi higher education (No: 201201ZD012), Guangxi Key Laboratory Fund of Embedded Technology and Intelligent System, we would like to extend our sincere gratitude to them.
- 1.Masmano, M., et al.: TLSF: a new dynamic memory allocator for real-time systems. In: Euromicro Conference on Real-time Systems, vol. 16, pp. 79–86 (2004)Google Scholar
- 2.Sun, Y., Wu, W., Zheng, J., Zhao, M., Li, B.: Design of an embedded real-time system dynamic memory manager. Small Comput. Syst. 35(5), 1106–1110 (2014)Google Scholar
- 3.Song, M., Li, S.: A new embedded dynamic memory allocation algorithm. J. Comput. Appl. 37(S2), 244–247, 254 (2017)Google Scholar
- 4.Liu, L., Zhu, Q., He, Z.: Analysis and improvement of FreeTROS memory management scheme. Comput. Eng. Appl. 52(13), 76–80 (2016)Google Scholar
- 5.Shen, F., Zhang, Y., Lin, W.: Design of dynamic memory management algorithm in embedded real-time system. Comput. Mod. 7, 103–107 (2015)Google Scholar
- 6.Ramakrishna, M., et al.: Smart dynamic memory allocator for embedded systems. In: International Symposium on Computer and Information, pp. 1–6 (2008)Google Scholar
- 7.Wang, X., Qiu, Y., Mu, F., Leng, Y.: Research on new dynamic memory management mechanism of embedded system. Microelectron. Comput. 34(8), 66–69 (2017)Google Scholar
- 8.Jiang, Y., Zeng, X., Sun, P., Zhu, X.: Fuzzy threshold combined memory management algorithm for real-time embedded multimedia system. J. Xidian Univ. (Nat. Sci. Ed.) 39(5), 174–180 (2012)Google Scholar
- 10.Lu, X., Shuai, J., Wu, Q.: A new memory manager for object-oriented programs. Comput. Eng. 38(9), 21–23 (2012)Google Scholar