Operating System Part3-OS Structure
Operating System Part3-OS Structure
Kernel is the core part of an OS(Operating system); hence it has full control over
everything in the system. Each operation of hardware and software is managed
and administrated by the kernel.
It acts as a bridge between applications and data processing done at the hardware
level. It is the central component of an OS.
It is the part of the OS that always resides in computer memory and enables the
communication between software and hardware components.
It is the computer program that first loaded on start-up the system (After the
bootloader). Once it is loaded, it manages the remaining start-ups. It also
manages memory, peripheral, and I/O requests from software. Moreover, it
translates all I/O requests into data processing instructions for the CPU. It
manages other tasks also such as memory management, task management, and
disk management.
A Kernel is kept and usually loaded into separate memory space, known as
protected Kernel space. It is protected from being accessed by application
programs or less important parts of OS.
Other application programs such as browser, word processor, audio & video
player use separate memory space known as user-space.
Due to these two separate spaces, user data and kernel data don't interfere with
each other and do not cause any instability and slowness.
1.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 MS-DOS.
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.
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.
2.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.
4.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:
5.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.
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.