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,
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,
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:
Disadvantages to Linux:
Advantages to GNU Hurd:
Disadvantages to GNU Hurd:
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?
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?
Total Comments 14
Comments
-
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 -
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 -
Quote:run the entire X server (and desktop environment, once the system boots) in kernel space.
Posted 09-29-2010 at 04:14 AM by MrCode -
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 -
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 -
How does that answer our questions?
Posted 09-29-2010 at 07:11 PM by MTK358 -
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 -
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 -
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
Quote:Because of the way the kernel is designed, a GUI built into it is near impossible without having to completely rewrite the kernel
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
Quote:Hurd and Linux programs/libraries are incompatible with each other
Quote:That which ports the Linux Kernel API over to Hurd
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.htmlPosted 10-02-2010 at 02:06 PM by jens
Updated 10-02-2010 at 02:47 PM by jens -
And any X-related packages aren't them.
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.
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
Updated 10-02-2010 at 02:22 PM by Kenny_Strawn -
Posted 10-02-2010 at 03:01 PM by jens -
Quote:
PS: sorry for the slow edits.Posted 10-02-2010 at 03:53 PM by jens
Updated 10-02-2010 at 06:51 PM by jens -
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 -
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