background-shape
feature-image

Comparison among different operating systems

here we are considering the features like user convenience, support, adaptability, safety, security etc.

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

Operating systems are categorized into three categories,

  • Unix and Unix based operating systems (BSD and its descendants, macOS, Linux),
  • Microsoft Windows and
  • Other.

In this comparison, Unix is not considered as an OS to compare and two Unix based OS Linux and MacOs are considered in this comparison more details are available in the history section. For comparison among operating systems Linux, macOS and Windows are considered here.

History of Operating System

Unix

Unix is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in the 1970s at the Bell Labs research centre by Ken Thompson, Dennis Ritchie, and others.

Initially intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors. In the early 1990s, AT&T sold its rights in Unix to Novell, which then sold its Unix business to the Santa Cruz Operation (SCO) in 1995.

The UNIX trademark passed to The Open Group, an industry consortium founded in 1996, which allows the use of the mark for certified operating systems that comply with the Single UNIX Specification (SUS).

In the 1990s, Unix and Unix-like systems grew in popularity and became the operating system of choice for over 90% of the world’s top 500 fastest supercomputers, as BSD and Linux distributions were developed through collaboration by a worldwide network of programmers. In 2000, Apple released Darwin, also a Unix system, which became the core of the Mac OS X operating system, later renamed macOS.

The Unix Operating System became a trademark and used as an open standard owned and managed by The Open Group, is an enabler of key technologies and delivers reduced total cost of ownership, increased IT agility, stability, and interoperability in heterogeneous environments enabling business and market innovation across the globe.

Linux

In an earlier antitrust case forbidding it from entering the computer business, AT&T was required to license the operating system’s source code to anyone who asked. As a result, Unix grew quickly and became widely adopted by academic institutions and businesses.

In 1984, AT&T divested itself of Bell Labs; freed of the legal obligation requiring free licensing, Bell Labs began selling Unix as a proprietary product, where users were not legally allowed to modify Unix.

The GNU Project, started in 1983 by Richard Stallman, had the goal of creating a “complete Unix-compatible software system” composed entirely of free software. Work began in 1984. Later, in 1985, Stallman started the Free Software Foundation and wrote the GNU General Public License (GNU GPL) in 1989. By the early 1990s, many of the programs required in an operating system (such as libraries, compilers, text editors, a command-line shell, and a windowing system) were completed, although low-level elements such as device drivers, daemons, and the kernel, called GNU Hurd, were stalled and incomplete.

Linus Torvalds has stated that if the GNU kernel had been available at the time (1991), he would not have decided to write his own. Although not released until 1992, due to legal complications, the development of 386BSD, from which NetBSD, OpenBSD and FreeBSD descended, predated that of Linux. Torvalds has also stated that if 386BSD had been available at the time, he probably would not have created Linux.

MINIX was created by Andrew S. Tanenbaum, a computer science professor, and released in 1987 as a minimal Unix-like operating system targeted at students and others who wanted to learn operating system principles. Although the complete source code of MINIX was freely available, the licensing terms prevented it from being free software until the licensing changed in April 2000.

In the 1990s, Unix and Unix-like systems grew in popularity and became the operating system of choice for over 90% of the world’s top 500 fastest supercomputers, as BSD and Linux distributions were developed through collaboration by a worldwide network of programmers. In 2000, Apple released Darwin, also a Unix system, which became the core of the Mac OS X operating system, later renamed macOS.

MacOS

The heritage of what would become macOS had originated at NeXT, a company founded by Steve Jobs following his departure from Apple in 1985. There, the Unix-like NeXTSTEP operating system was developed and then launched in 1989.

The kernel of NeXTSTEP is based upon the Mach kernel, which was originally developed at Carnegie Mellon University, with additional kernel layers and low-level user space code derived from parts of BSD. Its graphical user interface was built on top of an object-oriented GUI toolkit using the Objective-C programming language.

