UbiFOS: A Small Real-Time Operating System for Embedded Systems

  • Ahn, Hee-Joong (Digital Home Research Division, ETRI) ;
  • Cho, Moon-Haeng (Department of Computer Engineering, Chungnam National University) ;
  • Jung, Myoung-Jo (Department of Computer Engineering, Chungnam National University) ;
  • Kim, Yong-Hee (Department of Computer Engineering, Chungnam National University) ;
  • Kim, Joo-Man (Department of BioInformation & Electronics, Pusan National University) ;
  • Lee, Cheol-Hoon (Department of Computer Engineering, Chungnam National University)
  • Received : 2006.10.09
  • Published : 2007.06.30

Abstract

The ubiquitous flexible operating system (UbiFOS) is a real-time operating system designed for cost-conscious, low-power, 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 ${\mu}s$ on the ARM926EJ processor. UbiFOS also provides the flexibility for user to select from several inter-task 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