The ubiquitous flexible operating system (UbiFOS) is a real-time operating system designed for cost-conscious, lowpower, small to medium-sized embedded systems such as cellular phones, MP3 players, and wearable computers. It offers efficient real-time operating system services like multi-task scheduling, memory management, inter-task communication and synchronization, and timers while keeping the kernel size to just a few to tens of kilobytes. For flexibility, UbiFOS uses various task scheduling policies such as cyclic time-slice (round-robin), priority-based preemption with round-robin, priority-based preemptive, and bitmap. When there are less than 64 tasks, bitmap scheduling is the best policy. The scheduling overhead is under 9 μs on the ARM926EJ processor. UbiFOS also provides the flexibility for user to select from several intertask communication techniques according to their applications. We ported UbiFOS on the ARM9-based DVD player (20 kB), the Calm16-based MP3 player (under 7 kB), and the ATmega128-based ubiquitous sensor node (under 6 kB). Also, we adopted the dynamic power management (DPM) scheme. Comparative experimental results show that UbiFOS could save energy up to 30% using DPM.Keywords: Real-time operation systems, embedded systems, wearable computers, power management. Manuscript received Oct. 09, 2006; revised Feb. 07, 2007. Hee-Joong Ahn (phone: + 82 42 860 6897, email: hjahn@etri.re.kr) is with Digital Home Research Division, ETRI, Daejeon, Korea.Moon-Haeng Cho (email: hjhong@etri.re.kr), Myoung-Jo Jung (email: mjjung@cnu.ac.kr), Yong-Hee Kim (email: root4567@cnu.ac.kr), and Cheol-Hoon Lee (phone: +82 42 821 6659, email: clee@cnu.ac.kr) are with Department of Computer Engineering , Chungnam National University, Daejeon, Korea.Joo-Man Kim (email: joomkim@pusan.ac.kr) is with Department of BioInformation & Electronics, Pusan National University, Miryang, Korea.
I. IntroductionIn recent years, there has been a rapid and wide spread proliferation of non-traditional embedded computing platforms such as cellular phones, MP3 players, and wearable computers. As applications become increasingly sophisticated and processing power increases, the application designer has to rely on the services provided by real-time operating systems (RTOSs). These RTOSs must not only provide predictable services but must also be efficient and compact. Moreover, since most embedded systems consist of a battery-operated microprocessor with a limited battery life, the RTOS should also be energy efficient [1], [2].In this paper, we present the ubiquitous flexible operating system (UbiFOS) real-time operating system designed specifically for small mass-produced, embedded systems, such as cellular phones, MP3 players, and wearable computers. The system consists of a low-speed microprocessor and small memory. This necessitates that any RTOS used in these systems must be predictable, efficient (in performance and energy), and compact. The reason for requiring efficiency is obvious: an RTOS which incurs less overhead needs ...