Friday, June 26, 2009

The Kernel

The kernel in computer system is the central component of the operating system. The kernel has several vital functions in computing. Its responsibilities include managing the system's resources such as the computer hardware and software. The kernel is basically used to hold applications that are not user friendly. It acts as the media of communication between the system hardware and software. In a typical computing architecture the operating system and the application software rest on the kernel. Below the kernel are the system assembles, firmware and then the hardware.

As a basic component of an operating system, a kernel provides the lowest-level abstraction layer for the resources especially memory, processors and I/O devices that application software must control to perform its function. It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls

Kernel development is considered one of the most complex and difficult tasks in programming. Its central position in an operating system implies the necessity for good performance, which defines the kernel as a critical piece of software and makes its correct design and implementation difficult. For various reasons, a kernel might not even be able to use the abstraction mechanisms it provides to other software. Such reasons include memory management concerns (for example, a user-mode function might rely on memory being subject to demand paging, but as the kernel itself provides that facility it cannot use it, because then it might not remain in memory to provide that facility) and lack of reentrancy, thus making its development even more difficult for software engineers

No comments:

Post a Comment