Operating System Structure | OS Tutorials YASH PAL, May 9, 2026May 9, 2026 The structure of an operating system is dictated by the model employed in building it. An operating system model is a broad framework that unifies the many features and services of the operating system and tasks it performs.Table of Contents Types of Operating System StructureMonolithic Operating SystemLayered Operating SystemAdvantage of Layered Operating SystemDisadvantages of a Layered Operating SystemMicrokernelsClient Server ModelVirtual MachinesExokernelsTypes of Operating System StructureOperating systems are broadly classified into six categories based on their structuring mechanism as follows:Monolithic SystemsLayered SystemsMicro KernelsClient Server SystemVirtual MachinesExokernelsMonolithic Operating SystemIn this approach, the entire operating system runs as a single program in kernel mode (processor mode). When this technique is used, each procedure in the system is free to call any other one. The monolithic operating system structure with separate user and kernel processor modes is shown in Figure 1.Figure 1: Monolithic Operating System Structure DiagramWhen a user-mode program calls a system service, the processor traps the call and then switches the calling thread to kernel mode. Completion of a system service switches the thread back to user mode, allowing the caller to continue.Example monolithic operating systems: CP/M and MSDOS.Layered Operating SystemThe components of a layered operating system are organized into modules and layers, one on top of the other. Each module provides a set of functions that other modules can call. The operating system is to be organised as a hierarchy of layers; the first system constructed in this way was by E.W Dijkstra (1968) in the Netherlands. The system has six layers as shown in Figure 2.Figure 2: Layered Operating System Structure DiagramLayer 0 deals with processor allocation and switching between processes when interrupts occured or timers expire. It also provided the basic multi-programming of the CPU.Layer 1 does the Processor Scheduling and Memory Management. It allocated space for processes in main memory and on a 512K word drum for holding parts of processes (pages) for which there was no space in main memory. Above layer 1, processes did not have to worry about whether they were in memory or on the drum; the layer 1 software takes care of making sure that pages were brought into memory whenever they were needed.Layer 2 handled communication between each process and the operator console. Above this layer, each process effectively has its own operator console.Layer 3 took care of file system management, managing the I/O devices and buffering the information stream to and from them. Above layer 3, each process could deal with abstract I/O devices with nice properties instead of real devices with many peculiarities.Layer 4 is where the system services are provided by the system.Layer 5 is where the user programs are found; they did not have to worry about process, memory console, or I/O management.Advantage of Layered Operating SystemOne advantage of a layered operating system structure is that each layer of code is given access to only the lower-level interfaces (and data structures) it requires, thus limiting the amount of code that wields unlimited power.This structure also allows the operating system to be debugged, starting at the lowest layer, adding one layer at a time until the whole system works correctly.Layering also makes it easier to enhance the operation; one entire layer can be replaced without affecting other parts of the system.The concept of layered architecture is broadly used in several areas, particularly in Computer Networks.Disadvantages of a Layered Operating SystemA layered operating system delivers low application performance in comparison to a monolithic operating system.Examples are: VAX/VMS, UNIX, MULTICSMicrokernelsThe basic idea behind the microkernel design is to achieve high reliability by splitting the operating system up into small, well-defined modules, only one of which the microkernel runs in kernel mode, and the rest run as relatively powerless ordinary user processes. By running each device driver and file system as a separate user process, a bug in one of these can crash that component, but cannot crash the entire system.Many microkernels have been implemented and deployed. They are especially common in real-time, Industrial, and military applications that require high reliability. A few of better know microkernels are Integrity, K42, L4, QNX, Symbian, and MINIX3. Figure 3 shows the Microkernel Operating System.Figure 3: Microkernel operating system structure diagramClient Server ModelVariation in the microkernel results in two classes of processes.Servers: which provide some service.Clients: those who use the service provided by the server.This model is known as the client-server model due to the presence of client and server processes. Communication between client and server is carried out by Message Passing. As shown in Figure 4, the clients and servers run on different computers connected by a local or wide area network.Figure 4: client-server model over a network diagramTheThe Client-Server Model is an abstraction that can be used for a single machine or for a network of machines.Virtual MachinesA virtual machine monitor (VMM) is a layer of software that emulates the hardware of a computer system, as shown in Figure 5.Figure 5: virtual machine structure diagramThe abstraction created by the VMM is called a Virtual Machine. The hardware emulated by the VMM is typically similar to the hardware on which the VMM is running.ExokernelsPartitioning the actual machine by giving each user a subset of the resources, as one subset might get disk blocks 0 to 1023, the next get 1024 to 2047 blocks, and so on. At the bottom layer, running in kernel mode is a program called the exokernel. The job of the exokernel is to allocate resources to virtual machines and then check attempts to use them to make sure no machine is trying to use somebody else’s resources. The advantage of the exokernel scheme is that it saves a layer of mapping. engineering subjects Operating System Operating System