What Is an Operating System? What an OS Actually Does
An operating system (OS) is the basic software that manages a computer's parts, such as the CPU, memory and storage. It lets many apps share those parts safely, in turn and by the rules. Well-known examples are Windows, macOS and Linux on PCs, and Android and iOS on phones.
What you'll learn
- What an OS does, and how it differs from an app
- How many apps run at once, and how memory is divided among them
- What the "kernel" is, and what happens from power-on until the OS is running
- Why apps differ from one OS to another, and why updates matter
Prerequisites: none. It helps to know that the CPU is "the part that carries out a program's instructions" and memory is "where data in use is kept."
In everyday life
Your phone says "A software update is available." Your PC shows a logo after you turn it on, then a login screen. An app's description says "Works with Windows 11." In all of these, the thing being talked about is the "OS."
You use an OS every day, usually without noticing it. This article looks at its behind-the-scenes jobs, one at a time.
An OS sits between the parts and the apps
A computer is made of parts, such as the CPU and memory, plus the programs that run on them. The physical parts you can touch are called "hardware." The programs are called "software."
Software comes in two broad kinds. Programs for the tasks people want to do, such as email, photos or games, are "apps" (applications). The software that sets up the base so apps can use the parts is the "OS." OS is short for operating system.
Apps do not operate the parts directly, whether they are drawing on the screen or saving a file. They ask the OS to do it, and the OS operates the parts. Thanks to this, app developers do not have to worry about the fine differences between parts.
The best-known OSes for PCs are Microsoft's Windows, Apple's macOS, and Linux. For phones, they are Google's Android and Apple's iOS.
The computers that control rice cookers or cars may also have a small OS. Most of them focus on always responding within a set time. Such an OS is called a real-time OS.
The core of the OS: the "kernel"
Every OS has a core part that always stays in memory and takes charge of managing the parts. This is called the "kernel." The word means the inner seed of a nut, or the center of something.
The word "OS" is used in a broad sense and a narrow sense. In the broad sense, it means the kernel plus the software that comes with it, such as the home screen and the settings screens. In the narrow sense, it means the kernel alone. This article mostly uses the broad sense.
Different OSes are sometimes built on the same kernel. According to Android's official documentation, the Android kernel is based on the Linux kernel. And according to Apple's published description, macOS and iOS both use a kernel called XNU.
Job 1: Taking turns on the CPU
You listen to music while browsing the web, and still get alerts for new email. Many apps seem to run at the same time. The part of a CPU that carries out instructions is called a core. Yet at any one moment, one core can basically run only one program.
The OS keeps track of each running program separately. A "running program" like this is called a "process." One app may also run as several processes.
The OS lets processes take turns on a core, each for a very short time, measured in milliseconds (thousandths of a second). The switching is so fast that, to people, everything seems to run at once. Deciding which process gets the core, when and for how long, is called "scheduling."
When switching, the OS saves how far the current process has got, and loads where the next process left off. This swap is called a context switch. Saving and loading take a little time too, so switching too often adds waste.
In fact, most processes spend most of their time waiting, for a key press or for data from the network. The OS gives no core time to processes that are only waiting, and passes the turn to ones that are ready to run. Today's CPUs have several cores, so some processes really do run at the same time. Even so, there are usually far more processes than cores, so managing turns is still essential.
Even inside one process, the work can be split into several streams that move forward at the same time. Each of these streams is called a "thread."
Job 2: Giving each app its own share of memory
Each place in memory has an address (a number for that spot). Programs read and write data by giving an address. If every app could use any address freely, there would be trouble. A mistake in one app could overwrite another app's data.
So the OS gives each app its own private range of addresses. Every app can run as if it had the memory all to itself. Apps use addresses that only look real, and the OS decides where in real memory they go. This system is called virtual memory.
The link between the addresses an app sees and the real locations is set for fixed-size blocks of memory. Each of these blocks is called a "page." For each app, the OS keeps a table of where each of the app's pages really is. Every time an app uses an address, the CPU looks it up in this table and turns it into the real location.
This table also helps when memory runs short. The OS moves pages that have not been used for a while out to storage for now, which frees up memory. If an app then tries to use a moved page, the CPU pauses it and tells the OS. The OS reads the page back in, then lets the app carry on. Managing memory page by page and moving pages in and out like this is called "paging."
But storage is much slower than memory, so the more pages move in and out, the slower the computer feels. Some phone OSes free up memory by closing apps in the background, instead of moving pages to storage. "Memory vs Storage: What's the Difference?" explains more.
Job 3: Handling files and devices
On its own, the content of storage is just a huge row of 0s and 1s. You can save named files and sort them into folders because the OS keeps things organized. The system that links each file name to where the file really sits in storage is called a "file system."
The OS also handles devices such as the keyboard, screen, camera and printer. Each maker and model has its own steps for operating a device. A program for each device takes care of those differences. It is called a device driver, or "driver" for short.
When you connect a new printer and "install a driver," you are teaching the OS how to operate that device. With the driver in place, an app only has to ask the OS to "print this," and it can print on any printer.
Job 4: Keeping apps from doing whatever they like
The OS manages the parts, but that would mean nothing if apps could poke at the parts directly. So a CPU has a way to switch between modes of operation. The OS kernel runs in a special mode where anything is allowed. This mode is called privileged mode, or "kernel mode."
Apps run in "user mode," where what they can do is limited. If an app in this mode tries to operate a device directly, or to look into another app's memory, the CPU stops it and tells the OS. Usually, the OS then forces that app to close.
So what does an app do when it wants to read a file? It makes a request to the OS in a fixed way. The CPU then switches to privileged mode for a moment, and the kernel checks the request before carrying it out. This way of making requests is called a system call. The table in "User Mode vs Kernel Mode" compares the two modes.
The first time a phone app uses the camera or your location, you are asked "Allow?" This is also the OS at work. The OS checks that you agree, and only lets approved apps use the feature. On PCs too, the OS manages what each user may do (permissions), such as which files each person who logs in can see.
Job 5: The screen and controls people use
The OS also provides the way people control the computer. Using icons and windows with a mouse or a finger is called a "GUI" (graphical user interface).
There is also a way to control a computer by typing text commands, used mainly for running servers. Either way, the kernel working behind the scenes is the same. Jobs 1 to 4 are background work that does not appear on the screen.
From power-on to a running OS
Right after you turn the power on, memory is empty, and the OS is still in storage. Before the OS can start, small programs pass the job along like runners in a relay. Here is a simplified example for a PC.
- Firmware: a small program built into the computer's parts from the start. It checks and prepares the parts, then looks in storage for the next stage.
- Bootloader: a small program for loading the OS. It copies the kernel from storage into memory and hands over control.
- Kernel: it prepares the devices and starts the needed programs in order. Finally, the login screen appears.
PC firmware used to follow a design called "BIOS." Most PCs today are built to its successor, a standard called "UEFI." UEFI sets the agreement between the firmware and the OS. It is managed by an industry group, the UEFI Forum.
At each stage of the relay, there can also be a check on the next program. It checks that the program comes from a trusted maker and has not been changed. If there is a problem, startup stops there. This is called secure boot. Its purpose is to stop harmful programs from starting before the OS does.
Why apps differ from one OS to another
An app made for Windows does not run on macOS as it is. One reason is that the way an app asks the OS for things differs from one OS to another.
Each OS sets and publishes the features apps can use and how to call them. This set of rules is called an API. Requests such as "open a window" or "save a file" are made differently on Windows and on macOS.
The other reason is the instruction set: the kinds of instructions a CPU understands and how they are written. On a CPU with a different instruction set, an app will not run as it is, even on the same OS. It has to be rebuilt, or there must be a system that translates its instructions. The instruction set section of "What Is a CPU?" explains more.
Web services work on any OS because the browser takes care of the differences between OSes.
Why updates matter
An OS is a huge program, so some mistakes always remain in it. Some of them can give attackers a way in. A weak spot like this is called a "vulnerability."
When OS makers find a vulnerability, they send out fixed programs. These are "security updates." The OS is in charge of everything, so if a vulnerability in it is exploited, the whole computer can be harmed.
Security updates come out on a regular schedule. Android publishes a security bulletin every month, listing the vulnerabilities it has fixed. Windows gets its regular updates on the second Tuesday of each month, US time. In East Asia, that is already Wednesday.
Older OSes, on the other hand, stop getting updates at some point. For example, Microsoft's support for Windows 10 ended on October 14, 2025. On an OS that no longer gets updates, newly found vulnerabilities stay unfixed.
Common misconceptions
Myth: The OS is just how the screen looks (the home screen or desktop)
In fact, the screen and controls are only one part of the OS's work. Its main jobs are managing CPU turns, memory, files, devices and permissions. For example, Windows for servers can be installed as "Server Core," which has no desktop screen at all. Microsoft recommends this option unless there is a particular need. People see the screen all the time, so it is easy to think the OS is just its looks.
Myth: The more apps you leave open, the slower everything always gets
In fact, an open app does use memory. But if it is just waiting in the background, it gets almost no CPU turns. While there is spare memory, many open apps cause little slowdown. Android even keeps unused apps in memory on purpose, so they open faster next time. When memory is needed, the OS closes them on its own. Things slow down when memory runs short and paging increases, or when background apps keep working, for example on the network. People notice those slowdowns, so they blame the number of apps itself.
Myth: Android has nothing to do with Linux
In fact, the Android kernel is the Linux kernel with changes made for Android. On the other hand, the app system and screens built on top are very different from Linux for PCs. Linux apps for PCs do not run on Android as they are. So the answer to "Is it Linux?" depends on whether you mean the kernel or the whole OS.
By the numbers
| Item | When | Notes |
|---|---|---|
| Windows 1.0 goes on sale | November 1985 | Started as software used on top of an OS called MS-DOS |
| First public release of Linux | September 1991 | Version 0.01. Made by Linus Torvalds, then a university student in Finland |
| Linux kernel 1.0 | March 1994 | About two and a half years after the first release |
| Android security bulletins | Monthly | As of 2026. A list of fixed vulnerabilities |
| End of support for Windows 10 | October 14, 2025 | Regular security updates stopped after this date |
Many OSes in use today have been improved for decades. Windows began as software running on MS-DOS, and kept going while its insides were rebuilt. Linux was started by one student and grew through the work of many people.
Learn more
- Compare in a table: Process vs Thread, User Mode vs Kernel Mode
- Try the numbers: the CPU scheduling calculator (how the order of turns changes waiting times), the page replacement algorithm calculator (which page to move to storage)
- Terms for your next step: page fault, demand paging, hypervisor
- Read the basics: "What Is a CPU?", "Memory vs Storage: What's the Difference?"