You are on page 1of 1

MS (CS) Advanced Operating Systems

Kernel:
Kernel is the core part of an operating system which manages system resources. It also acts like
a bridge between application and hardware of the computer. It helps with process and memory
management, file system, device control and networking. It is one of the first programs loaded
on start-up (after the Bootloader).
Kernel types:
Monolithic Kernel:
This kernel type has all required functionality inside the kernel, schedulers, device drivers,
memory management etc all in a memory space owned by the kernel. Monolithic kernels
typically have the highest data throughput of all kernels and is best used in large servers or job
dedicated servers.
Micro Kernel:
This kernel type uses the minimum set-up required for scheduling, memory management and
inter-process communication. This vastly reduces the amount of memory required for kernel
use. The minimum size of the kernel means that the amount of extra communication required
by device drivers reduces the maximum data flow through the kernel but also decreases kernel
response time to interrupts. Microkernels are typically found in real time systems.
Hybrid Kernel:
This is a mix between the 2 above. The kernel is larger than micro but smaller than monolithic.
What you normally get is a stripped down monolithic kernel that has the majority of device
drivers removed but still all of the system services within the kernel space. The device drivers
will be attached to the kernel as required when starting up or running. These kernels are
typically found on desktops, your Windows, Mac and Linux OS flavours.
Kernel Mode:
In Kernel mode, the executing code has complete and unrestricted access to the underlying
hardware. It can execute any CPU instruction and reference any memory address. Kernel mode
is generally reserved for the lowest-level, most trusted functions of the operating system.
Crashes in kernel mode are catastrophic; they will halt the entire PC.
User mode:
In User mode, the executing code has no ability to directly access hardware or reference
memory. Code running in user mode must delegate to system APIs to access hardware or
memory. Due to the protection afforded by this sort of isolation, crashes in user mode are
always recoverable. Most of the code running on your computer will execute in user mode.

Muhammad Younus 21MS-CS22

You might also like