What is the Difference Between Monolithic and Layered Operating Systems

The main difference between monolithic and layered operating systems is that, in monolithic operating systems, the entire operating system work in the kernel space while layered operating systems have a number of layers, each performing different tasks.

An operating system manages the functionalities of the entire system. It handles process management, task scheduling, device and file management and many more. It also provides security to the data and resources. Therefore, the operation of the entire computer depends on the operating system. Besides, these operating systems are of various types, and two among them are the monolithic and layered OS.

Key Areas Covered

1. What is a Monolithic Operating System
     – Definition, Functionality
2. What is a Layered Operating System
     – Definition, Functionality
3. What is the Difference Between Monolithic and Layered Operating Systems
     – Comparison of Key Differences

Key Terms

Layered Operating Systems, Monolithic Operating Systems

Difference Between Monolithic and Layered Operating Systems - Comparison Summary (1)

What is a Monolithic Operating System

There are three main layers in monolithic operating systems: application layer, monolithic kernel, and hardware layer. In these operating systems, every application has its own address space. Therefore, the applications are more secure. The kernel handles the OS services, which include file system, CPU scheduler, and memory manager.

Main Difference - Monolithic vs Layered Operating Systems

The applications request services from the kernel via system calls. When an application requests a service, the hardware address space of the application switches to the hardware address space of the operating system to execute it. Monolithic operating systems handle high-level virtual interface over computer hardware. Also, in this, it is possible to add device drivers to the kernel as modules.

What is a Layered Operating System

A layered operating system is an operating system that divides into various layers. And, each of these layers performs some kind of functionality. The purpose of developing layered operating systems is to avoid the limitations of monolithic operating systems.

In layered operating systems, all the layers exist separately, and modification in one layer does not affect other layers. Therefore, it is also easier to create, maintain and update layered operating systems. Furthermore, the lowest layer handles hardware-related operating while the uppermost layer handles user applications.

Difference Between Monolithic and Layered Operating Systems

There are six main layers in layered operating systems. They are as follows.

Hardware – Lowest layer in the OS architecture. This handles the hardware devices.

CPU Layer – Handles the scheduling tasks and schedules processes for the CPU. 

Memory Management – Handles the memory. It moves the processes from disk to primary memory for execution and sends the executed processes back to the disk.

Process Management – Manages the processes. This layer assigns the CPU to execute processes.

IO Buffer – Allows the users to interact with the system and, manages buffers for IO devices, ensuring that IO devices work properly.

User Programs – Highest layer in the layered operating system and manages the user programs such as word processors, browsers etc.

Difference Between Monolithic and Layered Operating Systems

Definition

A monolithic operating system is an OS architecture in which the entire operating system works in the kernel space. In contrast, a layered operating system is an OS architecture that is divided into a number of layers, each layer performing a specific functionality. Thus, this is the main difference between monolithic and layered operating systems.

Number of Levels

The number of levels is also a major difference between monolithic and layered operating systems. In monolithic operating systems, there are mainly three layers. However, there are more layers in layered operating systems.

Conclusion

Monolithic and layered operating systems are two operating systems. The main difference between monolithic and layered operating systems is that, in monolithic operating systems, entire operating system work in the kernel space while layered operating systems have a number of layers each performing different tasks.

Reference:

1. “Monolithic Kernel.” Wikipedia, Wikimedia Foundation, 26 July 2018, Available here.

Image Courtesy:

1. “Role of an Operating System” By Kapooht – Own work (CC BY-SA 3.0) via Commons Wikimedia
2. “Kernel-monolithic v2” By derivative work: Golftheman (talk)_Kernel-monolithic.svg: Mg55 – _Kernel-monolithic.svg (Public Domain) via Commons Wikimedia

About the Author: Lithmee

Lithmee holds a Bachelor of Science degree in Computer Systems Engineering and is reading for her Master’s degree in Computer Science. She is passionate about sharing her knowldge in the areas of programming, data science, and computer systems.

Leave a Reply