Sunday, March 6, 2011

How are Linux Kernels Numbered?

As mentioned in my earlier blog of "What is a Kernel," a kernel is the central component that works to link the user applications with the processing data found at the hardware platform.  In essence, it is the very core of the operating system.  With so many ideas, fixes, improvement, etc to be made, Linux creates and distributes new versions based on a particular numbering system.
First though, a little history on how Linux was numbered before.  The initial Linux kernels had a simple numbering system.  The first kernel released in 1991 was given the number 0.01.  The next month was followed with a kernel with 0.02.  It was not until 1994 that the current version number system was implemented with a kernel of 1.0.

The kernel versioning system of today is both interesting and unique.  It follows a four number system such as W - X – Y – Z.  The W is the most important number when looking at the version of a Linux kernel.  The W shows the version of the kernel.  As of yet, there have been only 2 series kernels; the first 1.0 kernel mentioned above and also the 2.0 available in 1996. 
The X value shows you two things, first the number of release within the series (X) showing a major revision of the kernel version and second, it's status.  If the X value is even, then the kernel is stable.  If the X value is odd, the kernel is still in its development stage and may still contain bugs.  With this, when the two latest kernels are available, one (the even numbered one) will have already been tested and only contain the necessary drivers.  The second kernel available (the odd numbered on) will have all of the current ideas of the time and allow for further testing to eventually make it stable.  With the Linux 2.6.x series though, new development now takes place in the same revision number.

The Y value, the third number of Linux kernel's versioning system, is the minor number which shows the user progression with the series.   It indicates the minor revision of the kernel and is changed to reflect when new features or drivers are added.  The Z value, the final number in the versioning system represents corrections within the Linux kernel like errors, bug fixes and security patches.  You may even see letters following the numbers.  These letters refer to a release candidate.  If you see these letters following the numbers, it generally means it is a non-official release.  Often the letters represent the individual responsible for that particular release.

I find that the advantage of using the Linux kernel's versioning system is that as a user, you can find what version best suits your particular needs.  You may not need the latest and greatest that there is too offer.  You also may want to know whether or not you are using a stable version as opposed to a version still within its testing phases.  I believe the numbering system is pretty straightforward and users will recognize, with perhaps a little research, what version will work for them specifically.
As a side note, if you are curious as to what version or release of the kernel is being used on your particular operating system, you can use one of several commands.  One of the easiest commands is to use the uname command followed with the –r option.  You will get more detailed information about your system's hardware and software.  The uname shows system information and the –r will show the kernel release.  For my system, when I type in uname –r, I get 2.6.24.  I have version 2 with a major revision release of 6 and minor revision of 24.

No comments:

Post a Comment