The Big Fight
Monday, May 08, 2006
The Microkernels vs Monolithic kernel debate is back in news, thanks to a paper published by Andrew Tannenbaum. AST after having missed out on the Free Open Source Software movement is stating the case once again for Microkernels. There is a lot of history behind it which going back to inception of Linux. Linux was born because AST had refused to grant the rights of extending Minix and distribute it free. Subsequent to that there was flamewar between Linus and AST. AST has known to have been a backer of microkernels and this seems to be his latest pitch.
The paper describes the concept of microkernels very nicely. Microkernels are a an old concept which never took off due to performance concerns. But with hardware becoming more faster and concerns for security and maintainablity increasing, microkernels are getting a relook. The concept behind them is very simple. The kernel just handles the basic functions of process management, I/O and IPC. All the other functions are implemented as seperate processes. Since the drivers cannot therefore directly access the hardware, it needs to request the kernel for access. This adds an addtional overhead. The article also discusses other approaches; notably virtualization.
Recently there has been a lot of concerns about the size of the linux kernel gradually increasing with each release because of the need to support all types of hardware, even the old and outdated ones. Even Vista has been plauged with the same problem. And interestingly Slashdot featured an article discussing it two days ago where someone suggested the use of microkernels. Now we have this promotion by none other than AST. The timing is definately right on the mark.
But the best thing to come out of if, which everybody missed somehow, is that Minix 3 is now available on Free BSD License! That was exactly the thing I was looking for.
PS: AST has posted his views on the discussion on Slashdot on the usnet group.
Via: Slashdot. Dont miss out on the comments!
Tags: Microkernel Minix Linux Kernel OS AST Linus OSS OpenSource Virtualization
The paper describes the concept of microkernels very nicely. Microkernels are a an old concept which never took off due to performance concerns. But with hardware becoming more faster and concerns for security and maintainablity increasing, microkernels are getting a relook. The concept behind them is very simple. The kernel just handles the basic functions of process management, I/O and IPC. All the other functions are implemented as seperate processes. Since the drivers cannot therefore directly access the hardware, it needs to request the kernel for access. This adds an addtional overhead. The article also discusses other approaches; notably virtualization.
Recently there has been a lot of concerns about the size of the linux kernel gradually increasing with each release because of the need to support all types of hardware, even the old and outdated ones. Even Vista has been plauged with the same problem. And interestingly Slashdot featured an article discussing it two days ago where someone suggested the use of microkernels. Now we have this promotion by none other than AST. The timing is definately right on the mark.
But the best thing to come out of if, which everybody missed somehow, is that Minix 3 is now available on Free BSD License! That was exactly the thing I was looking for.
PS: AST has posted his views on the discussion on Slashdot on the usnet group.
Via: Slashdot. Dont miss out on the comments!
Tags: Microkernel Minix Linux Kernel OS AST Linus OSS OpenSource Virtualization