0% found this document useful (0 votes)
6 views

Operating System Structure

The document provides an overview of various operating system structures, including simple, monolithic, layered, micro-kernel, exokernel, and virtual machines. Each structure is analyzed for its advantages and disadvantages, highlighting aspects such as performance, reliability, and complexity. The document emphasizes the importance of careful design in operating systems to ensure effective communication between user applications and hardware.

Uploaded by

Vrinda Kumawat
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Operating System Structure

The document provides an overview of various operating system structures, including simple, monolithic, layered, micro-kernel, exokernel, and virtual machines. Each structure is analyzed for its advantages and disadvantages, highlighting aspects such as performance, reliability, and complexity. The document emphasizes the importance of careful design in operating systems to ensure effective communication between user applications and hardware.

Uploaded by

Vrinda Kumawat
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Operating System

Structure
Overview
 An operating system is a design that enables user application programs
to communicate with the hardware of the machine. The operating
system should be built with the utmost care because it is such a
complicated structure and should be simple to use and modify. Partially
developing the operating system is a simple approach to accomplish
this. Each of these components needs to have distinct inputs, outputs,
and functionalities.

 Simple Structure
 Monolithic Structure
 Layered Approach Structure
 Micro-Kernel Structure
 Exo-Kernel Structure
 Virtual Machines
What is an operating System
Structure?
 It is easier to create an operating system in pieces, much as we break
down larger issues into smaller, more manageable subproblems. Every
segment is also a part of the operating system. Operating system
structure can be thought of as the strategy for connecting and
incorporating various operating system components within the kernel.
Operating systems are implemented using many types of structures.
SIMPLE 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.
The following figure illustrates
layering in simple structure:
 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 monolithic operating system controls all aspects of the operating system's
operation, including file management, memory management, device
management, and operational operations.
 The core of an operating system for computers is called the kernel (OS). All other
System components are provided with fundamental services by the kernel. The
operating system and the hardware use it as their main interface. When an
operating system is built into a single piece of hardware, such as a keyboard or
mouse, the kernel can directly access all of its resources.
 he monolithic operating system is often referred to as the monolithic kernel.
Multiple programming techniques such as batch processing and time-sharing
increase a processor's usability. Working on top of the operating system and under
complete command of all hardware, the monolithic kernel performs the role of a
virtual computer. This is an old operating system that was used in banks to carry
out simple tasks like batch processing and time-sharing, which allows numerous
users at different terminals to access the Operating System.
The following diagram represents the
monolithic structure:
 Advantages of Monolithic Structure:
 Because layering is unnecessary and the kernel alone is responsible for
managing all operations, it is easy to design and execute.
 Due to the fact that functions like memory management, file management,
process scheduling, etc., are implemented in the same address area, the
monolithic kernel runs rather quickly when compared to other systems. Utilizing
the same address speeds up and reduces the time required for address
allocation for new processes.

 Disadvantages of Monolithic Structure:


 The monolithic kernel's services are interconnected in address space and have
an impact on one another, so if any of them malfunctions, the entire system
does as well.
 It is not adaptable. Therefore, launching a new service is difficult.
LAYERED 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.
EXOKERNEL
 An operating system called Exokernel was created at MIT with the goal of offering
application-level management of hardware resources. The exokernel
architecture's goal is to enable application-specific customization by separating
resource management from protection. Exokernel size tends to be minimal due to
its limited operability.

 Because the OS sits between the programs and the actual hardware, it will always
have an effect on the functionality, performance, and breadth of the apps that are
developed on it. By rejecting the idea that an operating system must offer
abstractions upon which to base applications, the exokernel operating system
makes an effort to solve this issue. The goal is to give developers as few
restriction on the use of abstractions as possible while yet allowing them the
freedom to do so when necessary. Because of the way the exokernel architecture
is designed, a single tiny kernel is responsible for moving all hardware
abstractions into unreliable libraries known as library operating systems.
Exokernels differ from micro- and monolithic kernels in that their primary
objective is to prevent forced abstraction.
 Exokernel operating systems have a number of features,
including:
 Enhanced application control support.
 Splits management and security apart.
 A secure transfer of abstractions is made to an unreliable library
operating system.
 Brings up a low-level interface.
 Operating systems for libraries provide compatibility and portability.
 Advantages of Exokernel Structure:
 Application performance is enhanced by it.
 Accurate resource allocation and revocation enable more effective
utilisation of hardware resources.
 New operating systems can be tested and developed more easily.
 Every user-space program is permitted to utilise its own customised
memory management.

 Disadvantages of Exokernel Structure:


 A decline in consistency
 Exokernel interfaces have a complex architecture.
VIRTUAL MACHINES (VMs)

 The hardware of our personal computer, including the CPU, disc drives, RAM, and NIC
(Network Interface Card), is abstracted by a virtual machine into a variety of various
execution contexts based on our needs, giving us the impression that each execution
environment is a separate computer. A virtual box is an example of it.
 Using CPU scheduling and virtual memory techniques, an operating system allows us
to execute multiple processes simultaneously while giving the impression that each
one is using a separate processor and virtual memory. System calls and a file system
are examples of extra functionalities that a process can have that the hardware is
unable to give. Instead of offering these extra features, the virtual machine method
just offers an interface that is similar to that of the most fundamental hardware. A
virtual duplicate of the computer system underneath is made available to each
process.
 We can develop a virtual machine for a variety of reasons, all of which are
fundamentally connected to the capacity to share the same underlying hardware
while concurrently supporting various execution environments, i.e., various
operating systems.
 Disk systems are the fundamental problem with the virtual machine technique. If
the actual machine only has three-disc drives but needs to host seven virtual
machines, let's imagine that. It is obvious that it is impossible to assign a disc
drive to every virtual machine because the program that creates virtual machines
would require a sizable amount of disc space in order to offer virtual memory and
spooling. The provision of virtual discs is the solution.
 The result is that users get their own virtual machines. They can then use any of
the operating systems or software programs that are installed on the machine
below. Virtual machine software is concerned with programming numerous virtual
machines simultaneously into a physical machine; it is not required to take into
account any user-support software. With this configuration, it may be possible to
break the challenge of building an interactive system for several users into two
manageable chunks.
 Advantages of Virtual Machines:
 Due to total isolation between each virtual machine and every other
virtual machine, there are no issues with security.
 A virtual machine may offer an architecture for the instruction set that is
different from that of actual computers.
 Simple availability, accessibility, and recovery convenience.
 Disadvantages of Virtual Machines:
 Depending on the workload, operating numerous virtual machines
simultaneously on a host computer may have an adverse effect on one
of them.
 When it comes to hardware access, virtual computers are less effective
than physical ones.

You might also like