Operating Systems Foundations: Components, Perspectives, and the Kernel

Written by Rohan Nandan on May 30, 2026 · 4 min read

Article Image

Operating systems sit at the center of modern computing, but they are best understood by first decomposing the computer system into its major parts and then examining the roles of the OS and kernel.

Computer System Components

A computer system can be divided into four components:

This breakdown matters because the OS is not just another program. It is the coordinator that decides how resources are shared across the entire system.

Operating System Viewpoints

The OS looks different depending on the point of view:

In every case, the OS balances convenience with control, and efficiency with fairness.

Kernel vs Operating System

The kernel is the core system software inside an OS.

The operating system includes the kernel plus additional system software and services.

In summary, the kernel is the essential core, while the OS is the complete environment that makes the system usable.

API vs System Calls: The Restaurant Model

A common way to conceptualize the OS layers is a restaurant analogy:

This model highlights an important concept: user programs do not access hardware directly; they request services from the kernel.

What Counts as an Operating System?

There is no universally accepted definition. A practical approximation is: “everything a vendor ships when an operating system is ordered.” But even that varies across platforms.

A helpful breakdown is:

Modern general-purpose and mobile OSes also include middleware—software frameworks that provide services to application developers, such as databases, multimedia, and graphics.

Further Reading

For a deeper, structured treatment of these concepts, see:

Conclusion

Operating systems are both resource managers and control programs. They keep shared systems fair, keep mobile devices efficient, and keep embedded systems reliable. At the center is the kernel, translating high-level requests into machine actions. Understanding these roles and boundaries clarifies the rest of OS design.

Related Posts