4.1 Choosing an Operating System (Weight: 1)
📘Linux Essentials (LPI 010-160)
Introduction
An Operating System (OS) is system software that manages computer hardware and software resources and provides services for applications. It acts as the interface between the user and the computer hardware.
The three major operating systems used in modern computing are:
- Microsoft Windows
- macOS
- Linux
Each operating system has different design goals, licensing models, system architecture, and typical use cases. Understanding these differences is important for the Linux Essentials (LPI 010-160) exam.
1. Overview of the Three Operating Systems
Windows
Windows is a commercial operating system developed by Microsoft. It is the most widely used desktop operating system in the world.
Key characteristics:
- Proprietary software
- Graphical user interface (GUI) focused
- Large application ecosystem
- Strong compatibility with commercial software
Windows is commonly used in:
- Office workstations
- Enterprise environments
- Gaming systems
- Software development environments
Common versions include:
- Windows 10
- Windows 11
- Windows Server editions
macOS
macOS is a Unix-based operating system developed by Apple. It is designed specifically for Apple hardware such as Mac computers.
Key characteristics:
- Proprietary operating system
- Based on Unix architecture
- Integrated tightly with Apple hardware
- Known for system stability and user interface design
macOS is commonly used in:
- Software development
- Media production environments
- Design and creative industries
- Apple ecosystem integration
Linux
Linux is an open-source operating system based on the Linux kernel. It is developed collaboratively by individuals and organizations worldwide.
Linux is typically distributed as Linux distributions (distros) that combine the kernel with system tools and software.
Examples of distributions include:
- Ubuntu
- Debian
- Fedora
- Red Hat Enterprise Linux
- openSUSE
Linux is widely used in:
- Servers
- Cloud infrastructure
- Embedded systems
- Networking equipment
- Cybersecurity environments
- Supercomputers
2. Licensing and Cost
One major difference between the operating systems is the software licensing model.
Windows Licensing
Windows is proprietary software.
This means:
- The source code is not publicly available.
- Users must purchase a license to use it.
- Modification and redistribution are restricted.
Organizations usually buy Windows licenses for:
- Workstations
- Enterprise environments
- Servers
macOS Licensing
macOS is also proprietary software.
Important points:
- Only legally licensed to run on Apple hardware
- The source code is mostly closed
- Users cannot legally install it on non-Apple computers
Apple controls both the hardware and software ecosystem.
Linux Licensing
Linux is open-source software.
This means:
- The source code is publicly available.
- Anyone can modify it.
- Anyone can redistribute it.
Linux uses licenses such as the GNU General Public License (GPL).
Many Linux distributions are:
- Free to download
- Free to use
- Free to modify
However, commercial support may be available (for example enterprise support subscriptions).
3. System Architecture
The architecture of each operating system differs in terms of system design and development approach.
Windows Architecture
Windows uses a hybrid kernel architecture.
Characteristics include:
- Combination of microkernel and monolithic kernel elements
- Strong integration with Microsoft technologies
- Designed for wide hardware compatibility
Windows includes many integrated system components such as:
- Windows Registry
- DirectX
- PowerShell
- Windows Subsystem for Linux (WSL)
macOS Architecture
macOS is based on Unix architecture.
Its core is built on Darwin, which includes:
- XNU kernel
- BSD components
- Mach microkernel features
Because of its Unix foundation:
- It supports many Unix commands
- It provides strong development tools
- It has a stable and secure system design
Linux Architecture
Linux uses a monolithic kernel architecture with modular capabilities.
Key characteristics:
- Highly modular kernel
- Drivers can be loaded dynamically
- Very customizable system design
Linux architecture is divided into layers:
- Hardware
- Kernel
- System libraries
- System utilities
- Applications
- User interface (CLI or GUI)
Because of its modular nature, Linux can run on:
- Desktops
- Servers
- Smartphones
- Embedded devices
- Supercomputers
4. Hardware Compatibility
Operating systems differ in the hardware they support.
Windows Hardware Support
Windows supports a very wide range of hardware because many vendors create drivers specifically for Windows.
This includes:
- Desktop computers
- Laptops
- Workstations
- Specialized enterprise hardware
Hardware manufacturers typically release Windows drivers first.
macOS Hardware Support
macOS supports only Apple hardware.
Advantages of this model:
- Highly optimized hardware integration
- Stable driver ecosystem
- Controlled system performance
Limitations:
- Limited hardware customization
- Cannot run legally on non-Apple hardware
Linux Hardware Support
Linux supports a very large range of hardware platforms, including:
- x86
- ARM
- PowerPC
- RISC-V
Linux runs on:
- Servers
- Routers
- IoT devices
- Smartphones
- Embedded systems
However, some hardware vendors provide better driver support for Windows than Linux, which can sometimes affect compatibility.
5. Software Installation and Package Management
The way software is installed differs greatly between the systems.
Windows Software Installation
Windows usually installs software through:
- Downloaded installation files (.exe or .msi)
- Graphical installation wizards
- Microsoft Store
Characteristics:
- Software packages are usually installed individually
- Applications manage their own dependencies
- System-wide package management is limited
macOS Software Installation
macOS installs software using:
- App Store
- DMG packages
- PKG installers
Applications are often distributed as:
ApplicationName.app
Users can install programs by copying the application into the Applications folder.
Linux Software Installation
Linux distributions typically use package managers.
Package managers install software from central repositories.
Examples include:
| Distribution | Package Manager |
|---|---|
| Ubuntu / Debian | apt |
| Fedora | dnf |
| Red Hat | yum / dnf |
| Arch Linux | pacman |
Example installation command:
sudo apt install nginx
Advantages:
- Automatic dependency handling
- Secure repositories
- Centralized software updates
6. Security Models
Security design differs significantly among the systems.
Windows Security
Windows security features include:
- User Account Control (UAC)
- Windows Defender
- BitLocker disk encryption
- Active Directory integration
Because of its large user base, Windows is often a primary target for malware.
macOS Security
macOS security features include:
- Gatekeeper
- System Integrity Protection (SIP)
- FileVault encryption
- Application sandboxing
Because macOS is Unix-based, it also uses:
- Strong file permission models
- User privilege separation
Linux Security
Linux uses a strong Unix security model.
Key security mechanisms include:
- File permissions (read, write, execute)
- User and group ownership
- Privilege escalation control
- Secure system architecture
Advanced security frameworks include:
- SELinux
- AppArmor
Linux is widely used in security-sensitive environments such as:
- Servers
- Cloud infrastructure
- Network security systems
7. Customization and Flexibility
Windows
Windows allows limited customization.
Users can:
- Change system themes
- Modify settings
- Install additional tools
However, the core system is closed-source and cannot be modified.
macOS
macOS allows moderate customization but maintains strict system control.
Users can:
- Install third-party applications
- Customize desktop environments
- Use Unix command-line tools
But system-level modification is restricted.
Linux
Linux provides extreme customization.
Users can modify:
- The desktop environment
- System components
- Kernel modules
- System behavior
Examples of Linux desktop environments:
- GNOME
- KDE Plasma
- XFCE
- LXDE
Users can even build minimal Linux systems that only include essential components.
8. Command Line Usage
Command-line interfaces are used differently in each system.
Windows
Windows provides:
- Command Prompt
- PowerShell
PowerShell is widely used in enterprise system administration and automation.
macOS
macOS includes the Terminal application with a Unix shell.
Common shells:
- zsh (default)
- bash
This allows developers and administrators to use Unix commands.
Linux
Linux relies heavily on the command line.
Common shells include:
- bash
- zsh
- sh
The command line is widely used for:
- System administration
- Server management
- Automation
- Scripting
9. Typical Use in IT Environments
Windows in IT Environments
Common roles include:
- Corporate desktop systems
- Enterprise Active Directory environments
- Microsoft application ecosystems
- Business software platforms
Examples of enterprise technologies:
- Active Directory
- Microsoft 365
- Exchange Server
- SharePoint
macOS in IT Environments
macOS is commonly used for:
- Mobile application development (iOS/macOS apps)
- Graphic design and media production
- Software development environments
- Apple device management ecosystems
Linux in IT Environments
Linux is dominant in many infrastructure environments.
Typical uses include:
- Web servers
- Cloud platforms
- Container environments
- Network services
- Cybersecurity systems
- DevOps environments
Linux is the primary OS used in:
- Cloud infrastructure
- Supercomputers
- Container platforms
10. Summary Comparison
| Feature | Windows | macOS | Linux |
|---|---|---|---|
| License | Proprietary | Proprietary | Open Source |
| Hardware Support | Very broad | Apple hardware only | Very broad |
| Customization | Limited | Moderate | Very high |
| Software Installation | Installers / Store | App Store / DMG | Package managers |
| Command Line | CMD / PowerShell | Unix Terminal | Strong CLI usage |
| Typical Use | Desktop enterprise | Creative + development | Servers + infrastructure |
