Unit 1
Unit 1
It is responsible for managing the system resources and the communication among the hardware
and other system services.
Kernel acts as the abstraction layer between system resources and user applications
For a general purpose OS, the kernel contains different services like
Process Management
Protection
Time management
Interrupt Handling
The program code corresponding to the kernel applications/services are kept in a contiguous area
(OS dependent) of primary (working) memory and is protected from the un-authorized access by
user programs/applications
The memory space at which the kernel code is located is known as ‘Kernel Space’.
All user applications are loaded to a specific area of primary memory and this memory area is
referred as ‘User Space’
The partitioning of memory into kernel and user space is purely Operating System dependent
An operating system with virtual memory support, loads the user applications into its
corresponding virtual memory space with demand paging technique
Most of the operating systems keep the kernel application code in main memory and it is not
swapped out into the secondary memory.
Monolithic Kernel:
The tight internal integration of kernel modules in monolithic kernel architecture allows the
effective utilization of the low-level features of the underlying system
The major drawback of monolithic kernel is that any error or failure in any one of the kernel
modules leads to the crashing of the entire kernel application
1. Robustness: If a problem is encountered in any services in server can reconfigured and re-started
without the need for re-starting the entireOS.
2. Configurability: Any services , which run as ‘server’ application can be changed without need to
restart the whole system.
Multitasking:
Multitasking refers to the ability of an operating system to hold multiple processes in memory and
switch the processor (CPU) from executing one process to another process
Context switching refers to the switching of execution context from task to other
When a task/process switching happens, the current context of execution should be saved to
(Context saving) retrieve it at a later point of time when the CPU executes the process, which is
interrupted currently due to execution switching
During context switching, the context of the task to be executed is retrieved from the saved context
list. This is known as Context retrieval