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.