Foundations: What an Operating System Is

the major OS subsystems

A whole operating system is too big to think about all at once, so it helps to break it into a handful of major subsystems, each responsible for managing one kind of resource or one kind of job. Think of a city's departments: one runs transport, one runs housing, one runs water, one runs records, one runs the police. Each has its own concerns and its own experts, yet they cooperate to keep the city running. The OS is organized the same way, and the rest of this subject is essentially a tour of these departments one by one.

The classic subsystems are these. Process and CPU management decides which programs run and shares the processor among them through scheduling — this is the home of processes, threads, and the scheduler. Memory management hands out main memory to programs, keeps them from trampling each other, and provides the illusion of more memory than physically exists (virtual memory, paging). The file system organizes data on storage into named files and directories and controls who may read or write them. The I/O subsystem drives all the devices — disks, keyboards, networks — through device drivers, buffering, and interrupt handling. Protection and security enforce the rules about who may do and access what. Above and around these often sits a user interface (a shell or graphical desktop), though that is usually counted as a program on top rather than part of the kernel.

This map is the single best orientation tool for a beginner: every later topic has a home in one of these subsystems, so when you meet a page table you know it belongs to memory management, and a semaphore belongs to process management's synchronization corner. The subsystems are not walled off from each other — memory management and the file system cooperate closely (the page cache, memory-mapped files), and scheduling interacts with I/O — but treating them as distinct departments is how the whole field stays learnable instead of overwhelming.

Opening a 2 GB video touches four subsystems at once: the file system finds the file, memory management maps part of it in, the I/O subsystem streams bytes from disk as you watch, and the scheduler keeps the player getting CPU time so playback stays smooth.

Real tasks cut across subsystems; the split is for understanding, not isolation.

The subsystem split is a learning map, not a strict code layout. In a monolithic kernel they all live in one program and call each other freely; in a microkernel they may run as separate user-space servers.

Also called
OS componentskernel subsystems作業系統元件核心子系統