0% found this document useful (0 votes)
46 views32 pages

Operating System: Cset209

The document discusses different operating system architectures including monolithic, microkernel, and hybrid kernels. It describes the key features of each type and compares their advantages and disadvantages. The monolithic kernel has all components embedded in the kernel while the microkernel only contains core functions. The hybrid kernel combines aspects of monolithic and microkernel designs.

Uploaded by

xpershan
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)
46 views32 pages

Operating System: Cset209

The document discusses different operating system architectures including monolithic, microkernel, and hybrid kernels. It describes the key features of each type and compares their advantages and disadvantages. The monolithic kernel has all components embedded in the kernel while the microkernel only contains core functions. The hybrid kernel combines aspects of monolithic and microkernel designs.

Uploaded by

xpershan
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/ 32

OPERATING

SYSTEM: CSET209
VM1

SIMPLE STRUCTURE -- MS-DOS

 MS-DOS – written to provide the


most functionality in the least space
 Not divided into modules
 Its interfaces and levels of functionality are
not well separated
Slide 2

VM1 application programs are able to access the basic I/O routines
to write directly to the display and disk drives. Such freedom leaves MS-DOS
vulnerable to errant (or malicious) programs, causing entire system crashes
when user programs fail.
Vivek Mehta, 1/22/2023
S

OPERATING SYSTEM ARCHITECTURE OF TRADITIONAL UNIX

 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


 Shell:

 A shell is a piece of software that provides an interface for users to access to the services of a kernel. E.g. Bash (Bourne again shell) in

Ubuntu.

 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
OPERATING SYSTEM ARCHITECTURE S

 In Linux, the term "shell" refers to the command-line interface (CLI) through which users interact with the
operating system.

 It is a program that interprets user commands and executes them.

 It is an intermediary between the user and the kernel (the core of the operating system).
 Bash (Bourne Again SHell): This is the default shell for most Linux distributions. It is a powerful and
feature-rich shell, providing a wide range of capabilities, including scripting.
 Sh (Bourne Shell): The original Unix shell written by Stephen Bourne. It is a simpler shell compared to
Bash and lacks some of the advanced features.
 Zsh (Z Shell): An extended version of Bash with additional features and enhancements for interactive use.
It includes features like improved auto-completion and themes.
 Fish (Friendly Interactive SHell): Known for its user-friendly and interactive features. Fish has a syntax
highlighting feature and offers suggestions as you type commands.
 Dash: A lightweight shell designed for efficiency, often used in scripting and as the default system shell in
some minimalistic Linux distributions.
S

OPERATING SYSTEM ARCHITECTURE


 Kernel:

 The kernel is the core component of most the operating systems.

 Kernel loads first into memory when an operating system is loaded in memory

 Kernel has a process table that keeps track of all active processes

 Kernel has file table

 It also contain v-node and i-node


TRANSITION FROM USER TO KERNEL MODE S
QUIZ TIME S

 Write answer in one word

 1. How do user-level programs transition to kernel mode to perform


privileged operations?

 2. How is the organization of an operating system often described?

 3. What does an operating system provide to hide hardware complexities


from user applications?

 4. In the context of operating systems, what term is commonly used to


describe the evolution and development phases?
S

 Objectives of Kernel :

 To establish communication between


user level application and hardware.

 To decide state of incoming processes.

 To control disk management.

 To control memory management.

 To control task management.


TYPES OF KERNELS S

 Kernels fall into three architectures: Monolithic, Microkernel , and Hybrid.

 The main difference between these types is the number of address spaces they support.

 Address space is the amount of memory allocated for all possible addresses for a computational


ADDRESS SPACE S

• 32-bit system, the virtual address space


• 2^32= 4GB
MONOLITHIC STRUCTURE S

 A monolithic kernel is an operating system architecture where the entire operating system is working in
kernel space.

 In this structure, user services and kernel services are implemented within the same address space

 Example:

 Unix, Open VMS, XTS-400 etc.


MONOLITHIC SYSTEM ARCHITECTURE S

 Features of the monolithic operating system

 Simple structure:

 This type of operating system has a simple structure. All the components needed for processing
are embedded into the kernel.

 Works for smaller tasks:

 It works better for performing smaller tasks as it can handle limited resources.

 Communication between components:

 All the components can directly communicate with each other and also with the kernel.

 Fast operating system:

 because they don’t have to switch between user and kernel modes for every system call, which
can cause overhead
DISADVANTAGES OF MONOLITHIC KERNEL S

 Stability issues: Monolithic kernels can be less stable than other types of kernels because any bug or
