Lecture 3
Lecture 3
SYSTEM
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
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
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
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
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
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.
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
2. Less consistency.
THANK YOU
?