You are on page 1of 19

Operating System Architectures

by
Ms. Zubaria Noureen
Types of OS Architecture

• Monolithic Architecture
• Layered Architecture
• Microkernel Architecture
• Hybrid Architecture
Monolithic Architecture
• Oldest and the simplest type of Operating System Architecture.
• Each component is contained in a single kernel only.
• The various components in this OS Architecture communicate with
each other via function calls ( as discussed earlier)
• Examples: Unix-like kernels. Linux.
Monolithic
Advantages of Monolithic Architecture
• This type of architecture is easier to develop.
• Easy to maintain.
• It shows efficient performance because of the direct communication
between the components.
• It is easy to secure as all the components are contained in a single file.
Disadvantages of Monolithic Architecture
• It is difficult to be scalable.
• Hard to update since the change in one component result in an entire
system update
• Large codebase which is difficult to understand.
Layered Architecture
• Operating system is divided into layers where each layer is
performing a specific set of functions.
• Layers are in a hierarchical order, with each layer depending on the
layer below it.
• The layering approach makes the system easier to maintain.
• Example: Windows NT operating system
Layered
Architecture
Advantages of Layered Architecture
• Separation of concerns makes it easier to develop and maintain
individual layers
• Components within a layer can be swapped out without affecting
other layers
• Scalability is improved because layers can be scaled independently
Disadvantages of Layered Architecture
• Increased complexity due to the number of layers
• This architecture can result in slower performance due to
communication overhead between layers
Microkernel Architecture
• Two parts are functional. Inside and outside
• Outside the kernel : Process management, networking, file system
interaction, and device management.
• Inside the kernel: Memory management and synchronization

• The processes inside the kernel have a relatively high priority, and the
components are highly modular, so even if one or more components
fail, the operating system continues to function.
• Examples: Apple MacOS, iOS
Microkernel
Advantages of Microkernel Architecture

• A highly modular design makes it easier to develop and maintain


individual components
• Can support a wide range of operating systems and hardware
platforms
• Enables customization and flexibility, allowing for the creation of
tailored systems
Disadvantages of Microkernel Architecture
• Increased complexity due to the need to manage multiple
components and communication between them.
• Reduced performance due to communication overhead between
components.
• Requires a significant amount of testing and validation to ensure
correct operation of the system.
Hybrid Architecture
• Hybrid architecture is a hybrid of all the architectures and therefore it
contains characteristics from all of those architectures, which makes
it highly valuable in modern operating systems.
• Examples: Windows 11
Levels
• The hybrid architecture is comprised of three levels.
• Hardware abstraction layer: This is the lowest level interface
between the kernel and hardware.
• Microkernel Layer: This is the conventional microkernel, which
includes CPU scheduling, memory management, and inter-process
communication.
• Application Layer: This layer acts as an interface between the user
and the microkernel. It includes features such as a file server, error
detection, I/O device management, and so on.
Advantages of Hybrid Architecture
• Combines the benefits of multiple architectures, such as microkernel
and monolithic kernel, allowing for better performance, scalability,
and flexibility.
• Offers a higher level of security by isolating critical components in
separate modules and reducing the attack surface.
• Allows for easier integration of different software components, as it
supports multiple programming paradigms and facilitates
communication between them.
Disadvantages of Hybrid Architecture
• Can be complex to design and maintain, as it requires managing
multiple subsystems with different architectures and interfaces.
• This architecture May result in slower system performance due to the
increased overhead associated with managing multiple subsystems.
• Can be more prone to compatibility issues, as different subsystems
may require different versions of libraries and other dependencies.
Task
• List down at least five types of operating systems belonging to each
category of architectures.

You might also like