Table of Contents
Understanding Operating Systems at a High Level
An operating system (OS) is the core software layer that sits between you (and your applications) and the computer’s hardware. Without an OS, your programs would need to know exactly how to talk to every piece of hardware directly — which would be nearly impossible for normal users and very inconvenient even for experts.
This chapter gives you just enough OS background to understand what makes Linux an operating system, without going deep into Linux-specific details (those come in later chapters).
What an Operating System Actually Does
An operating system performs a few fundamental jobs:
1. Manages Hardware Resources
Your computer has:
- CPU (processor)
- RAM (memory)
- Storage (HDD/SSD)
- Input devices (keyboard, mouse)
- Output devices (monitor, speakers)
- Network interfaces (Wi‑Fi, Ethernet)
- Other peripherals (USB devices, webcams, etc.)
The OS:
- Decides which program gets CPU time, and when.
- Decides what lives in RAM and what gets temporarily moved to disk.
- Provides a unified way for programs to read/write files on disk.
- Manages access to devices (screen, keyboard, network, USB, etc.).
Programs don’t “talk” to hardware directly. They ask the OS to do it for them.
2. Provides a Platform for Applications
Applications (like web browsers, text editors, media players) rely on the OS to provide:
- A way to open, read, write, and save files.
- A way to display windows and get keyboard/mouse input.
- Networking functions (connect to websites, send/receive data).
- Access to system resources in a controlled way (permissions, limits).
Because the OS provides a standard set of services, programmers can write applications that run on many different computers that share the same OS family.
3. Manages Users and Security
The OS keeps track of:
- Who is logged in.
- What files and devices each user can access.
- Which actions need special permission (like changing system settings).
It enforces rules like:
- “This user can read this file but not modify it.”
- “Only an administrator can install software.”
- “This program can’t access hardware directly; it must go through the OS.”
This isolation helps protect the system from mistakes and malicious software.
4. Provides a User Interface
The OS is responsible for giving you a way to interact with the system:
- A graphical interface (desktop, windows, menus, icons), and/or
- A command-line interface (terminal, shell).
The interface itself may be made of multiple components, but from your perspective, it’s “how you use the computer,” and it is built on top of the operating system’s core.
Key Concepts: Kernel, System Programs, and Applications
When people say “operating system,” they sometimes mean slightly different things. It helps to separate it into layers.
The Kernel (The Core)
The kernel is the essential core of the OS. It:
- Runs in a special “privileged” mode of the CPU.
- Directly manages hardware resources.
- Handles memory, processes, device drivers, and basic security checks.
- Provides system calls — controlled entry points that applications use to ask the kernel to perform actions.
You almost never interact with the kernel directly; you use programs that call it on your behalf.
System Programs (User‑Space OS Components)
Around the kernel is a collection of programs that make the system usable:
- Login and user session management tools.
- System utilities (for managing files, users, networks, etc.).
- Background services (time synchronization, logging, networking).
These are sometimes called “user‑space” components, because they run outside the kernel, in a safer, less privileged environment.
Applications
On top of that, you have:
- End-user applications (web browsers, office suites, games).
- Developer tools (compilers, editors, debuggers).
- Server software (web servers, database servers).
Applications rely on the system programs and the kernel to function, but they aren’t considered part of the OS core itself.
A simplified stack looks like this:
- You
- interact with →
- Applications & system tools
- which use →
- System libraries & system calls
- which access →
- Kernel
- which manages →
- Hardware
Types of Operating Systems (Just Enough Context)
Without going deep into history or specific systems, it’s useful to know a few broad categories you’ll see mentioned:
- Desktop OS: Designed for personal computers with a graphical interface (e.g., Windows, macOS, desktop Linux distributions).
- Server OS: Tuned for reliability and handling many networked users or services (e.g., Linux server distributions, Windows Server).
- Mobile OS: Designed for phones/tablets with touch interfaces and power-saving features (e.g., Android, iOS).
- Embedded OS: Runs on devices like routers, TVs, cars, and appliances. Often stripped down, sometimes with a specialized interface.
Linux can be used in all of these categories, but here the focus is on Linux as a general-purpose desktop and server OS.
Why Operating Systems Matter to You as a Linux Learner
Understanding what an OS does helps frame everything else you’ll learn:
- When you install Linux, you’re installing an operating system (kernel + system programs + tools), not just a single application.
- When you use the terminal, you’re interacting with one part of the OS that gives you control over many system functions.
- When you manage users, permissions, or processes later in the course, you’re working directly with core responsibilities of the operating system.
In the rest of this “What Is Linux?” section, you’ll see how Linux fits into this picture: what makes it a kernel, what surrounds it to form a complete system, and how that combination becomes the Linux operating systems you can actually install and use.