Throughout the early 1990s, Apple had tried to create a “next-generation” OS to succeed its classic Mac OS through the Taligent, Copland and Gershwin projects, but all were eventually abandoned. This led Apple to purchase NeXT in 1996, allowing NeXTSTEP, then called OPENSTEP, to serve as the basis for Apple’s next-generation operating system.

This purchase also led to Steve Jobs returning to Apple as an interim, and then the permanent CEO, shepherding the transformation of the programmer-friendly OPENSTEP into a system that would be adopted by Apple’s primary market of home users and creative professionals. The project was first code-named “Rhapsody” and then officially named Mac OS X.

Windows

The history of Windows dates back to 1981 when Microsoft started work on a program called “Interface Manager”. It was announced in November 1983 under the name “Windows”, but Windows 1.0 was not released until November 1985. Windows 1.0 was to compete with Apple’s operating system but achieved little popularity. Windows 1.0 is not a complete operating system; rather, it extends MS-DOS.

Windows 2.0 was released in December 1987 and was more popular than its predecessor. Windows 2.03 changed the OS from tiled windows to overlapping windows. Windows 2.1 was released in two different versions: Windows/286 and Windows/386.

Windows 3.0, released in 1990, improved the design. Windows 3.0 also featured improvements to the user interface. Windows 3.1, made generally available on March 1, 1992, featured a facelift. In August 1993, Windows for Workgroups, a special version with integrated peer-to-peer networking features and a version number of 3.11, was released.

Windows 95, was released on August 24, 1995. Windows 95 introduced support for native 32-bit applications, plug and play hardware, preemptive multitasking. Windows 95 was followed up with the release of Windows 98 on June 25, 1998. On September 14, 2000, Microsoft released Windows Me (Millennium Edition).

Windows XP was released on October 25, 2001. The introduction of Windows XP aimed to unify the consumer-oriented Windows 9x series with the architecture introduced by Windows NT.

After Windows 2000, Microsoft also changed its release schedules for server operating systems; the server counterpart of Windows XP, Windows Server 2003, was released in April 2003.

Windows Vista was released on November 30, 2006, for volume licensing and on January 30, 2007.

On July 22, 2009, Windows 7 and Windows Server 2008 R2 were released as RTM while the former was released to the public 3 months later on October 22, 2009.

Windows 8, the successor to Windows 7, was released generally on October 26, 2012. Several significant changes were made on Windows 8, including the introduction of a user interface based around Microsoft’s Metro design language with optimizations for touch-based devices such as tablets and all-in-one PCs.

On September 30, 2014, Microsoft announced Windows 10 as the successor to Windows 8.1. It was released on July 29, 2015.

User Convenience

Linux

Process Scheduler Implementation In Linux, an O(n) scheduler with a multilevel feedback queue with priority levels ranging from 0 to 140 was used; 0-99 are reserved for real-time tasks and 100-140 are considered nice task levels. For real-time tasks, the time quantum for switching processes was approximately 200 ms, and for nice tasks approximately 10 ms.

However, some enterprise Linux distributions such as SUSE Linux Enterprise Server replaced this scheduler with a backport of the O(1) scheduler.

The Completely Fair Scheduler (CFS) uses a well-studied, classic scheduling algorithm called fair queuing originally invented for packet networks.

File System

Linux supports numerous file systems, but common choices for the system disk on a block device include the ext* family (ext2, ext3 and ext4), XFS, JFS, and btrfs. For raw flash without a flash translation layer (FTL) or Memory Technology Device (MTD), there are UBIFS, JFFS2 and YAFFS, among others. SquashFS is a common compressed read-only file system.

User Interface

The user interface in Linux is known as the shell, is either a command-line interface (CLI), a graphical user interface (GUI), or controls attached to the associated hardware, which is common for embedded systems. For desktop systems, the default user interface is usually graphical.

