Operating System: Cset209
Operating System: Cset209
SYSTEM: CSET209
VM1
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
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
Hardware: The hardware consists of the memory, CPU, arithmetic-logic unit, various bulk storage devices, I/O, peripheral devices and
other physical devices.
S
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 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
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
Objectives of Kernel :
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
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:
Simple structure:
This type of operating system has a simple structure. All the components needed for processing
are embedded into the kernel.
It works better for performing smaller tasks as it can handle limited resources.
All the components can directly communicate with each other and also with the kernel.
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 :
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
Modular design
Message passing
Extensibility
Security
S
Fault isolation
Performance
Security
Reliability
Portability
S
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
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
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
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 :
PRINCIPLES OF EXOKERNELS
1. Separate protection and management : Resource management is restricted to functions necessary for
protection.
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
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
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
• 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.