security vulnerability in a kernel service can affect the entire system.

 Maintenance difficulties: Monolithic kernels can be more difficult to maintain than other types of kernels
because any change in one of the services can affect the entire system.

 Limited modularity: Monolithic kernels are less modular than other types of kernels because all the
operating system services are tightly integrated into the kernel space. This makes it harder to add or remove
functionality without affecting the entire system.
MICROKERNEL OS ARCHITECTURE S

 In a microkernel operating system, the kernel is small and only contains memory management,
inter-process communication and CPU scheduling.

 Examples :

 Mac OS 8, Minix, L4Linux, Haiku, AmigaOS, and Plan 9.


S

 Kernel mode and User mode of CPU operation

 The CPU can execute certain instructions only when it is in kernel mode. These instructions are called
privilege instruction.

 The operating system puts the CPU in kernel mode when it is executing in the kernel so, that kernel can
execute some special operation.

 The operating system puts the CPU in user mode when a user program is in execution so, that the user
program cannot interface with the operating system program.
S

FEATURES OF MICROKERNEL
 key features of microkernel

 Small and simple kernel

 Modular design

 Message passing

 Extensibility

 Security
S

ADVANTAGES: MICROKERNEL OS ARCHITECTURE


 Modularity

 Fault isolation

 Performance

 Security

 Reliability

 Portability
S

DISADVANTAGES: MICROKERNEL OS ARCHITECTURE

 When the drivers are implemented as procedures, a context switch or a function call is needed.

 Slower message passing between user-level processes can affect performance, especially in high-
performance applications

 Higher memory usage compared to a monolithic kernel

 In a microkernel system, providing services are more costly than in a traditional monolithic system.
HYBRID KERNEL – S

 It is the combination of both monolithic kernel and microkernel. It has speed and design of monolithic
kernel and modularity and stability of microkernel.

 Example :

 Windows NT, Windows 10, Windows Phone 8, Windows Phone 8.1, Netware, BeOS etc.
S

ADVANTAGES: MICROKERNEL OS ARCHITECTURE


 1. Performance: Hybrid kernels can offer better performance than microkernels because they reduce the
number of context switches required between user space and kernel space.

 2. Reliability: Hybrid kernels can offer better reliability than monolithic kernels because they isolate
drivers and other kernel components in separate protection domains.

 3. Flexibility: Hybrid kernels can offer better flexibility than monolithic kernels because they allow
different operating system services to be added or removed without affecting the entire system.

 4. Compatibility: Hybrid kernels can be more compatible than microkernels because they can support a
wider range of device drivers.
S

DISADVANTAGES: MICROKERNEL OS ARCHITECTURE

 1. Complexity: Hybrid kernels can be more complex than monolithic kernels because they include both
monolithic and microkernel components, which can make the design and implementation more difficult.

 2. Security: Hybrid kernels can be less secure than microkernels because they have a larger attack surface
due to the inclusion of monolithic components.

 3. Maintenance: Hybrid kernels can be more difficult to maintain than microkernels because they have a
more complex design and implementation.

 4. Resource usage: Hybrid kernels can use more system resources than microkernels because they
include both monolithic and microkernel components.
S
S
EXOKERNEL S

• Exokernel is an operating system developed at the MIT that provides application-level management of
hardware resources.

• It is the type of kernel which follows end-to-end principle. It has fewest hardware abstractions as possible. It
allocates physical resources to applications.

• This architecture is designed to separate resource protection from management to facilitate application-specific
customization.

• Example :

• Nemesis, ExOS etc.


S

PRINCIPLES OF EXOKERNELS

1. Separate protection and management : Resource management is restricted to functions necessary for
protection.

2. Expose allocation : Applications allocate resources explicitly.

3. Expose name : Exokernels use physical names wherever possible.

4. Expose revocation : Exokernels let applications to choose which instance of a resource to give up.

5. Expose information : Exokernels expose all system information and collect data that applications cannot
easily derive locally.
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.
NANO KERNEL
1. It offers hardware abstraction but without system services.

2. The goal of a nano kernel is to provide only the essential functions required for the operation of a system
while delegating other functions to user-space processes.

Advantages Disadvantages

Small size Limited functionality

High modularity Complexity

Security Performance

Portability Compatibility
VIRTUAL MACHINES S

 Virtualization is a technology that allows operating systems to run as applications within other operating systems.

 With virtualization, in contrast, an operating system runs within another operating system.

 Running multiple virtual machines allowed (and still allows) many users to run tasks on a system designed for a
single user.

 The Virtual Machine Manager (VMM)/hypervisor runs the guest operating systems, manages their resource
use, and protects each guest from the others.
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.

You might also like