The layers of an operating system

karthik · created · flag

Now that you know the history of Linux, let’s jump right into a technical overview of an operating system. An OS basically has three layers.

  • Kernel
  • Shell
  • Software programs


Like I have mentioned in the previous lesson, the kernel is the heart, the core, the soul of a computer operating system. It is a collection of low-level programs that has direct access to the hardware peripherals and provides an interface to the rest of the system software to access them. In a Linux OS, you have a Linux kernel.


Shell … well, it’s the shell that’s wrapped around the kernel layer, which is the interface for the user to send commands to the kernel. It interprets the command you type and translates it to the kernel. This is what you’d normally call as CLI or the terminal.

Software programs

These are the programs that are available outside the kernel that are intended for general use purpose. As a user, you run these programs by typing out commands in a CLI or by using the GUI.

Every operating system is designed this way. Even your Windows and MacOS (which is a Unix OS) too.