The dominant shell used in Linux is the Bourne-Again Shell (bash). Most low-level Linux components, including various parts of the userland, use the CLI exclusively.

On desktop systems, the most popular user interfaces are the GUI shells, packaged together with extensive desktop environments, such as KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon and Xfce, though a variety of additional user interfaces exist.

Server distributions might provide a command-line interface for developers and administrators.

Several types of window managers exist for X11, including tiling, dynamic, stacking and compositing. Desktop environments include window managers as part of their standard installations, such as Mutter (GNOME), KWin (KDE) or Xfwm (xfce), although users may choose to use a different window manager if preferred.

Wayland is a display server protocol intended as a replacement for the X11 protocol; as of 2014. Unlike X11, Wayland does not need an external window manager and compositing manager.

MacOS

Process Scheduler Implementation

Mac OS 9 uses cooperative scheduling for threads, where one process controls multiple cooperative threads, and also provides preemptive scheduling for multiprocessing tasks. The kernel schedules multiprocessing tasks using a preemptive scheduling algorithm. All Process Manager processes run within a special multiprocessing task called the “blue task”. Those processes are scheduled cooperatively, using a round-robin scheduling algorithm.

macOS uses a multilevel feedback queue, with four priority bands for threads- normal, system high priority, kernel-mode only, and real-time. Threads are scheduled preemptively; macOS also supports cooperatively scheduled threads in its implementation of the Thread Manager in Carbon.

File System

macOS uses the Apple File System (APFS), which in 2017 replaced a file system inherited from classic Mac OS called HFS Plus (HFS+). HFS Plus is a metadata-rich and case-preserving but (usually) case-insensitive file system. Due to the Unix roots of macOS, Unix permissions were added to HFS Plus, added journaling to prevent corruption of the file system structure and introduced several optimizations to the allocation algorithms in an attempt to defragment files automatically without requiring an external defragmenter.

Newer versions of macOS are capable of reading and writing to the legacy FAT file systems (16 and 32) common on Windows.

They are also capable of reading the newer NTFS file systems for Windows.

macOS supports reading and writing of the exFAT file system since Mac OS X.

User Interface

One of the major differences between the classic Mac OS and the current macOS was the addition of Aqua, a graphical user interface with water-like elements, in the first major release of Mac OS X. Every window element, text, graphic, or widget is drawn on-screen using spatial anti-aliasing technology. ColorSync, a technology introduced many years before, was improved and built into the core drawing engine, to provide colour matching for printing and multimedia professionals.

Windows

Process Scheduler Implementation

Very early MS-DOS and Microsoft Windows systems were non-multitasking, and as such did not feature a scheduler. Windows 3.1x used a non-preemptive scheduler. Windows 95 introduced a rudimentary preemptive scheduler; however, legacy support opted to let 16-bit applications run without preemption.

Windows NT-based operating systems use a multilevel feedback queue. 32 priority levels are defined, 0 through to 31, with priorities 0 through 15 being “normal” priorities and priorities 16 through 31 being soft real-time priorities, requiring privileges to assign.

The kernel may change the priority level of a thread depending on its I/O and CPU usage and whether it is interactive, raising the priority of interactive and I/O bound processes and lowering that of CPU bound processes. The scheduler was modified in Windows Vista to use the cycle counter register of modern processors to keep track of exactly how many CPU cycles a thread has executed, rather than just using an interval-timer interrupt routine. Vista also uses a priority scheduler for the I/O queue so that disk defragmenters and other such programs.

File System

Windows makes use of the FAT, NTFS, exFAT, Live File System and ReFS file systems (the last of these is only supported and usable in Windows Server 2012, Windows Server 2016, Windows 8, Windows 8.1, and Windows 10; Windows cannot boot from it).

Windows uses a drive letter abstraction at the user level to distinguish one disk or partition from another. For example, the path C:\WINDOWS represents a directory WINDOWS on the partition represented by the letter C. Drive C: is most commonly used for the primary hard disk drive partition, on which Windows is usually installed and from which it boots.

