Lecture 4
Operating System
Kernel
• The kernel is the core component of an operating
system (OS) that acts as a bridge between hardware
and software.
• It manages system resources like CPU, memory, and
devices, ensuring that different applications can run
efficiently and securely.
Functions of Kernel
Process Management
• Manages running applications (processes) and their
execution.
• Handles process creation, scheduling, and termination.
• Uses scheduling algorithms to allocate CPU time
efficiently.
Memory Management
• Allocates and deallocates memory for processes.
• Manages virtual memory, swapping, and paging.
Kernel Functions (cont…)
• Device Management
• Communicates with hardware devices (printers, hard
drives, keyboards).
• Uses device drivers to enable software to interact with
hardware.
• File System Management
• Handles reading, writing, and organizing files.
• Ensures security and access control to files.
Kernel functions (cont…)
• Security and Access Control
• Implements user permissions and authentication.
• Prevents unauthorized access to system resources.
Types of Kernel
• Types of Kernels
• There are different types of kernels, each with its own
design philosophy.
• 🔸 Monolithic Kernel
• The entire OS runs as a single large program in kernel
space.
• All services (memory, process, file management) run
inside the kernel.
• Fast but less secure, as a bug can crash the whole
system.
• Example OS: Linux, Unix
Microkernel
• Only essential services run in the kernel, and others run
in user space.
• More secure but slower due to communication
overhead.
• Example OS: QNX, Minix
Hybrid Kernel
• A mix of monolithic and microkernel approaches.
• Some services run in the kernel for speed, while others
run in user space for security.
• Example OS: Windows, macOS
Exo Kernel
• The exokernel is a kernel architecture that directly
exposes hardware resources to applications, allowing
them to manage hardware without relying on kernel
abstractions.
• Exo Kernel can be used to create a more secure and
efficient web server. The web server software could run
as a separate process, isolated from the rest of the
system.
• Developed at the University of California, Berkeley.
• Example OS: Experimental research OS
Nano Kernel
• 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.
• 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.