300 Int. J. Embedded Systems, Vol. 8, No. 4, 2016
Copyright © 2016 Inderscience Enterprises Ltd.
Behaviour and performance comparison between
FreeRTOS and μC/OS-III
Long Peng*, Fei Guan, Luc Perneel and
Martin Timmerman
Electronics and Informatics Department,
Vrije Universiteit Brussel (VUB),
Pleinlaan 2, 1050 Brussel, Belgium
Email: long.peng@vub.ac.be
Email: fei.guan@vub.ac.be
Email: luc.perneel@vub.ac.be
Email: martin.timmerman@vub.ac.be
*Corresponding author
Abstract: As the prevalence of embedded systems in various fields has spread, real-time
operating systems (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 their
performance and behaviour, including seven performance tests and two behaviour tests.
Comparing the measurement results shows that the commercial μC/OS-III does not behave much
better than FreeRTOS. Furthermore, we discovered that the priority changing function of μC/OS-
III does not 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.
Keywords: FreeRTOS; μC/OS-III; behaviour; performance; comparison.
Reference to this paper should be made as follows: Peng, L., Guan, F., Perneel, L. and
Timmerman, M. (2016) ‘Behaviour and performance comparison between FreeRTOS and
μC/OS-III’, Int. J. Embedded Systems, Vol. 8, No. 4, pp.300–312.
Biographical notes: Long Peng received his BS and MS in Computer Science and Technology
from the National University of Defense Technology, China in 2009 and 2012. His areas of
research were web programming, data mining, and distributed file system. Since November
2012, he has been awarded as a PhD candidate at the Embedded System Lab, ETRO, VUB. His
research topics include real-time operating system benchmark, behaviour-based robotics and
adaptive systems.
Fei Guan received her BEng in Automatic Test and Control from Harbin Institute of Technology
(HIT), China, in 2010. She received her MS degree at the same university in 2012 and is
currently a PhD candidate at the Department of Electronics and Informatics (ETRO) of Vrije
Universiteit Brussel (VUB). Her research interests are in the areas of real-time operating system
and adaptive scheduling.
Luc Perneel received his Master in Electrical Engineering from Catholic University Leuven
(KUL), Belgium, in 1990. He has complemented with a Post Master in Industrial Management,
awarded also by KUL, in 1991. He has more than 20 years of experience in embedded systems
and real-time behaviour. He is specialised in operating systems and interactions between
hardware and software. Besides performing research on real-time scheduling at VUB as a PhD
candidate, he owns the company Luperco.
Martin Timmerman obtained his Engineering Master in Telecommunications at the Royal
Military Academy, Brussels in 1975 and PhD in Applied Science at the University of Gent in
1982. He is a Professor at the Royal Military Academy and VUB. His research focuses on
real-time operating system and swarm robotics. He is the head of the Embedded Systems Lab at
VUB.