Selection of RTOS for an Efficient Design of Embedded Systems

Summary Real Time Operating System (RTOS) is a basic building block of most of the Embedded Systems (ES). There are wide ranges of RTOS’s available to the designers/ developers of ES’s ranging from RTOS for robotics to home appliances. Each application demands a specialized set of requirements and to meet these requirements the designer needs to select the RTOS, which meets the desired requirements. It is a critical task for him/her and time consuming because it involves to know all the specifications of different RTOS and there are various RTOS’s available in the market that include micro kernels to commercial RTOS’s . So it is the task of the designer to select the suitable RTOS from the vast list of RTOS’s. The design space available to any RTOS is very large and there are countless set of characteristics such as Development Methodology, Scheduling Algorithms, Kind of Real Time (Soft of Hard), Priority Levels, Development Host, Standards followed, Kernel ROM size, Kernel RAM size, Multi process Support, Multiprocessor Support, Interrupt latency, Task Switching time, Kind of IPC mechanism, Memory management, Power management, Task management, Price etc. These characteristics will guide the designer for selecting the RTOS that meets the requirements. Selecting the RTOS based on these parameters is a multidimensional search problem with each dimension corresponds to a RTOS characteristic and it requires an exhaustive search with tremendous computing resources and time. In our framework of RTOS selection, we have used the Simple Genetic Algorithm (GA) with interactive GUI by which the developer can choose the right RTOS for a given application or a project efficiently.