As the prevalence of embedded systems in various fields, real-time operatingsystems (RTOSs) have been widely used for many years satisfying real-time requirements and a multitasking design. The use of RTOS adds additional overhead to a system, which should be deliberately considered and evaluated in some critical systems. This paper presents a qualitative and quantitative comparison between an open-source RTOS (FreeRTOS V8.0.0) and a commercial one (µC/OS-III). Both RTOS use a preemptive multitasking kernel, with additional support for round robin scheduling. We aim to benchmark and evaluate the performance and behaviour of them, including seven performance tests and two behaviour tests. Comparing the measurement results shows that the commercial µC/OS-III doesn{\textquoteright}t behave much better than FreeRTOS. Furthermore, we discovered that the priority changing function of µC/OS-III doesn{\textquoteright}t behave correctly in some circumstances. Although FreeRTOS has no such problem in the latest version, it still has a problem with its dynamic memory management.
Peng, L, Guan, F, Perneel, L & Timmerman, M 2016, 'Behaviour and Performance Comparison between FreeRTOS and uC/OS-III', International Journal of Embedded Systems, vol. 8, no. 4, pp. 300-312. https://doi.org/10.1504/IJES.2016.077774
Peng, L., Guan, F., Perneel, L., & Timmerman, M. (2016). Behaviour and Performance Comparison between FreeRTOS and uC/OS-III. International Journal of Embedded Systems, 8(4), 300-312. https://doi.org/10.1504/IJES.2016.077774
@article{f8cb21db73394f58beb44879c5ef847a,
title = "Behaviour and Performance Comparison between FreeRTOS and uC/OS-III",
abstract = "As the prevalence of embedded systems in various fields, real-time operatingsystems (RTOSs) have been widely used for many years satisfying real-time requirements and a multitasking design. The use of RTOS adds additional overhead to a system, which should be deliberately considered and evaluated in some critical systems. This paper presents a qualitative and quantitative comparison between an open-source RTOS (FreeRTOS V8.0.0) and a commercial one (µC/OS-III). Both RTOS use a preemptive multitasking kernel, with additional support for round robin scheduling. We aim to benchmark and evaluate the performance and behaviour of them, including seven performance tests and two behaviour tests. Comparing the measurement results shows that the commercial µC/OS-III doesn{\textquoteright}t behave much better than FreeRTOS. Furthermore, we discovered that the priority changing function of µC/OS-III doesn{\textquoteright}t behave correctly in some circumstances. Although FreeRTOS has no such problem in the latest version, it still has a problem with its dynamic memory management.",
author = "Long Peng and Fei Guan and Luc Perneel and Martin Timmerman",
year = "2016",
month = jul,
day = "1",
doi = "10.1504/IJES.2016.077774",
language = "English",
volume = "8",
pages = "300--312",
journal = "International Journal of Embedded Systems",
issn = "1741-1068",
publisher = "Inderscience Enterprises Ltd.",
number = "4",
}