0% found this document useful (0 votes)
5 views8 pages

Structure of OS

The document outlines various structures of operating systems (OS), including monolithic, layered, microkernel, hybrid, modular, and exokernel, each with distinct advantages and disadvantages. It emphasizes the trade-offs between speed, security, and modularity, with modern OS often adopting hybrid or modular approaches for better performance. Additionally, it discusses the OS's role as a resource manager, focusing on memory management, CPU utilization, and device management to ensure efficient operation.

Uploaded by

kanikaaneja2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views8 pages

Structure of OS

The document outlines various structures of operating systems (OS), including monolithic, layered, microkernel, hybrid, modular, and exokernel, each with distinct advantages and disadvantages. It emphasizes the trade-offs between speed, security, and modularity, with modern OS often adopting hybrid or modular approaches for better performance. Additionally, it discusses the OS's role as a resource manager, focusing on memory management, CPU utilization, and device management to ensure efficient operation.

Uploaded by

kanikaaneja2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

An Operating System (OS) is a system software that manages

hardware resources and provides services for computer programs.


The structure of an OS is crucial to its design, efficiency, and
functionality. Below are the key structures of an OS in detail:
---
1. Monolithic Structure
 In this structure, all OS services (such as file management,
memory management, process scheduling, etc.) are bundled
into a single program.
 The entire OS runs in kernel mode and is tightly integrated.
 Example OS: Unix, Linux (older versions), MS-DOS.

Advantages:
Faster execution as everything runs in a single address space.
Simple design with fewer layers.

Disadvantages:
Harder to debug and modify due to tight coupling.
Poor modularity, making it difficult to extend features.

---
2. Layered Structure
 The OS is divided into different layers, each providing specific
functionality.
 Each layer interacts only with the one above and below it.
 The lower layers handle hardware-level operations, while the
upper layers provide user-level services
 Example of Layers:
1. Hardware (Layer 0) – Directly interacts with physical devices.

2. CPU Scheduling & Memory Management (Layer 1) – Handles


process execution.

3. Device Management (Layer 2) – Manages input/output devices.

4. File System (Layer 3) – Controls storage and file operations.

5. User Interface (Layer 4) – Provides a user-friendly interface


(CLI/GUI).

Advantages:
 Modular design, making it easier to debug and update.
 Improved security as layers can be protected from unauthorized
access.

Disadvantages:
 Slower performance due to multiple layers.
 Designing an ideal layered OS is complex.
Example OS: THE (Technische Hogeschool Eindhoven) OS, MULTICS.
---

3. Microkernel Structure
 Only essential services (such as process management, memory
management, and inter-process communication) run in kernel
mode.
 Other services (such as device drivers and file systems) run in
user mode.
 Inter-process communication (IPC) is used to communicate
between modules.

Advantages:
 Better security and stability since most services run in user
space.
 Easier to update or modify specific components without
affecting the kernel.

Disadvantages:
 Slower due to additional communication overhead.
 More complex design compared to monolithic kernels.

Example OS: MINIX, QNX, macOS (XNU kernel), Windows NT.

---
4. Hybrid Kernel Structure
 A combination of monolithic and microkernel designs.
 Some critical OS functions run in the kernel (for efficiency),
while others are in user space (for modularity).

Advantages:
 More efficient than microkernels.
 More modular than monolithic systems.

Disadvantages:
 Can still be complex to implement.
 May have some security vulnerabilities.

Example OS: Windows (NT-based), macOS (XNU), Linux (modern


versions).
5. Modular Structure
 Similar to a monolithic kernel but supports dynamically
loadable modules.
 The core kernel has only essential functions, while additional
functionalities are added as loadable modules.

Advantages:
 Extensibility: New features can be added without modifying the
kernel.
 Improved maintainability.

Disadvantages:
 Requires careful module management.
 Still not as secure as microkernels.

Example OS: Linux (modern), Solaris.

---
6. Exokernel Structure
 The OS provides minimal services, allowing applications direct
access to hardware resources.
 Unlike microkernels, it does not enforce strict hardware
abstractions.

Advantages:
 Extremely lightweight and fast.
 Applications have more control over hardware.

Disadvantages:
 Difficult to program as applications must handle hardware
interactions.
 Lack of standardization.

Example OS: ExOS (MIT research OS).

---
Comparison of OS Structures
---

Conclusion

Each OS structure has trade-offs between speed, security, and


modularity. Modern operating systems tend to use hybrid or modular
approaches to balance performance and flexibility.
OS as a Resource Manager:

 We know that multi-programming introduced many new


challenges for an operating system.
 Due to multi-programming, there was a need to partition the
memory and allocate memory to various tasks.
 So memory partitioning and memory allocation jobs added to the
operating system.
 As the number of users and tasks increased, there was need to
utilize the memory effi ciently.
 Thus, memory management techniques were devised. Another
concern that arose due to multi-programming was CPU utilization.
 When there was a single program to execute, there was no issue
of memory management and CPU utilization.
 But when there are multiple tasks in memory, all compete for
execution. Since CPU can execute Introduction to Operating
Systems 27 a single task at a time, others need to wait.
 So the issue is to schedule the tasks such that CPU does not sit idle
and all the tasks get the CPU time fairly.
 Device utilization is another important issue for operating system.
 As the devices are less in number as compared to the number of
users and tasks, there is need of controlled allocation to them.
 For example, if we allow all the users to access a shared printer,
then there will be a chaos. It means we must have some
mechanisms to share the devices. This device management is also
supported by the operating system.
 Likewise, there are many resources today in the computer system
which need to be allocated and managed in a controlled manner.
In this way, operating system’s jobs to manage and utilize the
resources are as follows:
i) grants access to resource requests from different users
ii) keeps track of which task is using which resource
iii) keeps account of usage of the resources
iv) resolves the conflicting requests from users
v) utilizes the hardware and other resources in best possible
manner
 Thus, it can be said that operating system acts as a resource
allocator and resource manager in order to provide an efficient
operation on computer system to the user.
 The efficiency is the major goal for an operating system which
takes care of the best utilization and allocation of resources on the
computer system.

You might also like