Kernal services -
The services provided by the Kernel are as follows -
1. Controlling the execution of Processes by allowing their creation, termination or suspension, and communication.
2. Scheduling processes fairly for execution on the CPU, Processes share the CPU in a time-shared manner - The CPU executes a process, the kernel suspends it when its time quantum elapses, and the kernel schedules another process to execute. The kernel later reschedules the suspended process.
3. Allocating main Memory for an executing process. The kernel allows processes to share portions of their address space under certain conditions, but protects the private address space of a process from outside tempering. If the system runs low on free memory, the kernel frees memory by writing a process temporarily to secondary memory, called a swap device. If the kernel writes entire processes to a swap device, the implementation of the UNIX system is called a swapping system. If it writes pages of memory to a swap device, it is called a paging system.
4. Allocating secondary memory for efficient storage and retrieval of user data. This service constitutes the file system. The kernel allocates secondary storage for user files, reclaims unused storage, structures the file system in a well understood manner, and protects user files from illegal access.
5. Allowing processes controlled access to peripheral devices such as terminals, tape drives, disk drives, and network devices.