Understanding About Kernel - Kernel is a software company that is a major part of an operating system. Their duties to serve a variety of application programs to access the computer hardware securely.
Because of limited access to the hardware, whereas there is more than one program that should be served at the same time, the kernel is also responsible for managing when and how long a program can use one part of the hardware. It is called as multiplexing.
Access to the hardware directly is a complex issue, therefore, the kernel usually implements a set of hardware abstraction. Abstractions such a way to hide the complexity, and allowing access to the hardware becomes simple and uniform. Abstraction so that ultimately facilitate the work of programmers.
To run a computer we do not have to use the operating system kernel. A program may directly be loaded and executed on the machine 'naked' computers, namely when the programmer wants to do his job without the help of the hardware abstraction or operating system support. This technique was used by the early generation computers, so if we want to move from one program to another, we need to reset and reload programs.
There are four categories kernel:
1. Monolithic kernels. Kernel providing hardware abstraction of the rich and powerful.
2. microkernel. Kernel that provide only a small set of simple hardware abstractions and use applications called servers to provide other functions.
3. Hybrid (modified microkernel). Kernel-like microkernel, but it also includes some extra code in the kernel so that it becomes faster.
4. exokernel. Kernel does not provide hardware abstraction at all, but it provides a set of libraries that provide functions to access the hardware directly or almost directly.
Of the four categories mentioned above kernel, the Linux kernel includes a category monolithic kernel. Different Linux kernel with Linux systems. The Linux kernel is an original software created by the Linux community, while the Linux system, which is known today, contains many components made or borrowed from other development projects.
The Linux kernel is the first published version of 12:01, on 14 March 1991. The only supported file system Minix file system. The first kernel was made under the terms of Minix (a small UNIX system developed by Andy Tanenbaum). However, the kernel is already implements the appropriate UNIX.
On March 14, 1994 released version 1.0, which is a milestone in the history of Linux. This version is the culmination of three years of rapid development of the Linux kernel. The biggest new feature is provided by the network. Version 1.0 is able to support standard networking protocols TCP / IP. Kernel 1.0 also has better file system without restrictions Minix file system. Some extra hardware support are also included in this release. Hardware support has evolved including floppy disks, CD-ROMs, sound cards, various mouse, and keyboard internationally. Support was also given to the loadable kernel module and dynamically unloadable.
One year later released kernel version 1.2. This kernel supports a variety of hardware wider. Developers have renewed networking stack to provide support for the IPX protocol, and make a more complete IP implementations by providing accounting functions and firewalling. Kernel 1.2 Linux kernel is the latest PC-only. Concentration is given on hardware support and multiply the complete implementation of the existing functions.