Friday, August 5, 2011

Linux Kernel

The Linux kernel consist of several important parts: process management, memory management, hardware management, device drivers, filesystem drivers, network management and various others bits and pieces. Below figure shows few of them:

Probably the most importand part of the kernel are memory and process management.Memory management takes care of assigning memory areas and swap space areas to processes, part of the kernel, and for the buffer cache. Process management creates processes, and implement multi-tasking by context switching the active process on the processor.

At the lowest level, the kernel contains a hardware device driver for each kind of hardware it supports. Since
the world is full of different kinds of hardware, the number of hardware device drivers is large. There are
often many otherwise similar pieces of hardware that differ in how they are controlled by software. The
similarities make it possible to have general classes of drivers that support similar operations; each member of
the class has the same interface to the rest of the kernel but differs in what it needs to do to implement them.
For example, all disk drivers look alike to the rest of the kernel, i.e., they all have operations like `initialize the
drive', `read sector N', and `write sector N'.

No comments:

Post a Comment