User Interface

Modern versions of the Microsoft Windows operating system use the Windows shell as their shell. Windows Shell provides a desktop environment, start menu, and taskbar, as well as a graphical user, interface for accessing the file management functions of the operating system. Older versions also include Program Manager, which was the shell for the 3.x series of Microsoft Windows, and which shipped with later versions of Windows of both the 95 and NT types at least through Windows XP.

Support

Linux

Many popular applications are available for a wide variety of operating systems. For example, Mozilla Firefox, OpenOffice.org/LibreOffice and Blender have downloadable versions for all major operating systems. Furthermore, some applications initially developed for Linux, such as Pidgin, and GIMP was ported to other operating systems (including Windows and macOS) due to their popularity. In addition, a growing number of proprietary desktop applications are also supported on Linux, such as Autodesk Maya and The Foundry’s Nuke in the high-end field of animation and visual effects; see the list of proprietary software for Linux for more details. Several companies have ported their own or other companies’ games to Linux, with Linux also being a supported platform on both the popular Steam and Desura digital distribution services.

Many other types of applications available for Microsoft Windows and macOS also run on Linux. Commonly, either a free software application will exist which does the functions of an application found on another operating system, or that application will have a version that works on Linux, such as with Skype and some video games like Dota 2 and Team Fortress 2. Furthermore, the Wine project provides a Windows compatibility layer to run unmodified Windows applications on Linux. It is sponsored by commercial interests including CodeWeavers, which produces a commercial version of the software. Servers A broad overview of the LAMP software bundle displayed here together with Squid. A high-performance and high-availability web server solution providing security in a hostile environment.

Linux distributions have long been used as server operating systems, and have risen to prominence in that area; Netcraft reported in September 2006, that eight of the ten (other two with “unknown” OS) most reliable internet hosting companies ran Linux distributions on their web servers, with Linux in the top position. In June 2008, Linux distributions represented five of the top ten, FreeBSD three of ten, and Microsoft two of ten; since February 2010, Linux distributions represented six of the top ten, FreeBSD three of ten, and Microsoft one of ten, with Linux in the top position. Embedded devices Due to its low cost and ease of customization, Linux is often used in embedded systems. In the non-mobile telecommunications equipment sector, the majority of customer-premises equipment (CPE) hardware runs some Linux-based operating system. OpenWrt is a community-driven example upon which many of the OEM firmware releases are based.

MacOS

macOS has supported three major processor architectures, beginning with PowerPC-based Macs in 1999. In 2006, Apple transitioned to the Intel architecture with a line of Macs using Intel Core processors. In 2020, Apple began the Apple silicon transition, using self-designed, 64-bit ARM-based Apple M1 processors on new Mac computers.

As most Mac hardware components, or components similar to those, since the Intel transition is available for purchase, some technology-capable groups have developed software to install macOS on non-Apple computers. These are referred to as Hackintoshes. This violates Apple’s EULA (and is therefore unsupported by Apple technical support, warranties etc.), but communities that cater to personal users, who do not install for resale and profit, have generally been ignored by Apple. These self-made computers allow more flexibility and customization of hardware but at a cost of leaving the user more responsible for their machines, such as on matters of data integrity or security. Psystar, a business that attempted to profit from selling macOS on non-Apple certified hardware, was sued by Apple in 2008.

Windows

Windows NT included support for several different platforms before the x86-based personal computer became dominant in the professional world. Windows NT 4.0 and its predecessors supported PowerPC, DEC Alpha and MIPS R4000. However, Windows 2000, the successor of Windows NT 4.0, dropped support for all platforms except the third generation x86 (known as IA-32) or newer in 32-bit mode. The client line of the Windows NT family still runs on IA-32, although the Windows Server line has ceased supporting this platform with the release of Windows Server 2008 R2.

