How to Choose an Operating System
When you buy a brand new computer, it usually comes with an operating system pre-installed. Depending on the computer brand, it often comes pre-installed with either Windows, macOS, or Chrome OS. Some companies even sell products with some distribution of the Linux operating system. It is rare, but it may be possible to come across a device sold without any operating system at all. In any case, the user does not have to keep it that way and may decide to use some other operating system instead. Unless the manufacturer tries to prevent this by some obscure hardware unsupported by other operating systems, of course.
- Created
- 9/17/2019
- Updated
- 2/24/2020
Will It Suit My Needs?
Before jumping in and installing the first operating system that a friend recommends, there are some considerations to make sure the OS really fits the computer and the user's needs.
- Which OS came pre-installed on the device
- The computer manufacturer probably had a reason to put a specific OS on the device. Unless there is a solid reason to change it, I recommend keeping the default OS, which is guaranteed to work with the device.
- Update support duration
- Operating system updates are important to keep the OS with the latest features and all known defects fixed. How long do I need the installed version of the operating system to be patched and safe to use online without having to upgrade to the next major version?
- Frequency of updates (stability vs. new features)
- Do I prefer running older, more tested software with only small updates from time to time? Or do I want to run the latest software, but with much more frequent and bigger updates? Can I afford to upgrade the operating system every few months, or do I want it to last for many years untouched?
- Rolling release vs. periodical releases
- Rolling release OS keeps the software always up-to-date, there is only one version of the OS (the latest) with no need to perform any OS upgrades. The second option is that the OS may be released periodically in newer and newer versions (e.g., Windows 10 version 1903, then 1909, etc.), and upgrades need to performed in order to jump to the next version. In this case, multiple versions of the OS may be supported with updates, and it is up to the user to decide whether they want to upgrade to the next version or keep the older one.
- Software support
- This is one of the biggest deciding factors. Is the software I need available for this particular operating system? Are there any alternatives for unavailable programs instead?
- Purpose
- What do I expect from the operating system? Is it going to be used on my grandma's PC? Or do I plan to use it for a mission-critical deployment in a data center?
More Information About Release Models
The release model affects how often and how much the software gets updated, as well as how many different versions of the operating system are supported at any given time.
- Standard release (Point release)
- There's a new version once in a while. Once a new version is released, the currently installed version of the software must be upgraded in order to get the latest features. In some cases, the new version must be installed from scratch. For example, there is a new release of Windows 10 every half a year, and multiple releases are supported concurrently. The user can stay on version 1903 and receive updates even though version 1909 had already been released.
- Rolling release
- There are no system release versions. In fact, there is only one version of the system, the current one. So installing all updates is enough to keep the system with the latest features, no upgrade is required. In this model, you can't rely on a specific version of the provided software. Once a new version of the particular software is released, it gets automatically updated when the operating system developers approve it. Because the system is changing so much, things are more likely to break. A good example would be Arch Linux. Once you install it and regularly install all updates, it stays with the latest software packages. No need to upgrade to a new version. There is simply one version of Arch, always up-to-date.
Will it Work on My Device?
The following list contains some of the most important features to watch out for when choosing an operating system. Some of these items are only a recap of the previous list.
- Processor (CPU) architecture
- What kind of CPU is in the computer? Most desktop operating systems target 64-bit x86 processors, which are mostly manufactured by Intel or AMD. If the computer has an older 32-bit processor, the chances are that the operating system no longer supports it. And even if the OS still supports old 32-bit processors, it may lack some features and contain bugs due to a much smaller user base and the lack of testing. In the case of ARM processors, the choice of a fully working operating system on a specific device is much smaller. Also, how good is the support — is it one of the primary architectures targeted by the operating system, or is the support only experimental?
- UEFI
- This one may depend on the CPU architecture. Does my computer use UEFI, legacy BIOS, or something else to initialize the hardware and start the operating system? Does the operating system support UEFI, or does it require the legacy BIOS to boot?
- Secure Boot
- Do I want to keep Secure Boot enabled on my computer? This is one of the features of modern UEFI implementations. It allows only signed code to be executed during the system boot-up. Even though it can be disabled on most computers, it may be a good idea to keep it enabled and use an operating system that has its boot code digitally signed and fully supports Secure Boot.
- Storage TRIM/DISCARD
- Do I use SSD storage or some thin-provisioned disk volumes? Although not mandatory, this feature is very useful if the computer uses solid-state drives or if the computer is a virtual machine. It can send TRIM or DISCARD commands to the supported underlying storage devices to let them know how much space is actually occupied by the data. It allows the SSDs to better organize the data on the memory chips, resulting in better performance and longevity of the drive. On virtual machines, it can shrink the virtual hard drive size to occupy less space on the host.
- Hardware support
- This is probably the most important decision factor. Will all my hardware devices work correctly with the operating system? Are there any 3rd party drivers available in case the hardware manufacturer does not officially support this operating system?
Is it Trustworthy?
Software is usually developed by someone. Usually, it's either a company, an individual, or a community of developers.
- Individual developer
- If the whole operating system is created/put together by a single person, I don't usually trust it. These minor systems or home-made distros are lagging in terms of security and new features. These systems may also be short-lived because the developer can stop working on it any time (especially if he doesn't get paid for his work).
- A community of volunteering developers
- Very similar to an Individual developer specified above.
- A community sponsored by some company
- When a company is involved, it is usually in its interest to keep things going and as bug-free as possible. Although the company can force the developers to go in the wrong direction or abandon the project if it no longer deems lucrative.
- A company
- Similar to the above. If the success of the system is critical to the company, the quality of the software is on a different (usually higher) level. It's not always the case though, remember the first buggy release of Windows 10 or the fate of Windows 10 for phones.
Source code availability may also play a role in decision-making:
- Open source
- The source code of the operating system is available to the public. This way, it is harder (but not impossible) to hide secret backdoors in the operating system. Also, if an open-source operating system gets discontinued by the developer, other developers can step in and continue development (like OpenSolaris, which became OpenIndiana). An example of an open-source operating system is Linux.
- Closed source, but based on open source
- This is a case of Android (Linux-based kernel), Chrome OS (Linux-based kernel), macOS (Darwin kernel), and some others. Source code is available only to the kernel or to some other parts of the operating system.
- Closed source
- For example, Windows and some Unix systems. The source code of the operating system is not available to the public, and one can only guess what the software really does under the hood.
OS Family (Plus User's Familiarity)
Would you want to use an operating system that you are not familiar with? It can't be said that every operating system is completely different from the others. In fact, some systems might be very similar because they share the same roots or philosophy. These are the most common groups (families) of operating systems.
- DOS
- A short for Disk Operating System.
- From the 1980s to the mid-'90s, Microsoft's MS-DOS or its alternatives were very popular. It provided only a basic (and very primitive) command prompt. The first versions of Microsoft Windows (Windows 1.0 through Windows ME, including Windows 95 and 98) were running on top of MS-DOS. DOS systems don't support technologies introduced in the late '90s, such as networking, multi-core processing, 32-bit memory addressing, and all of the security features.
- Windows NT
- Based on OS/2, Windows NT 3.1 was the first version. It was released in 1993 as an enterprise alternative to always-crashing MS-DOS-based Windows 3.1. Since the 2000s, all Windows versions are built on Windows NT kernel.
- Unix, UNIX
- A family of network-based operating systems developed since the 1970s. Unix systems were popular for networking and supercomputing until the late 90s when they were replaced by Linux systems. Certified UNIX (all capital letters) systems are usually proprietary and expensive. There are also many free and open-source Unix versions available. This category includes macOS, Solaris, distributions of BSD, etc.
- Unix-like, Linux
- Systems with functionality very similar to UNIX but which were created independently of UNIX. The most known example would be GNU, which is free software (open source). Developers behind GNU have been unable to create a working OS kernel to-day, so Linux is used as the kernel instead. Linux is not a single operating system. In fact, Linux is only an OS kernel. There are many (hundreds) operating systems using the Linux kernel together with GNU userland - which are called Linux distributions, or distros for short.