
We can perform numerous tasks when using a computer. For instance, being able to use multiple programs simultaneously, such as listening to music on YouTube while working on Photoshop, is truly remarkable.
The OS plays a key role in enabling such multitasking. It efficiently manages the limited computer resources like the CPU and memory, allowing programs to function properly, thus enabling us to make full use of the computer.

The operating system is structurally divided into three main layers.
Hardware Layer
This is the lowest layer, consisting of the physical components of the computer such as the CPU, memory, and input/output devices. The OS interacts directly with the hardware, translating the commands from the software into a form the hardware can understand and execute.
Kernel Layer:
The kernel is the core part of the OS and manages the essential functions such as memory management, process scheduling, and system calls. It operates in the background, ensuring that all applications and processes have access to system resources without interfering with one another.
Application Layer:
This is the top layer where user applications and programs run. The OS provides an interface between the user-level applications and the kernel. Applications use system calls to request services from the OS, such as file access, network communication, or process management.
Looking at the structure of a computer, I had a question when seeing the separation between the user and kernel parts. I wondered why we need to manage hardware through system calls, as it seems inefficient when everything could just be controlled and managed in a single layer.
One possible reason for this type of structure could be for stability. For example, the user area can control permissions to prevent a process from accessing the memory space that another process is using.
reference
1. https://www.vskills.in/certification/tutorial/operating-system-5/
2. https://kdh0518.tistory.com/entry/OS-Computer-System%EC%9D%98-3%EA%B3%84%EC%B8%B5