With the introduction of the Intel Itanium architecture (IA-64), Microsoft released new versions of Windows to support it. Itanium versions of Windows XP and Windows Server 2003 were released at the same time as their mainstream x86 counterparts. Windows XP 64-Bit Edition, released in 2005, is the last Windows client operating system to support Itanium. Windows Server line continues to support this platform until Windows Server 2012; Windows Server 2008 R2 is the last Windows operating system to support Itanium architecture.

On April 25, 2005, Microsoft released Windows XP Professional x64 Edition and Windows Server 2003 x64 Editions to support the x86-64 (or simply x64), the eighth generation of x86 architecture. Windows Vista was the first client version of Windows NT to be released simultaneously in IA-32 and x64 editions. x64 is still supported.

An edition of Windows 8 known as Windows RT was specifically created for computers with ARM architecture and while ARM is still used for Windows smartphones with Windows 10, tablets with Windows RT will not be updated. Starting from Windows 10 Fall Creators Update and later includes support for PCs with ARM architecture.

Windows CE

Windows CE (officially known as Windows Embedded Compact), is an edition of Windows that runs on minimalistic computers, like satellite navigation systems and some mobile phones. Windows Embedded Compact is based on its dedicated kernel, dubbed Windows CE kernel. Microsoft licenses Windows CE to OEMs and device makers.

Xbox OS

Xbox OS is an unofficial name given to the version of Windows that runs on the Xbox One. It is a more specific implementation with an emphasis on virtualization (using Hyper-V) as it is three operating systems running at once, consisting of the core operating system, a second implemented for games and a more Windows-like environment for applications. Microsoft updates Xbox One’s OS every month, and these updates can be downloaded from the Xbox Live service to the Xbox and subsequently installed, or by using offline recovery images downloaded via a PC. The Windows 10-based Core had replaced the Windows 8-based one in this update, and the new system is sometimes referred to as “Windows 10 on Xbox One” or “OneCore”.

Adaptability

Linux

The Linux distributions designed for general-purpose use on desktops and servers, distributions may be specialized for different purposes including computer architecture support, embedded systems, stability, security, localization to a specific region or language, targeting of specific user groups, support for real-time applications, or commitment to a given desktop environment. Furthermore, some distributions deliberately include only free software. As of 2015, over four hundred Linux distributions are actively developed, with about a dozen distributions being most popular for general-purpose use.

Many quantitative studies of free/open-source software focus on topics including market share and reliability, with numerous studies specifically examining Linux. The Linux market is growing rapidly, and the revenue of servers, desktops, and packaged software running Linux was expected to exceed $35.7 billion by 2008. Analysts and proponents attribute the relative success of Linux to its security, reliability, low cost, and freedom from vendor lock-in.

According to web server statistics as of November 2018, the estimated market share of Linux on desktop computers is around 2.1%. In comparison, Microsoft Windows has a market share of around 87%, while macOS covers around 9.7%.

W3Cook publishes stats that use the top 1,000,000 Alexa domains, which as of May 2015 estimate that 96.55% of web servers run Linux, 1.73% run Windows, and 1.72% run FreeBSD.

MacOS

As of July 2016, macOS is the second-most-active general-purpose desktop client operating system used on the World Wide Web following Microsoft Windows, with a 4.90% usage share according to statistics compiled by the Wikimedia Foundation. It is the second-most widely used desktop operating system (for web browsing), after Windows, and is estimated at approximately five times the usage of Linux (which has 1.01%). Usage share generally continues to shift away from the desktop and toward mobile operating systems such as iOS and Android.

Windows

According to Net Applications, which tracked the use of operating systems in devices that are active on the Web, Windows was the most used operating system family on personal computers in April 2020, with around 88% usage share. Including personal computers of all kinds (e.g. desktops, laptops, mobile devices, and game consoles), Windows OSes accounted for 35.84% of usage share in May 2020.

Safety and Security

Linux

