Linux vs Windows 10 IoT. How to Choose the Best OS for Your Medical Device?
June 10, 2020 15 min read
Chief Technology Officer, PhD in Physics and Mathematics
When you choose an operating system for medical devices, you can easily get confused by the wide choice of options. They may differ in the nature of their source code, cost, size, architecture, performance, and area of application. In this article, we would like to take a look at the options of the most popular open-source and closed-source OS families.
When it comes to the choice of operating systems, many medical device manufacturers may have the following questions in mind: What is the best OS for medical devices? Should I choose a Microsoft product? Is Linux better than Windows 10 IoT? The list goes on. A quick spoiler: There is no absolute answer to the question of what is better: Linux or Windows 10 IoT for medical devices. Both operating systems have a broad range of abilities and features that allow for their use in medical equipment.
When we talk about Windows 10 IoT vs Linux, we talk first and foremost about the proprietary OS vs the open-source OS. This difference lays the ground for a set of further distinctions between these two systems, and this is what we are going to dwell on in this article.
To begin with, let us briefly run through each operating system.
Linux - A Brief Overview
Linux has become one of the most user-beloved operating systems since it was released in 1991. Linux, based on the kernel combined with the GNU Project, was actually the first complete open-source operating system.
Linux is characterized by the great versatility of its use. You can run it on a credit card-sized single-board computer, such as the Raspberry Pi, to teach kids computer science at school. At the same time, Linux assists in performing computations in quantum mechanics on the most powerful supercomputers.
There are a wide variety of Linux distributions and operating systems based on the Linux kernel. Some of them are purely open-source, like Debian or Gentoo, while the others are provided by commercial vendors (for example, Red Hat and Ubuntu). Probably, the most prominent Linux-based OS is Android, which is an absolute winner in the market of mobile operating systems.
The Linux OS is widely used in embedded systems due to its high flexibility. Embedded Linux development is aimed at customizing Linux to make it fully compliant with your product requirements.
Linux is compatible with almost any modern hardware platform. If you need to move to different electronics or update the current hardware version, it won’t be a problem to port your operating system and run it successfully on the new system on a chip or desktop platform.
If you want to get a more detailed understanding of Linux and its strengths for healthcare, please check out our guide on why choose Linux for medical devices.
Windows 10 IoT - A Brief Overview
This Microsoft product, based on the Windows 10 kernel, was dedicated to the Internet of Things and embedded systems development. It is mainly represented by two basic versions: Windows 10 IoT Core and Windows 10 IoT Enterprise.
Windows 10 IoT Core is primarily intended for use in IoT networks with small-sized smart devices. It has low system requirements, contains all major components of Windows 10, and supports ARM architecture. However, its functionality is quite limited, and it is not intended for high-performance systems. Windows 10 IoT Core is an operating system without its own GUI stack, and it has restricted compatibility with Windows devices and applications.
Windows 10 IoT Enterprise is a traditional operating system of the Windows Embedded family. This is an extended version of Windows 10 with a broad range of features for embedded system development. You can run any win32 applications on Windows 10 IoT Enterprise, but this OS does not support ARM-based CPUs. This version is widely used in medical equipment, telecommunications, ATMs, various industrial solutions, and other business and application areas.
The Windows 10 IoT platform gives a free hand to use Microsoft Azure IoT services to leverage cloud solutions in IoT networks. Artificial intelligence and machine learning are the other important features offered by Windows 10 IoT.
Considering the rise of the Internet of Things and cloud computing in healthcare, Windows 10 IoT becomes a viable option for medical devices.
Linux vs Windows 10 IoT
Every coin has two sides, and every operating system has its pluses and minuses. That is why a Linux vs Windows 10 IoT comparison may look weird to some extent. Each of which can be a very good option for your medical device. Your choice will depend on a number of factors from the technical requirements of your product to your corporate policy.
We decided to point out some of these factors that we, personally, consider important for an operating system running on a medical device. So let’s take a look at the capabilities and opportunities that both Linux and Windows 10 IoT offer to their users.
The open-source nature of Linux doesn’t mean that it is a completely free solution. The development of any project, whether it is based on proprietary or open-source software, requires expenditure on its implementation and maintenance.
The most obvious difference between these two operating systems in terms of their cost is the type of license. Available under the General Public License, Linux offers multiple opportunities for development. You can choose a Linux distro, customize and install it on all your medical devices free of charge, which is impossible with Windows. You can’t legally use a product by Microsoft without buying a license.
There are different licensing options for Microsoft products and services. Windows 10 IoT Core has free and paid versions. However, the free version is available only for non-industrial use. Windows 10 IoT Enterprise has only paid versions. There are three licensing options, and the license fee depends on the CPU model.
Of course, there are also paid Linux distributions provided by proprietary vendors, but any of them is on average cheaper than a complete Microsoft solution.
Early and comprehensive support is essential for medical devices classified as Class IIa, IIb, and Class III of the Medical Device Regulation - Regulation (EU) 2017/745, and Class II and III of the FDA classification. These are high-risk medical products and their smooth performance must be ensured by manufacturers.
Commercial operating systems, such as Windows 10 IoT, turn out to be an expensive solution, on the one hand. But on the other hand, the proprietary vendor provides full support and regular updates as well as the necessary documentation. This is an important advantage for medical device manufacturers since it facilitates the certification procedures and further maintenance of the product.
You can get all the necessary support for your Linux OS too. There are a number of forums and a vast Linux community that is always ready to offer their help. However, sometimes it may take time to get help with your particular question or issue. If you need guaranteed promptness to questions, you can get paid support from commercial Linux vendors.
When you implement regular updates and security patches, you should take into account all the changes and carry out verification and validation accordingly.
Numerous medical systems work online, use cloud solutions, and transmit tons of sensitive data via IoT networks. Connectivity makes such devices vulnerable to cyberattacks.
Linux is considered the most secure operating system by many developers and users. Of course, this is a subjective opinion, and it depends on the particular Linux distribution and the use case. However, its open-source nature is a great advantage in terms of OS security. The global Linux developer community has been monitoring and fixing security breaches as well as safeguarding the system back doors. As a malware-resistant OS, Linux can be used for connected medical devices up to Class III high-risk devices.
Microsoft Windows has been one of the most popular operating system families for decades. Windows is actually the most widespread desktop OS in the world. Reported by GlobalStats, Windows occupied 34.96% of the operating system market share and 77.1% of the desktop operating system market share worldwide from March 2019 to March 2020. There is a flip side to this popularity. Windows has been one of the most attackable software due to its wide use.
However, Microsoft has been struggling with its cybersecurity issues all the time and making its products safer. Thus, a number of features were introduced to make Windows 10 IoT secure for its use in medical devices. Thus, you can use special encryption and authentication tools to protect sensitive health information and prevent unauthorized access to patient data. You can also keep an eye on the processes that run on your machines to avoid unwanted activities.
If we talk about Linux vs Windows 10 IoT performance, this is more likely a matter of personal preference and needs. Thus, if you have very specific requirements and your medical system demands a tailor-made solution, it’s worth paying attention to Linux. Customizability is one of the major advantages of Linux over Windows 10 IoT. For example, the most popular Linux distros have an advanced upgrading system that can also be customized. Windows 10 IoT is not that flexible and has limited capabilities for customization.
Building a custom device, you by necessity add a number of peripherals that may lack the required drivers. We provide Linux kernel and driver development services to integrate periphery for custom PCBs. Writing a Windows driver takes more effort due to the inflexibility of this operating system. However, this is still a feasible task. To integrate peripheral devices with Windows 10 IoT OS, we build drivers within our Windows driver development.
Linux is generally much more flexible, mostly because it is an open-source OS. It can be clearly seen in its platform compatibility. Linux can run on a broad range of CPUs including ARM, ARC, PowerPC, MIPS, x86, x64, etc. While Windows 10 IoT Core supports x86, x64, and ARM architectures, and Windows 10 IoT Enterprise supports only x86 and x64. Thus, if you want to avoid issues with hardware compatibility in the future, you should probably try Linux instead of Windows 10 IoT.
Viability is another important aspect that makes Linux seem more attractive. The vast developer community provides permanent support and regular updates for numerous Linux distributions for as long as possible. With proprietary software, there is always a risk of its discontinuation (the latest example is Windows CE end of life that we talked about in our WinCE migration guide). Any Microsoft product has its own support lifecycle. The latest Windows 10 IoT products were released in 2018 and their extended support period will end on January 9, 2029. To keep your medical device OS up to date, you should migrate from the outdated platform at the right time. The migration is a costly thing to do, so you should make sure to budget that well in advance.
Whether your medical device software should meet the international IEC 62304 standard or the FDA requirements, it must be supported by the proper documentation. This is extremely important for medical products that require stringent regulatory control, such as Class IIa, IIb, and Class III of the Medical Device Regulation - Regulation (EU) 2017/745, and Class II and III (the FDA classification) medical devices.
Both Linux and Windows 10 IoT are treated as Software of Unknown Provenance (SOUP) due to the fact that none of them is developed in accordance with the IEC 62304 requirements. So if you choose any of them, you should provide your SOUP with all the necessary documentation to comply with IEC 62304. Besides, you should make sure you do the following:
- define the functional and performance requirements (IEC 62304 Clause 5.3.3);
- define the hardware and software requirements (IEC 62304 Clause 5.3.4);
- specify the level of segregation to control risk (IEC 62304 Clause 5.3.5);
- verify the software architecture (IEC 62304 Clause 5.3.6).
To decide whether you should choose Linux or Windows 10 IoT for medical devices, you should keep a number of aspects in mind.
The Linux image size is normally smaller when compared to Windows 10 IoT. The smaller the image, the smaller the flash memory, and the cheaper the solution. The small-sized image can also contribute to better performance and boot time.
Windows 10 IoT is equipped with a set of excellent tools that can help you create a highly competitive product. Microsoft Visual Studio gives you an opportunity to design graphical user interfaces and build web apps and services. Azure IoT facilitates your project based on the Internet of Medical Things with a fleet of cloud services.
There are enterprises that have a strong requirement to use only proprietary software. In this case, the open-source Linux is not an option for your project.
Getting back to the theme of the article, to choose the best OS for your medical device, you should clearly define all your requirements from technical characteristics to your budget limitations.
You should also be prepared to carry out risk analysis according to ISO 14971. This will help you define the risk classification of your medical device so that you will know the level of the required documentation as well as the compliance requirements.
To get a clear understanding of whether you need Windows 10 IoT or Linux for your medical device, you should know exactly what you will need from the operating system. What type of medical device will it run? What functions will it perform? What hardware should it support? What certification procedures should it pass?
The comparative review provided in this article is just the “tip of the iceberg”. The differences between Linux and Windows 10 IoT can be much more significant when considered in the context of a particular project’s development.
If you need an expert opinion on which operating system fits your medical device best of all, our engineering team is always ready to assist you with making this choice.
Share this article