0% found this document useful (0 votes)
41 views22 pages

Lecture 3

The document discusses several operating system architectures: 1. Monolithic architecture has all OS components in the kernel and allows fast execution but failure of any component causes system failure. 2. Layered architecture separates components into isolated layers for modularity, easy debugging and updates, but is more complex and slower. 3. Microkernel architecture keeps only minimal components in the kernel for security and modularity, allowing components to fail without crashing the system, but with performance overhead from inter-process communication. 4. Virtual machine architecture virtualizes the hardware and kernel, allowing multiple isolated virtual systems to run simultaneously on the same physical hardware.

Uploaded by

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

Lecture 3

The document discusses several operating system architectures: 1. Monolithic architecture has all OS components in the kernel and allows fast execution but failure of any component causes system failure. 2. Layered architecture separates components into isolated layers for modularity, easy debugging and updates, but is more complex and slower. 3. Microkernel architecture keeps only minimal components in the kernel for security and modularity, allowing components to fail without crashing the system, but with performance overhead from inter-process communication. 4. Virtual machine architecture virtualizes the hardware and kernel, allowing multiple isolated virtual systems to run simultaneously on the same physical hardware.

Uploaded by

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

OPERATING

SYSTEM
S

OPERATING SYSTEM ARCHITECTURE

 An operating system is a program that acts as an interface between a user of a computer and the computer resources. The purpose of an

operating system is to provide an environment in which a user may execute programs.

 Hardware: The hardware consists of the memory, CPU, arithmetic-logic unit, various bulk storage devices, I/O, peripheral devices and
other physical devices.
S

OPERATING SYSTEM ARCHITECTURE


 Kernel:
 In computing, the kernel is the central component of most computer operating systems;

 it is a bridge between applications and the actual data processing done at the hardware level.

 It typically makes these facilities available to application processes through inter-process communication mechanisms and system

calls.

 Shell:
 A shell is a piece of software that provides an interface for users to an operating system that provides access to the services of a kernel.

 The name shell originates from shells being an outer layer of interface between the user and the innards of the operating system (the

kernel)

 Operating system shells generally fall into one of two categories: command-line and graphical
S

MONOLITHIC STRUCTURE OF OPERATING SYSTEM

 The monolithic operating system is a very basic operating system in which file management, memory
management, device management, and process management are directly controlled within the kernel.
 Operating systems that use monolithic architecture were first time used in the 1970s.
 The monolithic operating system is also known as the monolithic kernel.
 A monolithic kernel is an operating system architecture where the entire operating system is working in
kernel space.
S

MONOLITHIC SYSTEM ARCHITECTURE


 A monolithic design of the operating system architecture makes no special accommodation for the special
nature of the operating system.
 Although the design follows the separation of concerns, no attempt is made to restrict the privileges
granted to the individual parts of the operating system.
 The entire operating system executes with maximum privileges. The communication overhead inside the
monolithic operating system is the same as that of any other software, considered relatively low.
S

ADVANTAGES OF MONOLITHIC KERNEL


 The execution of the monolithic kernel is quite fast as the services such as memory management, file
management, process scheduling etc. are implemented under the same address space.
 A process runs completely in a single address space in the monolithic kernel.
 The monolithic kernel is a static single binary file.

DISADVANTAGES OF MONOLITHIC KERNEL


 If any service fails in the monolithic kernel, it leads to the failure of the entire system.
 To add any new service, the entire operating system needs to be modified by the user.

EXAMPLES OF MONOLITHIC KERNEL


 MS DOS (Disc Operating System)
S

LAYERED OS ARCHITECTURE
 The modularity of layered operating systems allows the implementation of each layer to be modified
without requiring any modification to adjacent layers.
 It was created to improve the pre-existing structures like the Monolithic structure ( UNIX ) and the
Simple structure ( MS-DOS ).
 Example – The Windows NT operating system uses this layered approach as a part of it.
 The outermost layer must be the User Interface layer.
 The innermost layer must be the Hardware layer.
 A particular layer can access all the layers present below it but it cannot access the layers present
above it. That is layer n-1 can access all the layers from n-2 to 0 but it cannot access the nth layer.
S

LAYERED OS ARCHITECTURE
S
ADVANTAGES: LAYERED OS
ARCHITECTURE
 Modularity : This design promotes modularity as each layer performs only the tasks it is scheduled to
perform.
 Easy debugging : As the layers are discrete so it is very easy to debug. Suppose an error occurs in the CPU
