Real-Time Operating Systems: An Ongoing Review Ramesh Y erraballi Dept. of Comput er Science and Engine ering University of Texas at Arlington Abstract Re al- time operating sys tems hav e evolved ove r the years fr om being simple exec utive s usin g cycli c sche dulin g to the current feature-rich operating environments. The stan- dardization of POSIX 1003.1, ISO/IEC 9945-1 (real-time extensions to POSIX) has contributed significantly to this evolution, however, the specification leaves plenty of room for individual implementations to both interpret and spe- cialize their RTOSs. Accor dingly , ther e has been a pr o- liferation of both commercial and free RTOSs, notably, the ITRON OS, the OSEK-VDX OS specification, commercial RTOSs like VxWorks, VRTX, LynxOS, OSE and QNX, and free RTOSs like RT-Linux (RTAI), and Windows CE.The goal of the work reported in this paper is to draw the real-time systems practitioner and researcher’s attention to these choices and bring out the similarities and differ- ences among them. W ork is underway to, inst all, test and benchmark the aforementioned OSs to draw a more objec- tive assessment. 1 Intr oduc ti on The prima ry role of an operat ing syst em (OS) is to man- age resources so as to meet the demands of target applica- tions. Traditional timesharing operating systems target ap- plication environments, that demand fairness and high re- source utilization. Rea l- time appli cat ions on the other hand demand timeliness and predictability , and the operating systems targeting these applications meet these demands by paying special attention to a host of OS features like: (i) Multitasking (ii) Synchronization (iii) Interrupt and Event Handling (iv) Input/Output (v) Inter-task Communication (vi) Timers and Clocks (vii) Memory Management. The design of a real-time operating system (RTOS) is essentially a balance between providing a reasonably rich featu re set for appli catio n deve lopment and deplo yment and, not sacr ifici ng predicta bilit y and time lines s. In ad- diti on to time line ss and predi ctabi lity some other desir- able chara cter isti cs ha ve been ident ified in the var ious stan- dards [10, 7, 6] specific ations. In this paper , we attemp t to demonstrate that the various RTOSs implementing these stan dards , dif fer in their impl ement ation choic es and strate- gies. This demonstrati on should allo w a pract itioner to choose the right RTOS for a particular application. The specific real-time operating systems that are con- sidered in this paper are: LynxOS: A UNIX-compa tible , POSIX-conformant real-time operating system for embed- ded applicat ions from Lynx Real- Time Syst ems Inc. It is scalable, fully re-entrant, preemptible, and ROMable [2]. ITRON: An open RTOS specification for embedded sys- tems resulting from the TRON ( he eal-Time perating System ucleus) project. Participant companies that have imple mente d the speci ficati on inclu de, Fujit su, Hita chi, Mitsubhishi, Miyazaki, Morson, Erg Co., Firmware Sys- tems, NEC, Sony Corp., Three Ace Computer Corp., and Toshiba [10]. OSE: A commercia l RTOS from Enea Data Systems that boa sts to ha ve bri dge d the gap bet wee n app lic ati ons and the kernel by providing a rich set of features inside the kernel. It’s mess age based architecture allows for efficient I PC and synchronization [5]. OSEK-VDX: The “Open Syst ems in Aut omoti ve Net- works” RTOS specification that has been adopted by the following organizations in their embedded systems: Adam Opel AG, BMW AG,DaimlerChrysler AG, University of Karlsruhe - IIIT, PSA, Renault SA, Robert Bosch GmbH, Siemens AG, Volkswagen AG [6]. QNX: A real-time, extensible POSIX compliant OS with a lean micro-kernel and a team of optional cooperating pro- cesses. [9]. RTAI: It evo lved from NMT RTLinux (Ne w Mexic o Inst i- tute of Technology’ s Real-Time Linux), and take s a unique approach of running Linux as a task (lowest priority) that competes with other real-time tasks for the CPU [3]. VRTX: A highly reliable RTOS from Mentor Graphics that is the first to be certified under the US FAA’s strin- gent RTCA/DO-178B level A standard for mission-critical aerospace systems. It is based on a Nanokernel running on top of a Hardware Abstraction Layer to provide fast and predictable response [11]. VxWorks: The most popul ar (and compl ete) comme rcial RTOS (from Wind River Systems) in the embedded indus- try with ports for virtually all CPUs in the market [12]. Windows CE: Micr osoft ’ s embed ded operat ing syst em for handhel d PCs and small embedded pro cessors. Though it’ s cur rent ver si on (2.0 ) does not rea lly quali fy as an RTOS, both feature-wis e and performance-wise, Microsoft promises to fix these shortcomings in version 3.0 [13]. The abo ve lis t is in no wayexhaus ti ve but is a rea son able subset of more than 50 commercial, academic (research- based ) and free RT OSs currentl y availa ble. We hav e not inclu ded sev eral excel lent acade mic RTOSs which hav e been very well re vie wed in [4]. Furth er, we only picked one of several (Lineo, ecos, Lynx Bluecat etc.) new RTOS derivatives of the Linux operating system. We refer to the