Showing posts with label kernel. Show all posts
Showing posts with label kernel. Show all posts

Tuesday, June 17, 2008

Kernel comparison between Linux (2.6.20) versus Windows (Vista)

For those of us who are used to dual boot between Windows and Linux, at one point of time or the other, we might have wondered in what way these two diverse OS kernels differ from each other. Other than the well known fact that one is open source and the other is proprietary, I knew very little about the technical differences of Linux and Windows kernels.

Johnathon Weare aided by Paolo De Nictolis has put together an extensive list of the inherent technical differences in Linux and Windows Vista. The Linux kernel used for the comparison is the latest one - 2.6.20.

A few things which caught my eye in the list were the following:
  • Almost all the drivers for USB, Printing, FUSE and Graphics for Linux are in the user space where as in Windows they operate in the kernel space. And as Andy Tanenbaum put it, it is better if more and more drivers run in the user space than the kernel space as this makes the OS more reliable and secure. [Advantage Linux]
  • Both Linux and Windows kernels are developed using C and assembly language but apart from that Windows also has a significant percentage of C++ code. Not surprisingly, the kernel size of Linux is just over half of that of Windows.
  • Linux kernel boots on diverse hardware architecture (around 22) including some game stations such as Sony Playstation. Where as Windows support only a measly 3 architectures. [Advantage Linux]
  • Linux kernel has inbuilt support for the most variety of file systems.
Having gone through the list, I couldn't think of even one area where Windows kernel was ahead of Linux except perhaps the types of hard disks supported where Windows kernel had support for flash and hybrid hard drive which Linux kernel doesn't.

If you are interested, do read the full list of comparison between Linux and Windows Vista kernels.

Anatomy of the GNU/Linux kernel

M.Tim Jones an embedded software engineer and the author of several books has written a short but very informative article explaining the anatomy of the GNU/Linux kernel. He starts with a short history of Linux and moves on to giving a brief introduction of Linux kernel and its properties.

Then we get to know the major sub systems of Linux kernel such as the System call interface, Process Management, Virtual File System (VFS), Memory management, Network stack, Architecture and device drivers. Finally there is a short synopsis of the interesting features of Linux kernel.

I found it a very nice read especially with the accompanying images which makes it quite easy to visualize what is explained. After all don't they all say - a picture is worth a 1000 words ?

Read the article on the Anatomy of the Linux kernel at IBM Developerworks to know a little about the working of Linux.

Tuesday, June 3, 2008

Introducing the Interactive Linux kernel map

Linux kernel contains well over 5 million lines of code spread over 100's of files. And it should be a real chore to keep track of specific functions in the different files.

Enter the Interactive Linux kernel map. This map is unique in the sense that all the main functions which play an important part in the functioning of various aspects of Linux kernel are listed in a pictorial format. What is more, the picture can be moved around in the page using the mouse pointer and also zoomed to various levels just by moving the mouse wheel (if your mouse has one).

Navigation using the mouse is done as follows :
  • Wheel - zoOM
  • Drag - Move
  • Keywords, which are links which you can click and be taken to the respective pages.
Fig: Interactive Linux kernel map.

Let's say I want to find out more about the function sys_open(). I know that it belongs to the user space interfaces and in the storage section. Using the interactive Linux kernel map, I can easily navigate to the sys_open() link and voila! I am taken to another page which lists the name of all the files where this function can be found. Clicking on any link on this page takes one to the file and location in the file this function is used. Really cool. Even if you are not a programmer, you will find this tool really useful to troubleshoot or atleast pinpoint the problem if you have a better understanding of some of the functions used in the Linux kernel. SO without much ado, check out the Interactive Linux kernel map.

Saturday, May 31, 2008

Annotated version of the Linux Kernel summit 2007 group photo

The Linux kernel developer summit was held at Cambridge U.K for the seventh year. It was a two day event (September 4-6 2007) and brought together the core of the Kernel development team to plan the next phase of Linux Kernel development. Here is an annotated version of the Linux kernel summit 2007 group photo published by LWN.net. Get to know all the kernel developers who are responsible for developing the Linux kernel.


Linus Torvalds is standing in the middle row wearing a black t-shirt.

Read more

Myths, Lies and Truths about the Linux Kernel

It is really surprising how the Linux kernel has evolved from a mere hacker's project to a robust, stable and device friendly piece of software. At one time it was imperative that one fire up a terminal and tinker with the underlying code or at least type a series of commands to get even simple things working such as burning a CD or playing music and so on.

But now most Linux distributions have become so easy to install and use that even your grandmother could do these tasks with little help and without ever touching a terminal. The plug and play devices have become truly Plug and play and works flawlessly - be they USB devices, Ethernet cards, sound cards and what not. There is very good support for most hardware devices you find in the market baring a few. It also helped that many IT behemoths of the likes of IBM have taken active interest at Linux and have been pouring in money and developers in promoting and sustaining the project.

To underline the advances made by Linux kernel, here is a very good slide show which spells out the Myths, Lies and Truths about the Linux kernel, prepared by Greg Kroah of Novell SuSE Labs.