scheduling layer, so the developer can only search that particular layer to debug, unlike the Monolithic
system in which all the services are present together.
 Easy update : A modification made in a particular layer will not affect the other layers.
 No direct access to hardware : The hardware layer is the innermost layer present in the design. So a user
can use the services of hardware but cannot directly modify or access it, unlike the Simple system in which
the user had direct access to the hardware.
 Abstraction : Every layer is concerned with its own functions. So the functions and implementations of the
other layers are abstract to it
S
DISADVANTAGE: LAYERED OS
ARCHITECTURE

 Complex and careful implementation: As a layer can access the services of the layers below it, so the
arrangement of the layers must be done carefully. For example, the backing storage layer uses the services
of the memory management layer. So it must be kept below the memory management layer. Thus with
great modularity comes complex implementation.
 Slower in execution: If a layer wants to interact with another layer, it requests to travel through all the
layers present between the two interacting layers. Thus it increases response time, unlike the Monolithic
system, which is faster than this. Thus an increase in the number of layers may lead to a very inefficient
design.
 Functionality: It is not always possible to divide the functionalities. Many times, they are interrelated and
can't be separated.
 Communication: No communication between non-adjacent layers.
S

MICROKERNEL OS ARCHITECTURE

 Also known as Client-server model


 A microkernel architecture includes only a very small number of services within the kernel in an attempt
to keep it small and scalable.
 The services typically include low-level memory management, inter-process communication and basic
process synchronisation to enable processes to cooperate.
 In microkernel designs, most operating system components, such as process management and device
management, execute outside the kernel with a lower level of system access.
 Microkernels are highly modular, making them extensible, portable and scalable. Operating system
components outside the kernel can fail without causing the operating system to fall over..
S

MICROKERNEL OS ARCHITECTURE
S
ADVANTAGES: MICROKERNEL OS
ARCHITECTURE
 Microkernels are secure since only those parts are added, which might disturb the system's functionality.
 Microkernels are modular, and the various modules may be swapped, reloaded, and modified without
affecting the kernel.
 Microkernel architecture is compact and isolated, so it may perform better.
 The system expansion is more accessible, so it may be introduced to the system application without
disrupting the kernel.
 When compared to monolithic systems, microkernels have fewer system crashes. Furthermore, due to the
modular structure of microkernels, any crashes that do occur are simply handled.
 The microkernel interface helps in enforcing a more modular system structure.
 Server failure is treated the same as any other user program failure.
 It adds new features without recompiling.
S
DISADVANTAGES: MICROKERNEL OS
ARCHITECTURE

 When the drivers are implemented as procedures, a context switch or a function call is needed.
 In a microkernel system, providing services are more costly than in a traditional monolithic system.
 The performance of a microkernel system might be indifferent and cause issues.
S

VIRTUAL MACHINE ARCHITECTURE

 A virtual machine takes the layered approach to its logical conclusion. It treats hardware and the operating
system kernel as though they were all hardware.
 A virtual machine provides an interface identical to the underlying bare hardware.
 The operating system creates the illusion of multiple processes, each executing on its own processor with its
own (virtual) memory
 The resources of the physical computer are shared to create the virtual machines.

✦ CPU scheduling can create the appearance that users have their own processor.

✦ Spooling and a file system can provide virtual card readers and virtual line printers.

✦ A normal user time-sharing terminal serves as the virtual machine operator’s console.
S

VIRTUAL MACHINES
S
ADVANTAGES/DISADVANTAGES OF VIRTUAL
MACHINES

• The virtual-machine concept provides complete protection of system resources since each virtual machine is
isolated from all other virtual machines. This isolation, however, permits no direct sharing of resources.
• A virtual-machine system is a perfect vehicle for operating-systems research and development. System
development is done on the virtual machine, instead of on a physical machine and so does not disrupt normal
system operation.
• The virtual machine concept is difficult to implement due to the effort required to provide an exact duplicate to
the underlying machine.
• The performance of guest operating system becomes slow.

• Example: IBM MVS/360, VMware


S

EXOKERNEL

• Exokernel is an operating system developed at the MIT that provides application-level management of
hardware resources.
• This architecture is designed to separate resource protection from management to facilitate application-specific
customization.
S

ADVANTAGES OF EXOKERNELS
1. Significant performance increase.

2. Applications can make more efficient and intelligent use of hardware resources by being aware of resource
availability, revocation and allocation.

3. Ease development and testing of new operating system ideas. (New scheduling techniques, memory
management methods, etc)

DISADVANTAGES OF EXOKERNELS

1. Complexity in design of exokernel interfaces.

2. Less consistency.
THANK YOU
?

You might also like