What Type of RTOS Is Best for Medical Devices?
Although real-time operating systems(RTOS) boost performance in medical devices, choosing whether to use commercial, open source or an in-house real-time operating system can be difficult. Let’s review some more information about RTOSs and compare the pros and cons of each approach.
What is an RTOS and why is it important?
A real-time operating system is software that facilitates the operations of a real-time application. It is analogous to Windows on PCs enabling applications like Outlook, Word and Internet Explorer to perform their duties smoothly. In this case, an RTOS is the Windows for computers used to operate medical devices.
Embedded systems (computers within a device) are quite different from PCs, so an RTOS does a very different job than a standard OS like Windows. Unlike PCs that lack real-time constraints, embedded systems must execute all their functions in real-time. Moreover, embedded systems are not as general-purpose or resource-rich in regards to peripherals, processing power and memory as PCs. Hence, an RTOS focuses on providing embedded applications with the required resources to execute their duties, just like Windows focuses on providing the support that a PC needs.
An RTOS provides applications with real-time communications, real-time scheduling, tier management, memory allocation, device access, and interrupt processing among other functions that real-time systems must possess. Real-time scheduling enables applications to act on real-time events in a deterministic manner while real-time communication facilitates the sending of messages among different application parts and the real-time reaction to the messages. Simple system applications may not always require an RTOS but complex applications must use an RTOS.
RTOS Standards
Commercial real-time operating systems are proprietary; they are developed, designed and maintained by companies as per their vision and the applications they target. In-house and open-source RTOSs target specific applications that either cater for in-house application needs or provide solutions to different real-time applications. As such, most real-time operating systems do not follow any API or functionality standards. However, they support certain industrial standards like IEC 62304 for medical certification, arinc-653 scheduling, osek automotive requirements and do-178b/c safety considerations, just to mention a few.
Pros and cons of commercial and open-source RTOSs
Real-time operating systems in general provide a variety of benefits to medical systems. An RTOS can:
- Ease application development by offering callable functions to conduct required system services for applications
- Trigger multi-threading to ensure that a part of the application operates when another is waiting for team development
- Support application portability to different processors as the application matures and demands more resources
- Optimize different application functionalities through interrupt processing, task scheduling, and context switching
In addition to these overall benefits, commercial and in-house RTOSs come with their own specific pros and cons.
- Commercial RTOS
- Pros: offers higher performance, has safety-critical certification compliant for medical devices, protects proprietary application IP, regularly upgrades tools, indemnifies IP rights, and offers a point of contact support.
- Cons:high license costs, it may be hard to verify suppliers and the RTOS may not be field-proven.
- In-house RTOS
- Pros: designed to meet specific application requirements, feature safety-critical certification specific to their industry of use, and greater in-house RTOS knowledge.
- Cons: development requires expertise that most in-house employees may lack, porting in-house RTOS may involve unforeseen changes.
So what type of RTOS is best for medical systems, in-house or commercial RTOS?
Most medical devices use a commercial RTOS because it saves them from spending resources on development and maintenance of an in-house team. This also leaves them with enough time and resources to focus on application and device competency.