OS structure is needed to help achieve goals like protection and performance of the OS and services
The way the OS software is organized with respect to the applications that it serves and the underlying hardware that it manages
Some system services: IPC, File System, Network Access, Mem. Management etc
Needed for protection, performance, flexibility, scalability, agility and responsiveness
However some goals may conflict with each other (e.g., protection vs. flexibility)
Three distinct layers exist, application layer, OS and hardware layer.
Each app in the app has its own address space, protecting them from each other and the OS also has its own address space, protecting the OS from the apps.
Monolithic OSes do not allow for much customization since the system services are already part of the OS.

Applications at top has its own hardware address space
All services that applications expect from apps are contained in the middle section
Hardware at the bottom is managed by the OS (e.g., CPU, memory, peripheral devices)
DOS allows greater customization of OS services by reducing the protection between the apps and the OS. This helps DOS systems achieve greater performance.
Customization can be done on page-replacement, scheduling, interrupts, etc
<aside> 📌 SUMMARY: The three main OS structures (Monolithic, DOS-Like, and Microkernel) each offer distinct trade-offs between protection, performance, and extensibility. Monolithic kernels excel in protection and performance but lack extensibility, DOS-Like systems offer performance and extensibility but sacrifice protection, while Microkernel-based systems provide strong protection and extensibility at the cost of performance.
</aside>