Nowadays, there is a wide selection of various operating systems intended for use in embedded systems. The entry list includes proprietary and open-source operating systems with a different set of functions. There are numerous selection factors that should be taken into account, but the main criteria are derived from the purposes of your device and its functionality.
In this article, we would like to talk about Linux – one of the most popular operating systems used in embedded devices. For almost 30 years this OS provides free services for a large community of users worldwide. Its open-source ecosystem creates numerous opportunities for customization and offers multiple already-existing designs, features, and support without requiring a paid license.
We will give you a brief overview of this OS, specify the role of Linux in the medical field and provide pros and cons of Linux for medical devices. The Linux review we offer in this article will help you understand whether it really is a good option for your embedded medical device.
- 1 Linux Overview
- 2 Linux for Medical Devices
- 3 Pros and Cons of Linux for Medical Devices
- 4 Disadvantages of Linux for Medical Devices
- 5 Final Thoughts
Launched in 1991, Linux was developed as an alternative to commercial Unix-like operating systems. What we know as “Linux” was actually made from the kernel developed by Linus Torvalds and free software from the GNU Project initiated by Richard Stallman. The Linux kernel, used in combination with the GNU system, got off the ground and gained popularity due to its availability and open-source nature.
In the years since, the GNU/Linux system gave rise to countless numbers of its versions or distributions, either from proprietary vendors like Red Hat, Fedora, Ubuntu and OpenSUSE, or purely open-source distros like Debian, Slackware, Gentoo, Linux Mint.
Intended initially for a desktop PC, these days Linux cannot be regarded as a champion on this platform. However, Linux is an absolute leader among operating systems used on servers and data-intensive mainframes.
The core Linux element is the kernel that takes control of the CPU, memory, and peripherals. Linux is a multi-tasking OS with a multi-user capability.
Due to its portability, Linuх can be compatible with a large variety of hardware platforms. Linux is quite moderate in its demands, so it may only need 8 or 16 Mb RAM, 32 Mb Flash, and a small ARM core. But that’s just the minimum Linux hardware requirements. Your application might require much more than that, and it should be taken into account.
To run on the custom hardware, every operating system requires a custom firmware image. The same applies to Linux. Thus, when building a custom image, you might face difficulties with the kernel configuration, as well as the drivers’ availability. Broad experience in embedded Linux development is important for the robust design of your bespoke firmware. If you need to customize the kernel and develop device drivers for your hardware, make sure you have strong support for Linux kernel and driver development.
Linux provides a way to make multiple modifications and offers a rich selection of applications and security patches, predominantly at no cost. Besides, the global community of Linux experts is safeguarding the security of the operating system, making it malware resistant.
The application field of the Linux OS is far-reaching. It is used in consumer electronics, telecommunication, healthcare, automotive, and industrial solutions.
You can find the Linux kernel in embedded systems of different purpose and complexity from a Raspberry Pi or Android phone to the IBM Blue Gene supercomputer. It’s no wonder that we find Linux used increasingly in embedded medical devices.
Linux for Medical Devices
High tech solutions have long been adopted by the healthcare industry. However, this adoption has been slowed down by the fact that the industry is highly regulated and any change or update is a challenge for a medical device company.
The manufacturer has to make sure the design of the product is in full compliance with the relevant standards and regulatory documents. A medical device should fully meet the requirements for safety and performance as well as cybersecurity.
All of that is a tedious, time-taking process which, above all, is critical to the budget. That is why a lot of medical device manufacturers have been using the same software and hardware for years or decades.
One of the recent examples is Windows CE end-of-life. Microsoft has stopped supporting it, although this obsolete OS still runs on plenty of medical devices. We have already explained why it is important to move from Windows CE and what migration options you have in our Windows CE migration guide for medical devices.
The Linux OS is a sound alternative, not only for porting your system from the legacy platform, but for the development of a product from scratch as well. That is why a number of manufacturers choose Linux-based medical devices.
Linux has entered the healthcare industry for a number of reasons. One of them is certainly about its open-source nature. This is a great opportunity for manufacturers to cut down expenses on the development and maintenance of the software.
Linux combines both GPOS and RTOS options, which allows for its use in a wide range of medical products from a simple application to a complex system with life-critical functionality.
Linux provides a high level of security, including cybersecurity, which is a solid argument for such a safety-sensitive industry as healthcare. It is a suitable solution, either for the smooth operation of life-supporting equipment, or for safe transmission of patients’ personal data.
Finally, Linux can cope with healthcare over-regulation. The key demand that medical device manufacturers should place on their vendors is to provide a solid product that is fully compliant with all relevant standards and regulations.
The development of software for medical purposes is regulated by the international IEC 62304 standard. In the U.S. it should also meet the FDA’s requirements. The software can be developed alone as a medical device (software as a medical device – SaMD), or embedded into the medical device hardware.
The basic dilemma is how to treat integrated software that was not developed by certified manufacturers. Such software can be classified as:
- 3rd party software – software developed according to the required medical standards (ISO 13485, IEC 62304, the FDA regulation) for which technical documentation exists and is available to the manufacturer.
- SOUP (software of unknown provenance), also called off-the-shelf software – software developed by an unknown developer that is widely available (paid or at no cost) and for which there is no sufficient documentation. Linux falls right under this definition.
Choosing SOUP, the manufacturers of medical devices will be in charge of the following:
- software requirements;
- software architecture;
- risk analysis;
- software maintenance; and
- cybersecurity control.
The medical device manufacturers should ensure the software is properly tested (verified and validated), maintained, and documented to comply with the required standards. Well-established quality and risk management systems should be a must for the solution provider to meet IEC 62304 requirements.
At first glance, that seems to be easy to provide with a proprietary solution. This is because, in this case, you get the software that is already supported with the necessary documentation. So, if you decide to choose a commercial solution, proprietary Linux distros are at your service. You will get a validated and well-documented system with full commercial support, which is unavailable with non-commercial Linux distributions.
However, the medical device manufacturers are still in charge of the operating system deployment and should take care of the rest of the work, just like in the case of purely open-source Linux distros.
As you know, there are a number of aspects that should be taken into account when you choose an operating system for your medical device. Let us be fair-minded and consider both the advantages and disadvantages of Linux for medical systems.
Pros and Cons of Linux for Medical Devices
Relating to medical devices, there are certain requirements that an OS should meet to provide high functionality and safe performance. Such requirements include among other things, reliability, the ability to sustain long-term performance, real-time capability, and data integrity for safe data storage and transmission. Conformity with certification standards, as well as cost-efficiency and user-friendliness, are also key to a medical device OS.
Being familiar with the requirements for Linux in a medical device, let us consider all the pros and cons of its use.
Advantages of Linux for Medical Devices
There are a number of advantages of using Linux OS in healthcare. We would like to highlight seven major reasons that speak very well for Linux in medical devices.
It is obvious that an open-source solution is much more attractive from the commercial point of view than a proprietary operating system. Of course, such a project will entail certain expenses on implementation and maintenance, but you will not need to pay lots of money for the license and support.
With Linux, you get free access to numerous services, updates, and security patches under the General Public License.
Due to its flexibility, Linux is highly customizable. This open-source platform offers a wide range of pre-existing designs to meet your every need. But on top of that, you can make all the necessary adjustments to the code by easily modifying it. You can add or remove any features you like to make the design clean and functional.
There are special development platforms that make it possible to create bespoke Linux images for embedded systems regardless of their hardware architecture. A well-known example of such a platform is the Yocto Project.
The Yocto Project offers a wide range of open-source tools and support for embedded Linux developers to create customized Linux builds that can run on a broad spectrum of architectures like Intel, ARM, MIPS, AMD, PowerPC, etc.
Security seems to be a source of pride for Linux, which is confirmed by its wide use in various industries dealing with sensitive data like healthcare. Linux is malware-resistant. It can stand up against cyber attacks and can protect patients’ personal data.
Thanks to a large global community, any security issue can be quickly identified and fixed. Linux is armed with encryption technologies to ensure safe collection, transfer, and storage of data.
Proprietary Linux distributors normally comply with the prescribed guidelines on cybersecurity of medical software and provide their customers with regular security patches.
The Linux OS has both GPOS and RTOS components. The GPOS option of Linux is suitable for a simple, portable product with no requirement for large memory capacity, real-time performance, and limited-time response.
However, the ever-changing world of high technology demands that the modern embedded medical systems provide high accuracy and reliability, and low power consumption. They should be designed to operate at high speed and run real-time applications. This is the case when real-time capabilities find use in embedded Linux for medical devices.
This mainly refers to the monitoring and life support systems in which operations have specific execution times. Missing these timeframes may cause serious damage or be lethal to a patient. According to IEC 62304, the operating system used in this type of device refers to Class C of the software safety classification which can pose the highest risk to the patient.
Linux is highly portable and if you decide to move to new hardware, you will not face difficulties with porting your software. Linux can run on any relevant CPU like ARM, ARC, PowerPC, MIPS, x86, etc. All major manufacturers of modern CPUs release hardware together with the BSPs and support for Linux available free of charge.
Compatibility with outdated hardware is not an issue for Linux. An operating system based on the new Linux kernel can easily run on older hardware platforms.
Linux is all around. It is used in handhelds, desktops, servers, networks, and supercomputers.
Flexibility is one of the reasons for the widespread use of embedded Linux in medical devices. It is used in either small measuring or sampling devices, or in complex medical systems like a CT scanner or an MRI.
Linux is on the rise, and the number of Linux developers is constantly growing all over the world. It means that you can always get professional assistance in the development and further support of your product.
Future proof solution
Choosing Linux is a forward-thinking strategy. The viability of a product becomes really essential against the background of Windows CE end-of-life.
Proprietary platforms like Microsoft always reserve the right to discontinue support for the old versions of their software, despite its relevance and popularity among their users. As a result, you have to seek ways to migrate from the legacy platform and the migration is a painful and costly process.
With Linux, you will avoid such issues. The strong open-source Linux community worldwide guarantees longevity of this operating system. Linux zealots regularly develop new OS versions, providing them with new features, tools, applications, and the necessary support as long as it takes.
As you see, there are at least seven compelling arguments in favor of the Linux operating system. But no system can satisfy everyone so for the objective estimation, so let us consider some disadvantages of using Linux as an OS for your medical device.
Disadvantages of Linux for Medical Devices
At first thought, Linux is a good choice for a medical device manufacturer. For example, its open-source nature gives an opportunity to develop a safe, customized, and cost-friendly solution. But at the same time, the open-source software can become a matter of concern when it comes to the certification.
It is well-known that the severity of the certification procedure depends on the risks associated with the medical device. Thus, the development of Class IIb, Class III (MDD 93/42/EEC) and Class III (the FDA classification) medical devices with high risks will require a solid foundation to meet all regulatory requirements. Class I and Class IIa (MDD 93/42/EEC) and Class I and II (the FDA classification) devices require less regulatory control.
The documentation needed for submission is also defined by the software safety class (the IEC 62304 classification) or the level of concern (the FDA guidance).
IEC 62304 prescribes that there should be an elaborate development plan with the established quality, safety, and risk management systems. In addition to the development process, there should be a clear plan on how the product is maintained and how its cybersecurity is preserved.
Proprietary software vendors are able to provide medical device manufacturers with a well-documented product compliant with the IEC 62304 standard.
As we have already mentioned earlier, Linux is a SOUP. So if you choose to go with this open-source OS, you will have to make efforts to prove that your software meets IEC 62304.
Before choosing a SOUP, you should properly evaluate it and analyze all the risks to make sure it is safe and that it meets the defined requirements.
The SOUP is not supported by the documentation required by the certification standards. Thus, each phase of the development process should be well documented and tested.
With open-source software, the device manufacturers, either with the developer or without them, have the responsibility to define all the requirements for the software, as well as its architecture. They have to analyze all possible risks, validate the SOUP and take control of its lifecycle.
Thus, in order to get a new OS version, or protect your product from malware, you’ll have to keep a close watch on the new releases of updates and patches. You will also be responsible for their timely implementation.
If you want to ease the pain and get regular updates and robust support, you can seek professional assistance from commercial Linux vendors. Proprietary Linux distributors ensure that your software is always updated on time. But in this case, Linux stops to be a free platform for you.
One more problem that you might face is that Linux cannot be called a user-friendly operating system for its developers. That is why you should be ready to allow for a certain learning curve for the implementation of the Linux solution.
With its ever-growing popularity and undeniable advantages, Linux has already found its place in the healthcare industry and nowadays devices that use Linux becomes more and more popular all around the world.
As an open-source and feature-rich OS, it opens up great opportunities for highly-customized cost-saving solutions. With its advanced security and reliability, it can run on mission-critical medical equipment and work with sensitive patient data.
Probably, the biggest concern you might have working with Linux is the absence of the regulatory frameworks that are necessary for medical software development and its further certification.
A commercial Linux distribution comprises the necessary documentation and support which appreciably facilitates the development and certification procedures. Proprietary vendors provide BSPs and complete tasks related to the hardware and applications.
As for the rest, the implementation of the Linux OS will be just the same as with its non-commercial distros.
So, you may as well choose a purely open-source solution, and find an experienced development team that will help make your SOUP an IEC 62304 compliant product.
Integra has long experience working with Linux. Our software engineers will provide you with a solid customized solution, using all the advantages of Linux to the benefits of your project.
At the same time, our hardware developers will advise you on the hardware platform that can be well suited for your product specifications and requirements.
Drawing on our long-term experience with embedded systems and technologies, it is safe to say that powered by true experts, Linux is a reliable and strategic solution for your business.