OS Comparison: Linux, Windows and macOS

In this smaller material we compare the features of the three main computer Operating Systems, which are Linux, Windows and macOS. Linux is not actually an operating system, but a Kernel, which is the part of the OS that works directly with the computer hardware. There are multiple Operating Systems that use Linux Kernel - called distros - that use the Linux Kernel. Ubuntu, Debian, Red Hat and Fedora distros are Linux Kernel based Operating Systems, but we often use shorthand “Linux OS” about them. Windows is not a single OS either, but has end user version (Windows, consumer) and server version (Windows Server, enterprise) of it. macOS is just macOS.

From the point of view of that an Operating System is the core program of a Computer we typically would consider the core features of an OS to be:

  • Kernel
    • Resource Management
      • CPU
        • Scheduling
        • Interrupts
        • Wait States
        • Hyperthreading
        • Power Management
      • RAM
        • Virtual Memory
        • Memory Addressing
        • Memory Protection (Isolation)
        • Memory Allocation
      • GPU
        • Offload Compute Tasks
      • NIC
    • Process Management
      • Processes (own memory space)
      • Thread (shares memory space within a process)
      • Inter-Process Communication
      • Multitasking
      • Context Switching
    • Device Management
      • Peripherals
      • Drivers
      • Plug-and-Play (USB)
  • File System
    • Various File Systems
      • Windows NTFS, exFAT, ReFS
      • Linux: ext4, XFS, ZFS
      • macOS: APFS, HFS+, exFAT
      • Cross-compatible: FAT32 (+ others with limitations)
    • Partitioning and Formatting (not part of File System layers, but adjacent)
      • Partitions/Volumes
        • Split Physical Disk
        • EFI System Partition (ESP): FAT32, UEFI Bootloader
        • Dual Boot Windows + Linux Example
          • ESP (FAT32) Bootloader
          • NTFS Windows
          • ext4 Linux /
          • Shared exFAT Cross-OS data
    • Logical File System
      • Folders/Directories
      • Directory Tree
      • Files
        • File Extension (.exe, .txt, .jpg, …)
        • File Metadata
      • NTFS (Windows) Permissions (full, modify, read & exeute, list folder, special)
      • POSIX (Linux) Permissions (rwx)
      • POSIX + Extension (macOS) Permissions (rwx)
    • Virtual File System
      • Partitioning Support (unified API for filesystem operations, regardless of the underlying filesystem)
      • Filesystem Polymorphism
      • Mounting Mechanism
    • Physical File System
      • Sectors (hardware defined, smallest unit of storage 512B-4KiB)
      • Blocks (software defined, smallest unit of storage, for example 8x512B Sectors is 4KiB Block)
  • Network Stack
    • TCP/IP, UDP, ICMP
    • L4 Firewall
    • Socket API
  • User and Application Interfaces
    • GUI
    • CLI
    • API
    • RDP/SSH
  • Identity and Access Management
    • AuthN
      • Basic
      • Centralized
        • LDAP/Active Directory
        • Kerberos (ticket-based)
        • Federated: OAuth 2.0, SAML
    • AuthZ
      • Role Based Access Control (RBAC)
        • Role
          • OS
          • Admin
          • User
          • Guest
      • Permissions
        • Scope
        • Action (CRUD)
          • Create
          • Read
          • Update
          • Delete
        • Effect
    • Identities
      • System
      • Service
      • Human
      • Bot
    • User Groups
  • Software Management
    • Package Managers
    • Updates/Patches
  • Configuration
    • Windows Registry
    • Linux /etc
    • macOS: ~/Library/Preferences
  • Metrics and Logs
    • Performance Monitoring
    • Audit Logs
  • Virtualization
    • Windows: HyperV
      • Windows Subsystem Linux 2
    • Linux: KVM

From the point of view of an End User we typically would consider the usability and productivity features of an OS to be things like:

  • User Interface & Customization
    • Desktop
    • Customizable Taskbar
    • Themes and Appearance
  • Productivity & Navigation
    • Shortcuts & Hotkeys
    • App Switching
    • System Search
    • Clipboard Management
  • Application Management
    • Application Install
    • App Store
  • System & Process Control
    • Task Management
    • Task Automation
    • System Settings
  • File Management
    • File Browser
    • Trash Bin
  • Accessibility
    • Screen Readers
    • Voice Control
    • Text-to-Speech
    • High Contrast & Magnification
  • Connectivity & Hardware
    • Wi-Fi & Networking
    • Peripheral Support
  • Security & Privacy
    • Authentication & Login
    • Permissions & Access Control
    • Encryption
  • System Maintenance
    • Updates
  • Communication & Alerts
    • Notifications & Alerts
    • Time and Date
  • Remote Work & Access
    • Remote Access