Operating System Structure
Operating System Structure
• It is the most straightforward operating system structure, but it lacks definition and is only
appropriate for usage with tiny and restricted systems. Since the interfaces and degrees of
functionality in this structure are clearly defined, programs are able to access I/O routines, which may
result in unauthorized access to I/O procedures.
This organizational structure is used by the MS-DOS operating system:
• There are four layers that make up the MS-DOS operating system, and each has its own set of
features.
• These layers include ROM BIOS device drivers, MS-DOS device drivers, application programs, and
system programs.
• The MS-DOS operating system benefits from layering because each level can be defined
independently and, when necessary, can interact with one another.
• If the system is built in layers, it will be simpler to design, manage, and update. Because of this,
simple structures can be used to build constrained systems that are less complex.
• When a user program fails, the operating system as whole crashes.
• Because MS-DOS systems have a low level of abstraction, programs and I/O procedures are visible
to end users, giving them the potential for unwanted access.
Advantages of Simple Structure:
• Because there are only a few interfaces and levels, it is simple to
develop.
• Because there are fewer layers between the hardware and the
applications, it offers superior performance.
Disadvantages of Simple Structure:
• The entire operating system breaks if just one user program
malfunctions.
• Since the layers are interconnected, and in communication with one
another, there is no abstraction or data hiding.
• The operating system's operations are accessible to layers, which can
result in data tampering and system failure.
MONOLITHIC STRUCTURE
• The OS is separated into layers or levels in this kind of arrangement. Layer 0 (the
lowest layer) contains the hardware, and layer 1 (the highest layer) contains the
user interface (layer N). These layers are organized hierarchically, with the top-
level layers making use of the capabilities of the lower-level ones.
• The functionalities of each layer are separated in this method, and abstraction is
also an option. Because layered structures are hierarchical, debugging is simpler,
therefore all lower-level layers are debugged before the upper layer is examined.
As a result, the present layer alone has to be reviewed since all the lower layers
have already been examined.
The image below shows how OS is organized
into layers:
Advantages of Layered Structure:
• Work duties are separated since each layer has its own functionality,
and there is some amount of abstraction.
• Debugging is simpler because the lower layers are examined first,
followed by the top layers.
Disadvantages of Layered Structure:
• Performance is compromised in layered structures due to layering.
• Construction of the layers requires careful design because upper
layers only make use of lower layers' capabilities.
MICRO-KERNEL STRUCTURE
• The operating system is created using a micro-kernel framework that strips the
kernel of any unnecessary parts. Systems and user applications are used to
implement these optional kernel components. So, Micro-Kernels is the name
given to these systems that have been developed.
• Each Micro-Kernel is created separately and is kept apart from the others. As a
result, the system is now more trustworthy and secure. If one Micro-Kernel
malfunctions, the remaining operating system is unaffected and continues to
function normally.
The image below shows Micro-Kernel Operating System Structure:
Advantages of Micro-Kernel Structure:
• It enables portability of the operating system across platforms.
• Due to the isolation of each Micro-Kernel, it is reliable and secure.
• The reduced size of Micro-Kernels allows for successful testing.
• The remaining operating system remains unaffected and keeps
running properly even if a component or Micro-Kernel fails.
Disadvantages of Micro-Kernel Structure:
• The performance of the system is decreased by increased inter-
module communication.
• The construction of a system is complicated.
Virtual Machines
• Virtual Machines (VMs) are a form of virtualization technology that allows
multiple operating systems to run on a single physical machine
simultaneously. Each virtual machine acts as an independent, isolated
system with its own OS and applications.
Advantages of Virtual Machines
• VMs provide a high degree of isolation between guest operating systems.
This makes it difficult for malware or other problems in one guest to affect
other guests or the host system.
• VMs can be used to create secure environments for running untrusted
code. For example, a VM can be used to run a web browser without risking
the entire system to malware infection.
• VMs can be easily moved from one physical machine to another. This
makes it easy to deploy and manage applications across multiple servers.
Disadvantages of Virtual Machines
• VMs typically have some performance overhead compared to running
software directly on the hardware. This is because the VM must
emulate the hardware for the guest operating system.
• VMs can be complex to manage. This is because they require
additional software to be installed and configured.
• VMs can consume a significant amount of system resources. This is
because they must run a guest operating system in addition to the host
operating system.