There are many Linux distributions created with privacy, secrecy, network anonymity and information security in mind, including Tails, Tin Hat Linux and Tinfoil Hat Linux. Lightweight Portable Security is a distribution based on Arch Linux and developed by the United States Department of Defense. Tor-ramdisk is a minimal distribution created solely to host the network anonymity software Tor.

Kali Linux is a Debian-based Linux distribution designed for digital forensics and penetration testing. It comes preinstalled with several software applications for penetration testing and identifying security exploits. The Ubuntu derivative BackBox provides pre-installed security and network analysis tools for ethical hacking.

The Arch-based BlackArch includes over 2100 tools for pen-testing and security research.

Security-Enhanced Linux (SELinux) is a Linux kernel security module that provides a mechanism for supporting access control security policies, including mandatory access controls (MAC). SELinux is a set of kernel modifications and user-space tools that have been added to various Linux distributions. Its architecture strives to separate enforcement of security decisions from the security policy and streamlines the amount of software involved with security policy enforcement. The key concepts underlying SELinux can be traced to several earlier projects by the United States National Security Agency (NSA).

MacOS

In its earlier years, Mac OS X enjoyed a near-absence of the types of malware and spyware that have affected Microsoft Windows users. Worms, as well as potential vulnerabilities, were noted in 2006, which led some industry analysts and anti-virus companies to issue warnings that Apple’s Mac OS X is not immune to malware.

In early 2011, Mac OS X experienced a large increase in malware attacks, and malware such as Mac Defender, MacProtector, and MacGuard was seen as an increasing problem for Mac users. At first, the malware installer required the user to enter the administrative password, but later versions installed without user input.

Initially, Apple support staff were instructed not to assist in the removal of the malware or admit the existence of the malware issue, but as the malware spread, a support document was issued.

Apple announced an OS X update to fix the problem. An estimated 100,000 users were affected. Apple releases security updates for macOS regularly, as well as signature files containing malware signatures for Xprotect, an anti-malware feature part of File Quarantine present since Mac OS X Snow Leopard.

Windows

Consumer versions of Windows were originally designed for ease-of-use on a single-user PC without a network connection and did not have security features built-in from the outset. However, Windows NT and its successors are designed for security (including on a network) and multi-user PCs.

These design issues combined with programming errors (e.g. buffer overflows) and the popularity of Windows means that it is a frequent target of computer worm and virus writers. In June 2005, Bruce Schneier’s Counterpane Internet Security reported that it had seen over 1,000 new viruses and worms in the previous six months. In 2005, Kaspersky Lab found around 11,000 malicious programs – viruses, Trojans, back-doors, and exploits written for Windows.

While the Windows 9x series offered the option of having profiles for multiple users, they had no concept of access privileges, and did not allow concurrent access; and so were not true multi-user operating systems. In addition, they implemented only partial memory protection. They were accordingly widely criticised for lack of security.

Windows Vista introduced a privilege elevation system called User Account Control. When logging in as a standard user, a logon session is created and a token containing only the most basic privileges is assigned. In this way, the new logon session is incapable of making changes that would affect the entire system. When an application requests higher privileges or “Run as administrator” is clicked, UAC will prompt for confirmation and, if consent is given (including administrator credentials if the account requesting the elevation is not a member of the Administrators group), start the process using the unrestricted token.

In August 2019, computer experts reported that the BlueKeep security vulnerability, CVE-2019-0708, that potentially affects older unpatched Microsoft Windows versions via the program’s Remote Desktop Protocol, allowing for the possibility of remote code execution, may now include related flaws, collectively named DejaBlue, affecting newer Windows versions (i.e., Windows 7 and all recent versions) as well.

According to cvedetails.com, Debian (Linux distribution) found 5048 vulnerabilities, Ubuntu (Linux distribution) found 2971 vulnerabilities, MacOsX found 2758 vulnerabilities and Windows 10 found 2238 vulnerabilities.