LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Blogs > Kenny the one-teen comittee to stamp out Proprietary $uckware
User Name
Password

Notices


I decided to post a little introduction to myself here: Ask me who I was last March, and I would have had WinBloze 7 Beta on my main computer and would have been part of Micro$uck's test project for WinBloze 7 and would have been excited about it. However, that changed as soon as my network adapter changed and the new one worked with Linux. As soon as I tested the new adapter with Mint (I'd say about a year ago, in July 2009) I began to really value Linux for what it is.

However, I knew about Linux long before that. I started with gOS 2, which was my first distro. I had tried it back in about February 2008. I first learned about Linux back in mid-2007, from an article in PCMag that spanned several pages. I had quite a hard time back then, and Ubuntu Hardy was no different than gOS.

So then what took me so long from knowing about Linux to finally becoming an active user? My house was nothing but Wi-Fi. My mother set a secure wireless network up back then, and I couldn't connect to it because my adapter (Linksys WUSB54GSC) wasn't recognized by Linux. I had the patience to continue.

Then, in June 2008, my family got hit by the economic collapse here in the USA: The mortgage on my old house doubled and my family had to leave because of the rate increase. So, we were stuck in a hotel room until my family and I could end up in a new house. That Christmas, I wanted a netbook, and got my wish (the one I'm typing on, an Acer Aspire One AOA110-1545). It came with Linux preinstalled, and I liked it all around.

From then to June 2009, I still had WinBloze on my desktop, as Linux still didn't work with my wireless network adapter. Then, in June 2009 as I said, I got a new wireless network adapter, and in July decided to test it with Linux Mint 7. It worked, even from the Live CD! Now,

Rate this Entry

The perfect FOSS kernel: Hybrid Linux and GNU Hurd

Posted 09-25-2010 at 05:34 PM by Kenny_Strawn

The Linux/HURD debate has been going on since the dawn of the GNU project and there are benefits and downsides to both projects.

Advantages to Linux:
  • Is very secure and has grown very much since it was first released
  • Is very popular and is free and open source software
  • Has grown (thanks in part to Ubuntu and Mint) extremely easy to use

Disadvantages to Linux:
  • Monolithic kernel design means that the entire kernel must be rebuilt to add or remove features
  • Even though the kernel supports loadable modules, they have to be built along with the kernel
  • Because of the way the kernel is designed, a GUI built into it is near impossible without having to completely rewrite the kernel

Advantages to GNU Hurd:
  • Has a microkernel design, meaning that the kernel is in the form of a directory, not a single binary file
  • Because of this design, you don't have to recompile the kernel to include something new

Disadvantages to GNU Hurd:
  • Is extremely old-school: Most of the projects that were written for Linux never got ported to Hurd
  • Hurd and Linux programs/libraries are incompatible with each other

Now that we have the basics down, here's the ultimate FOSS kernel: That which ports the Linux Kernel API over to Hurd in such a way as to allow support for other executable file formats (Mach O for example, which would allow compatibility with Mac OS X programs) and also ensure that the kernel can be modified without having to be recompiled all at once.

This would be incredible: X, for instance, could be run in kernel space without having to be compiled/linked into the kernel! This would also improve boot time: Init could be run in kernel space instead of userspace, essentially removing the need for the kernel to run before the startup process. HAL could also be located in the kernel directory, essentially being able to autodetect all hardware without much difficulty.

How do you guys think of such a kernel?
Posted in Uncategorized
Views 104890 Comments 14
« Prev     Main     Next »
Total Comments 14

Comments

  1. Old Comment
    I could theorise all day about the ideal kernel, but what would be the point? What matters is what people are actually planning and doing. Also, I don't think the kernel you propose would be a hybrid, it would just be the Mach microkernel with the X protocol, etc. implemented in the Hurd.
    Posted 09-25-2010 at 06:21 PM by 2ck 2ck is offline
  2. Old Comment
    No, I actually am thinking of what would happen if someone ported the Linux kernel source code (i.e. block device functions, hardware support API, etc.) over to the Hurd and changed its structure to feel more like Linux. Essentially, you could then also port Linux device drivers over to the Hurd, and, because it is now a hybrid kernel (and in the form of a directory with many programs running at kernel level, not just as a single standalone executable), run the entire X server (and desktop environment, once the system boots) in kernel space.
    Posted 09-25-2010 at 08:01 PM by Kenny_Strawn Kenny_Strawn is offline
  3. Old Comment
    Quote:
    run the entire X server (and desktop environment, once the system boots) in kernel space.
    Geesh, I don't likes the sound of that...if the X server crashed, that would also make the kernel panic, would it not? Isn't this already what Windows sort of does?
    Posted 09-29-2010 at 04:14 AM by MrCode MrCode is offline
  4. Old Comment
    What's the point of the GUI being in kernel space other than no hope of recovery when it fails?

    I think that the user-space GUI is a huge, huge plus for Linux.
    Posted 09-29-2010 at 07:57 AM by MTK358 MTK358 is offline
  5. Old Comment
    Of course, you could also port the GTK+ and X11 development libraries to Linux kernel loadable modules as well.
    Posted 09-29-2010 at 06:03 PM by Kenny_Strawn Kenny_Strawn is offline
  6. Old Comment
    How does that answer our questions?
    Posted 09-29-2010 at 07:11 PM by MTK358 MTK358 is offline
  7. Old Comment
    Yeah, I also think the userspace GUI is definitely a very good Linux recovery feature... when your X server is improperly configured, for instance, you have the option to go into the CLI and run "sudo Xorg -configure" followed by a copy of the file the command creates to /etc/X11/xorg.conf. In a kernel space GUI, you wouldn't have this option; the kernel would just panic. I see your problems; although Mac OS X also has a GUI in kernel space and it still doesn't crash nearly as often as WinBloze's.
    Posted 09-30-2010 at 10:06 PM by Kenny_Strawn Kenny_Strawn is offline
  8. Old Comment
    Yes, if it's stable then maybe it's OK, but I just see it as making things more complicated than they should be just because you can.
    Posted 10-01-2010 at 08:13 AM by MTK358 MTK358 is offline
  9. Old Comment
    Quote:
    Monolithic kernel design means that the entire kernel must be rebuilt to add or remove features
    Even though the kernel supports loadable modules, they have to be built along with the kernel
    ... and most distributions already do this for you.

    Quote:
    Because of the way the kernel is designed, a GUI built into it is near impossible without having to completely rewrite the kernel
    It's the other way around.
    Here's an example using the framebuffer:
    http://home.comcast.net/~fbui/ (there also exist some google-projects to keep it alive)
    Just don't expect to see this the main Linux branch (the one from Linus) as it would add extra bloat, work and bugs.
    One advantage would be memory allocation.

    Quote:
    Most of the projects that were written for Linux never got ported to Hurd
    +75% of all debian packages (sid) already work on GNU/Hurd.

    Quote:
    Hurd and Linux programs/libraries are incompatible with each other
    They're just as (in)compatible as Linux on different architectures.

    Quote:
    That which ports the Linux Kernel API over to Hurd
    Since there's no stable API for Linux, Debian GNU/Hurd is still using Linux 2.2 modules for that.

    Do give it a try if you're interested.

    Wiki:
    http://www.gnu.org/software/hurd/hurd.html

    PS: A possible replacement for the actual kernel (GNU Mach) would be Viengoos (L4 and others only added more problems).
    http://www.gnu.org/software/hurd/mic.../viengoos.html
    Posted 10-02-2010 at 02:06 PM by jens jens is offline
    Updated 10-02-2010 at 02:47 PM by jens
  10. Old Comment
    Quote:
    Originally Posted by jens View Comment

    +75% of all debian packages (sid) already work on GNU/Hurd.
    And any X-related packages aren't them.

    Quote:
    Originally Posted by jens View Comment
    No less (or more) than Linux on different architectures.
    Very true, and the Hurd is a microkernel, which is much better than the monolithic Linux design. However, more work is still to be done, and Network Manager is a must for me.

    Quote:
    Originally Posted by jens View Comment
    Do give it a try if you're intrested.
    I'm more interested in forking the Hurd into a hybrid kernel using development files from both the Hurd and Linux APIs.
    Posted 10-02-2010 at 02:21 PM by Kenny_Strawn Kenny_Strawn is offline
    Updated 10-02-2010 at 02:22 PM by Kenny_Strawn
  11. Old Comment
    Quote:
    Originally Posted by Kenny_Strawn View Comment
    And any X-related packages aren't them.
    .
    They are
    I'm using Window Maker and parts of GNOME on my GNU box.
    Posted 10-02-2010 at 03:01 PM by jens jens is offline
  12. Old Comment
    Quote:
    Originally Posted by Kenny_Strawn View Comment
    I'm more interested in forking the Hurd into a hybrid kernel using development files from both the Hurd and Linux APIs.
    I could be wrong (I only hack the hurd for fun) but that's rather difficult without a stable Linux API (hence the old Linux modules in GNU).

    PS: sorry for the slow edits.
    Posted 10-02-2010 at 03:53 PM by jens jens is offline
    Updated 10-02-2010 at 06:51 PM by jens
  13. Old Comment
    There is 'minix' - AFAIR FOSS, and there is very highly regarded QNX - now open source, though not free.

    Both are micro-kernels.

    QNX is very old in a good sense of the word, and is used for critical missions like nuclear reactor control.
    Posted 10-04-2010 at 03:17 PM by Sergei Steshenko Sergei Steshenko is offline
  14. Old Comment
    Yes, but is there any open source hybrid kernels out there? There's Darwin, but it's crippleware as it is under Apple's extreme vendor lock. There is a huge difference between a microkernel and a hybrid kernel, you know!
    Posted 10-06-2010 at 05:32 PM by Kenny_Strawn Kenny_Strawn is offline
 

  



All times are GMT -5. The time now is 04:42 PM.

Main Menu
Advertisement
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration