An operating system is the primary software that manages all the hardware and other software on a computer. The operating system, also known as an “OS,” interfaces with the computer’s hardware and provides services that applications can use.
What Does an Operating System Do?
An operating system is the core set of software on a device that keeps everything together. Operating systems communicate with the device’s hardware. They handle everything from your keyboard and mice to the Wi-Fi radio, storage devices, and display. In other words, an operating system handles input and output devices. Operating systems use device drivers written by hardware creators to communicate with their devices.
Operating systems also include a lot of software—things like common system services, libraries, and application programming interfaces (APIs) that developers can use to write programs that run on the operating system.
The operating system sits in between the applications you run and the hardware, using the hardware drivers as the interface between the two. For example, when an application wants to print something, it hands that task off to the operating system. The operating system sends the instructions to the printer, using the printer’s drivers to send the correct signals. The application that’s printing doesn’t have to care about what printer you have or understand how it works. The OS handles the details.
The OS also handles multi-tasking, allocating hardware resources among multiple running programs. The operating system controls which processes run, and it allocates them between different CPUs if you have a computer with multiple CPUs or cores, letting multiple processes run in parallel. It also manages the system’s internal memory, allocating memory between running applications.
The operating system is the one big piece of software running the show, and it’s in charge of everything else. For example, the operating system also controls the files and other resources these programs can access.
Most software applications are written for operating systems, which lets the operating system do a lot of the heavy lifting. For example, when you run Minecraft, you run it on an operating system. Minecraft doesn’t have to know exactly how each different hardware component works. Minecraft uses a variety of operating system functions, and the operating system translates those into low-level hardware instructions. This saves the developers of Minecraft—and every other program that runs on an operating system—a lot of trouble.
Operating Systems Aren’t Just for PCs
When we say “computers” run operating systems, we don’t just mean traditional desktop PCs and laptops. Your smartphone is a computer, as are tablets, smart TVs, game consoles, smart watches, and Wi-Fi routers. An Amazon Echo or Google Home is a computing device that runs an operating system.
Familiar desktop operating systems include Microsoft Windows, Apple macOS, Google’s Chrome OS, and Linux. The dominant smartphone operating systems are Apple’s iOS and Google’s Android.
Other devices, such as your Wi-Fi router, may run “embedded operating systems.” These are specialized operating systems with fewer functions than a typical operating system, designed specifically for a single task—like running a Wi-Fi router, providing GPS navigation, or operating an ATM.
Where Do Operating Systems End and Programs Begin?
Operating systems also include other software, including a user interface that lets people interface with the device. This may be a desktop interface on a PC, a touchscreen interface on a phone, or a voice interface on a digital assistant device.
An operating system is a large piece of software made of many different applications and processes. The line between what’s an operating system and what’s a program can sometimes be a little blurry. There’s no precise, official definition of an operating system.
For example, on Windows, the File Explorer (or Windows Explorer) application is both an essential part of the Windows operating system—it even handles drawing your desktop interface—and an application that runs on that operating system.
The Core of an Operating System is the Kernel
At a low level, the “kernel” is the core computer program at the heart of your operating system. This single program is one of the first things loaded when your operating system starts up. It handles allocating memory, converting software functions to instructions for your computer’s CPU, and dealing with input and output from hardware devices. The kernel is generally run in an isolated area to prevent it from being tampered with by other software on the computer. The operating system kernel is very important but is just one part of the operating system.
The lines here can be a little fuzzy, too. For example, Linux is just a kernel. However, Linux is still often called an operating system. Android is also called an operating system, and it’s built around the Linux kernel. Linux distributions like Ubuntu take the Linux kernel and add additional software around it. They’re referred to as operating systems, too.
What’s the Difference Between Firmware and an OS?
Many devices just run “firmware“—a type of low-level software that’s generally programmed directly into the memory of a hardware device. Firmware is usually just a small bit of software designed to do only the absolute basics.
When a modern computer boots up, it loads UEFI firmware from the motherboard. This firmware is low-level software that quickly initializes your computer’s hardware. It then boots your operating system from your computer’s solid-state drive or hard drive. (That solid-state drive or hard drive has its own internal firmware, which handles storing data on the physical sectors inside the drive.)
The line between firmware and an operating system can get a little blurry, too. For example, the operating system for Apple’s iPhones and iPads, named iOS, is often called a “firmware.” The PlayStation 4’s operating system is officially called a firmware, too.
These are operating systems that interface with multiple hardware devices, provide services to programs, and allocate resources among applications. However, a very basic firmware that runs on a TV remote control, for example, isn’t generally called an operating system.