Table of Contents Link to heading
Introduction Link to heading
Software that runs on a computing device and manages the hardware and software components that make up the system.
Task of an OS:
- Provide a user interface, receiving and executing commands and requests from users.
 - Load, manage and execute software.
 - Manage computer’s hardware resources (CPU, disk drives).
 
Users today have a choice between three major OSes:
- Microsoft Windows
 - Apple macOS
 - Linux
 
Only Microsoft Windows is based on proprietary code that is not Unix based.
Decision Points Link to heading
- Role: Accessed by one user directly (desktop) or many users remotely (server)?
 - Function: Does it need to run specific software? What is the skill set of users?
 - Life Cycle: What is the service lifetime? OS types have different release cycles and maintenance cycles for support and updates.
 - Stability: Are OS releases beta (not tested “in the wild”) or stable (tested)?
 - Compatibility: Is it backwards compatible as in is it compatible with software made for earlier versions?
 - Cost: Important factor for new systems.
- Microsoft has annual license fees.
 - Apple does not charge annual fees but only works on Apple hardware.
 - There are multiple Linux providers who offer enterprise support and although the software is free, support is not.
 
 
Microsoft Windows Link to heading
- Offers desktop and server versions
 - Slow release cycle (3-5 years), long maintenance cycle
 - Emphasis on backward compatibility
 - Runs Graphical User Interface (GUI)
 - Improved scripting and management abilities are being developed to compete with Linux
 
Apple macOS Link to heading
- Runs solely on Apple hardware
 - Server version adds packages to the desktop version to aid in management and sharing
 - UNIX certified
 - New major releases every 18-24 months
 
Linux Link to heading
- Unique in that after choosing Linux, you must choose a distribution
 - Different distributions focus on different use cases (e.g., desktop, server, scientific, network)
 - Some distributions offer commercial support, most is volunteer based
 
Linux decision points:
- Role: Distributions available for variety of systems; commercial for servers and desktop, specialised to repurposing computers, embedded systems, etc.
 - Function: Distributions can be chosen based on purpose of usage or security needed.
 - Life Cycle: Most distributions have major and minor update cycles. Some Linux releases have long-term support (LTS) (5+ years, 13 years for SUSE LTS).
 - Stability: Some distributions offer stable, testing, and unstable releases.
 - Compatibility: Distributions are zero cost. Depending on need, paying for support may be worthwhile. Enterprise users can pay for support or attempt self-support.
 
Linux Distributions Link to heading
Red Hat Link to heading
- Focuses on server applications like web and file serving.
 - Releases Red Hat Enterprise Linux (RHEL), a stable distribution with long release cycles.
 - Sponsors the Fedora Project, a personal desktop with latest software.
 - CentOS is a free version of RHEL software which does not offer support.
 - Scientific Linux is a specific use distribution based on Red Hat.
 
SUSE Link to heading
- One of the first distributions
 - Originally derived from Slackware
 - Contains proprietary code and is sold as a server product. Some modules or add-ons may contain proprietary code.
 - Sold as a server product although a Workstation version exists.
 - OpenSUSE is a completely open, free version with multiple desktop packages.
 
Debian Link to heading
- Community effort that promotes the use of open-source software.
 - Invented its own package management system (apt) based on the .deb file format.
 - Ubuntu is its most popular derived distribution, which has variants for desktop, server, and applications. Ubuntu also offers an LTS version.
 - Linux Mint is a derivative of Ubuntu with various free versions, some have license restrictions.
 
Android Link to heading
- Provides a platform for mobile users.
 - Lacks traditional GNU/Linux packages to make it compatible with desktop.
 - Sponsored by Google.
 
Others Link to heading
- Raspbian is a Linux distribution designed to run on Raspberry Pi hardware.
 - Linux From Scratch (LFS) consists of an online book, source code, and instructions for building a custom Linux distribution. LFS can be used as a learning tool.