Major operating systems

The most important question to ask when choosing an operating system is "what will this computer do?" If you need to run software that only runs on Windows or macOS, then that's what you'll need. Microsoft splits the operating systems according to the machine's purpose. Windows 10 is desktop operating system. New versions tend to be supported for many years. Backward compatibility is a priority for Microsoft. This refers to the ability for a later version of operating system to be compatible with software made for earlier versions. For server, Microsoft offers Windows Server, currently at version 2019 to denote the release date. A desktop operating system will primarily run a graphical user interface. Server will run command line interface. Apple makes the macOS operating system, which is partially based on software from the FreeBSD project. At the moment, macOS is primarily a desktop operating system and quite popular in the creative industries such as film and music production. macOS runs on Apple hardware. Linux is much different than the others. If you choose Linux, you still have to choose a distribution. There are multiple options, from commercial to custom distributions.

Distributions also have release cycles. Each release can only be supported for a certain period of time before not offering any updates, which is called the maintenance cycle (or life cycle). The maintenance and release cycles are important in an enterprise server environment because it is time consuming to do a major upgrade on a server. Instead, the server is replaced when there are major upgrades or replacements to the software that necessitate an operating system upgrade. A slow release cycle is important because software often target the current version of the operating system. There is a fair amount of work involved in upgrading a server, and the server often has many customizations that are difficult to port to a new server. Some distributions differentiate between stable, testing, and unstable releases. Unstable and testing releases have the latest software and features. When software have been in the system for a long time, and many of the bugs and issues are fixed, the software moves into the stable release. Individual software releases can be characterized as beta or stable. If a software release has many new features that have not been tested, it is typically referred to as beta. Software becomes stable after those features have been tested. If you need the latest features, then you are looking for a distribution that has a quick release cycle. On the server, you want stable software unless those new features are necessary and you don't mind running code that has not been tested.