What is an Operating System: The Software That Runs Your Software
The invisible boss that lets every app share one computer
The invisible boss that lets every app share one computer
Click any app at the top to watch it talk to the operating system. Apps never touch hardware directly. Instead, they ask the kernel (the heart of the OS) to read a file, draw a pixel, or send data over the network. The kernel handles the messy details with the hardware so the apps don't have to.
Click an app to see what hardware it touches through the OS.
Your computer might have only 4 or 8 CPU cores, but it runs hundreds of programs at once. How? The OS scheduler switches between them so quickly that they all seem to run at the same time. Each program gets a tiny slice of CPU time. Move the slider to change how many processes are competing.
More processes mean more switching. Watch the timeline at the bottom.
Each program thinks it has the whole computer to itself. The OS makes that possible with two big lies. Virtual memory: each process sees its own private addresses, even though they all share the same physical RAM. The file system: the OS wraps disk sectors in named files and folders. Apps say "open my_song.mp3", not "go to sector 28371".
Click apps to see their virtual memory or files. The OS keeps everything separate.
Every OS does the same job: schedule processes, manage memory, organize files, talk to hardware. They differ in how. Here's the cast.
Free and open source. Started in 1991 by Linus Torvalds as a college project. Today it powers most servers, all supercomputers, and the Android phones in 3 billion pockets.
Apple builds both for its hardware. Underneath the shiny UI is a Unix-based system descended from BSD, with custom kernels (XNU) for fast graphics, security, and battery life.
Microsoft\'s Windows runs about 75% of desktop computers. Modern Windows is built on the NT kernel (1993), totally separate from the old MS-DOS that ran Windows 95/98.
Google\'s Android is a Linux kernel with a custom Java-based app layer on top. Open source, runs on phones from dozens of makers, plus tablets, TVs, watches, and cars.
RTOSes like FreeRTOS or VxWorks guarantee a response within a strict time limit. Used where lateness is not an option: car airbags, pacemakers, factory robots, satellites.
Modern browsers are basically little operating systems. They schedule tabs (processes), sandbox memory, manage storage, and let web apps look and feel like native ones. ChromeOS takes this idea all the way.
Almost every OS in this list traces back to Unix, written in 1969 at Bell Labs by Ken Thompson and Dennis Ritchie. It was so simple and elegant that 50 years later, Linux, macOS, iOS, Android, and most of the internet still follow its design ideas. Windows is the main exception, with a separate lineage going back to OS/2 and DEC VMS.
You've met the most important program on any computer: the operating system. The OS is the layer between your apps and the hardware. It schedules every process, hands out memory, manages files, and talks to your screen, keyboard, network, and disk. Linux, macOS, Windows, iOS, and Android all do these same jobs, just in different ways.
Apps don't talk to your screen, disk, or network directly. They ask the OS to do it. This means apps don't have to know what kind of hardware you have, and the OS can stop one app from interfering with another.
Every running program is a "process". The OS rapidly switches between processes (thousands of times per second) so it looks like they're running at the same time. This is called preemptive multitasking.
The OS gives each process its own private "virtual" memory (so they can't step on each other). It also wraps disk storage in files and folders, so apps don't have to know about sectors or tracks.
Linux runs servers, supercomputers, and Android phones. macOS and iOS share a Unix-based core. Windows runs most desktops. They all do the same job, just differently. Most of them descend from Unix (1969) one way or another.
Put your new knowledge into practice!