Field Guide · concept

Also known as: operating system, OS

An operating system (OS) is the software that manages a device’s hardware and resources and gives other programs a consistent, shared way to run.1

Applications Operating system (kernel) schedule CPU manage memory handle I/O Computer hardware system calls
Applications sit on top, hardware at the bottom, and the OS kernel in the middle — programs reach the CPU, memory, and devices only by asking the kernel, which shares those resources fairly among everything running.

Overview

The OS sits between computer hardware and the applications on top of it. Its core is the kernel, the always-resident code that decides which program gets the CPU and for how long (scheduling), how much memory each one holds and how they are kept from stepping on each other, and how requests to devices are handled through input/output.

Just as important, the OS presents a uniform interface — a file system, network sockets, a way to start and stop programs — so an application need not know the exact model of disk or network card underneath. Programs ask for services through system calls rather than touching hardware directly, which is what lets the same app run on very different machines. Common examples are Linux, Windows, and macOS on larger computers, and Android and iOS on phones.

What an OS manages

The kernel’s job is really the disciplined sharing of a handful of scarce hardware resources:

Resource What the OS does Without it
CPU time Schedules which program runs when One program could hog the machine
Memory Allocates and isolates each program’s RAM Programs corrupt each other
Storage Presents files and directories Raw block numbers, no structure
Devices Drivers + a common I/O interface Every app needs its own driver

By owning these, the OS lets many programs share one computer safely and lets developers write against a stable interface instead of bare metal.

Where it fits

Not every device has an OS. A microcontroller often runs bare metal — a single program written straight to the chip as firmware, with no operating system in between. The larger and more general-purpose a device is, the more it leans on an OS to juggle many programs at once. A GopherTrunk decode node typically runs Linux, whether on an x86 box or a single-board computer by the antenna, and relies on the OS to schedule the daemon and stream data off the SDR. (This entry is the hardware-tier view; the software-development guide covers operating systems from the programming side.)

Sources

  1. Operating system — Wikipedia, on OS resource management, the kernel, scheduling, and examples. 

See also