Operating System (OS)
An operating system is the software that runs the computer so your apps do not have to. Windows, macOS, Linux, Android, and iOS are all operating systems. When you open a browser, the operating system decides which processor core runs it, hands it memory, lets it save files, and connects it to the network. Without one, every app would need to know how to talk to every piece of hardware on its own.
An operating system (OS) is the layer between hardware and applications. It has two broad parts:
Kernel: the privileged core. It runs in kernel mode with full hardware access and handles process scheduling, memory management, device drivers, filesystems, and networking.
Userspace: everything else. Shells, system services, libraries (such as glibc), the desktop environment, and your applications. Userspace programs run with restricted privileges and must ask the kernel for resources through system calls (open, read, write, fork, execve).
Core jobs of an OS:
- Process management: start, schedule, and stop programs; share CPU time across them
- Memory management: give each process its own virtual address space and keep them isolated
- Storage: present disks as files and folders through a filesystem (ext4, NTFS, APFS)
- Device access: load drivers so the same program works on different hardware
- Security: users, groups, permissions, and privilege separation
Linux distributions package the Linux kernel with userspace tools, a package manager, and an installer. Ubuntu, Debian, Fedora, and Arch all share the same kernel family but differ in packaging, release cadence, and defaults. Ubuntu LTS releases receive five years of standard security updates.
Source: The Linux Kernel documentation
Identify the OS you are running
# Distribution name and version
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 26.04 LTS"
NAME="Ubuntu"
VERSION_ID="26.04"
# Kernel name, release, and architecture
$ uname -srm
Linux 7.0.0-15-generic x86_64
# Hostname, OS, kernel, and whether this is a VM
$ hostnamectl
Operating System: Ubuntu 26.04 LTS
Kernel: Linux 7.0.0-15-generic
Virtualization: oracle
# Windows PowerShell equivalent
PS> Get-ComputerInfo -Property OsName, OsVersion Every IT job starts with one question: what OS is this box running? The answer decides which commands work, where logs live, how updates install, and which security advisories apply. Help desk tickets, vulnerability scans, and asset inventories all record OS and version first. In practice most servers on the internet run Linux, most office desktops run Windows, and most homelabs mix both. Learning one OS deeply, Linux in the BNLC path, makes the others easier because the core jobs are the same everywhere: processes, memory, files, devices, and permissions.