The Unix Kernel is the core of the Unix operating system. You can think of it as a small program that controls and manages all the computer hardware and software, as well as performing all functions the user requests.

The Kernel controls the computer itself, managing the hardware, memory and the programs running on the machine. The Kernel provides a set of simple commands that call other programs within the Kernel that allow the user to access the hardware safely and easilly with just a few keystrokes in most cases.

The Unix Kernel is designed to prevent software applications from accessing hardware devices directly, thereby eliminating the most common reason for computer crashes.

Unix systems prevent the user from accessing the kernel directly, and provides the user with a safe and comfortable interface to interact with the Kernel. This prevents the second most common reason for computers crashing.

KERNEL TYPES

There are two types of Kernels: AT&T kernels, and BSD kernels. AT&T developed the first kernel, and Berkeley (BSD) bought rights to the AT&T kernel software so that they could modify it for their own use. Since those early days, various derivatives of those two kernels have sprung up, but the kernels of Unix systems are usually derived from one or the other.

The original Unix Kernel was created to run on a PDP-11 mini-computer, a non-Intel based machine. This is the fundamental difference between the Unix and Linux Kernels. Linux was developed specifically for Intel based computers.

Sun Microsystems is the best known manufacturer of Unix based systems.

STATIC vs. DYNAMIC

Kernels can also be called static and dynamic. The difference between the terms is based on the difference between static and dynamic linking of software modules (called libraries) into the kernel. If the kernel was compiled for a specific hardware platform and cannot be changed, it is called a static kernel. If the Kernel has the ability to dynamically load modules so that it can 'adapt' to a platform, it's called a dynamic kernel.

Static kernels can be optimized for a given platform. Optimized static kernels are often more stable, require less RAM to run and less disk space for the software than would be true for a dynamic kernel. However, static kernels optimized for a specific hardware platform do not tolerate hardware failures very well. They simply cannot adapt. Static kernels must also be rebuilt en toto whenever software updates are released. The great power of a dynamic kernel is that it has a library of software on hand to load in order to cope with changing circumstances such as the replacement of a display adaptor or SCSI controller.

Most kernels in use today are usually some type of hybrid but the trend in the market is a move towards an increasingly dynamic software architecture.


Bookmark this page and SHARE:  

Search

Support InetDaemon.Com

Get Tutorials in your INBOX!

Free Training

Free Training