View previous topic :: View next topic |
Author |
Message |
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6095 Location: Dallas area
|
Posted: Mon Mar 25, 2013 12:26 pm Post subject: |
|
|
There was an effort to push minix into the corporate/commercial world, but it didn't go anywhere.
There are lots of products, not just kernels, that come out of the academic world, but don't make
it in the commercial arena. Not because they're not technically better but for more pragmatic reasons.
I think micro-kernels were ahead of what the hardware of the time could offer, and now there's not
much interest in them. Even hurd hasn't really gone anywhere in the 20+ years of it being in development.
Expectations were high and bugs/missing features keep biting them and still do to this day.
When I said the future would decide, I meant that future usage would decide which was the better path
regardless of technical superiority. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
Navar Guru
Joined: 20 Aug 2012 Posts: 353
|
Posted: Tue Mar 26, 2013 3:38 pm Post subject: |
|
|
EDIT: as a clarification, this response was regarding only mv/steveL disagreeing prior in the thread regarding same.
Anyone who wants to attempt a true perspective (including some major names behind Uni(c/x)) and some at the time unknowns can completely peruse http://www.cs.vu.nl/~ast/reliable-os/. Most of the people involved who are not chest beating had nothing they needed to prove other than adding insight. My points therein are reiterated and they conflict with both given assertions. There are microkernels still in substantial use. The intent with MINIX was never intended to be anything past a teaching tool. And as Linus pointed out, the microkernel concept fits more with the Unix design philosophy.
Summary: yes, the original debate was a complexity issue. The performance arguments regarding IPC, process(context) switching, etc. came later. Now that we've got the context down . Time, effort and the challenge of starting the linux kernel in a monolithic fashion was far and away easier than as microkernel. For those of us who actually built very early linux kernels, it was TINY compared to today's MONSTER. This was Linus' stance stated and most agree on that. Additionally, other very respected names pointed out how challenging it would be over time to manage changes to it and the history of managing the kernel over time hasn't been exactly an ongoing walk in the park. Linus has admitted and not argued against that either. But I don't need to keep repeating this and arguing with you, the major players involved already have past and present. Now you can argue about the aspect of complexity going either way on this issue (to which I pointed out previously I do not care), but I was correct in how I remembered the heart of the debate from when I originally read it being that I'm from the same age group as Linus.
I guess what I should have replaced it with: you can drink beer or hard liquor, the end result is the same. The difference coming down to how much of a pissing contest you prefer. _________________ Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Last edited by Navar on Mon Apr 01, 2013 4:46 am; edited 1 time in total |
|
Back to top |
|
|
depontius Advocate
Joined: 05 May 2004 Posts: 3509
|
Posted: Tue Mar 26, 2013 4:44 pm Post subject: |
|
|
Something about the microkernel debate that has always bothered me, as a hardware designer...
One of the biggest dings against the microkernel is the time to change rings. The mere fact that I'm using the term "rings" means that we're talking about x86, more specifically i80286+, where rings were introduced.
First off, we're talking about a design where there were provisions for 4 levels of ring - with the kernel in Ring0 and userspace has typically been in Ring3, though early on in some version of Windows userspace was in Ring1. It's a more expansive capability than has ever been fully exploited. - in fact it's only ever been half-used, though with a microkernel I can see some good at having the kernel at Ring0, device drivers at Ring1, and userspace at some outer ring. Perhaps userspace should still be at Ring3, and hypervisors should be at Ring2.
Second, in all of this academic time, and where even the transition between Ring0 and Ring3 is significant, why hasn't anyone worked on the hardware to make it cheaper, beyond the "SysEnter" instruction? Seems to me that a bit of hardware work, and suddenly microkernels could become much more competitive.
Once upon a time, IBM had a series of machines based on the "UC Architecture", which had context levels that were roughly equivalent to rings. Each context level had its own set of registers - essentially its own dedicated state. Context switches were blindingly fast - no need to push/pop the stack, interrupting to a new context just switched to a different set of registers - change one pointer, and you were ready to go. _________________ .sigs waste space and bandwidth |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6095 Location: Dallas area
|
Posted: Tue Mar 26, 2013 6:53 pm Post subject: |
|
|
Navar wrote: | Anyone who wants to attempt a true perspective (including some major names behind Uni(c/x)) and some at the time unknowns can completely peruse http://www.cs.vu.nl/~ast/reliable-os/. Most of the people involved who are not chest beating had nothing they needed to prove other than adding insight. My points therein are reiterated and they conflict with both given assertions. There are microkernels still in substantial use. The intent with MINIX was never intended to be anything past a teaching tool. And as Linus pointed out, the microkernel concept fits more with the Unix design philosophy. |
I was simply giving my views on things.
I'm well aware of the debate between Linus and Andy. Hell I was using minix
at the time of Linus's announcement about what we now call the linix kernel.
I've also got several books on my shelf, included Tanenbaum's Operating Systems,
Holub's Compile Design in C, Stevens Network Programming, The Unix Vi manual, etc
so I'm not illiterate in subjects of the past.
I personally think the biggest drawback to widespread minix usage at the time was that
Tanenbaum let Prentice-Hall get involved in the copyrights. (Been a while since I looked at the source, but I think that's right)
Edit: change word in red _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Last edited by Anon-E-moose on Wed Mar 27, 2013 10:48 am; edited 1 time in total |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6095 Location: Dallas area
|
Posted: Tue Mar 26, 2013 6:56 pm Post subject: |
|
|
depontius wrote: | Something about the microkernel debate that has always bothered me, as a hardware designer...
One of the biggest dings against the microkernel is the time to change rings. The mere fact that I'm using the term "rings" means that we're talking about x86, more specifically i80286+, where rings were introduced. |
Now with super fast computers (compared to the the 386, etc) switch time would be much less meaningful. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
depontius Advocate
Joined: 05 May 2004 Posts: 3509
|
Posted: Tue Mar 26, 2013 7:01 pm Post subject: |
|
|
Anon-E-moose wrote: | depontius wrote: | Something about the microkernel debate that has always bothered me, as a hardware designer...
One of the biggest dings against the microkernel is the time to change rings. The mere fact that I'm using the term "rings" means that we're talking about x86, more specifically i80286+, where rings were introduced. |
Now with super fast computers (compared to the the 386, etc) switch time would be much less meaningful. |
The faster the computer, the harder the problems you throw at it. The context switch time between kernel and user space never shrinks in significance, unless there's something done (like SysEnter) to actually make it smaller. _________________ .sigs waste space and bandwidth |
|
Back to top |
|
|
grey_dot Tux's lil' helper
Joined: 15 Jul 2012 Posts: 142
|
Posted: Tue Mar 26, 2013 7:15 pm Post subject: |
|
|
depontius wrote: | Anon-E-moose wrote: | depontius wrote: | Something about the microkernel debate that has always bothered me, as a hardware designer...
One of the biggest dings against the microkernel is the time to change rings. The mere fact that I'm using the term "rings" means that we're talking about x86, more specifically i80286+, where rings were introduced. |
Now with super fast computers (compared to the the 386, etc) switch time would be much less meaningful. |
The faster the computer, the harder the problems you throw at it. The context switch time between kernel and user space never shrinks in significance, unless there's something done (like SysEnter) to actually make it smaller. |
Oh, come on.. Most of the modern software is already slow as hell. Take firefox as example. Or KDE. Or GNOME. Or pretty anything else called userfriendly. Context switch is not that significant. Otherwise my Blackberry running QNX (yes, microkernel-based) wouldn't be faster than my friend's HTC. |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6095 Location: Dallas area
|
Posted: Tue Mar 26, 2013 7:48 pm Post subject: |
|
|
Just to clarify my view on micro-kernels.
Micro-kernels have their use, just as any software does.
They're just not the be and end all of kernel design.
They do hold down, what I call niche markets, embedded systems, some phones, as grey_dot mentioned, etc.
And they're even used in OS-X, though I don't know what the real world repercussions are good or bad in this case as I don't follow OS-X. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
depontius Advocate
Joined: 05 May 2004 Posts: 3509
|
Posted: Tue Mar 26, 2013 7:51 pm Post subject: |
|
|
grey_dot wrote: | depontius wrote: | Anon-E-moose wrote: | depontius wrote: | Something about the microkernel debate that has always bothered me, as a hardware designer...
One of the biggest dings against the microkernel is the time to change rings. The mere fact that I'm using the term "rings" means that we're talking about x86, more specifically i80286+, where rings were introduced. |
Now with super fast computers (compared to the the 386, etc) switch time would be much less meaningful. |
The faster the computer, the harder the problems you throw at it. The context switch time between kernel and user space never shrinks in significance, unless there's something done (like SysEnter) to actually make it smaller. |
Oh, come on.. Most of the modern software is already slow as hell. Take firefox as example. Or KDE. Or GNOME. Or pretty anything else called userfriendly. Context switch is not that significant. Otherwise my Blackberry running QNX (yes, microkernel-based) wouldn't be faster than my friend's HTC. |
Most computers spend most of their time completely idle, waiting for a person to press a key or move the mouse. Plenty of software is heavy on the eye-candy and user friendliness. Cases like that make up the numeric majority, and are basically as you say. But that's not the universe, and some of those minority jobs, as on servers, can affect us all if their performance isn't top-notch. I run silicon CAD, and there are other cases where performance tuning is essential, along with the servers. Small minority, but by no means insignificant. _________________ .sigs waste space and bandwidth |
|
Back to top |
|
|
Navar Guru
Joined: 20 Aug 2012 Posts: 353
|
Posted: Wed Mar 27, 2013 4:16 pm Post subject: |
|
|
Oof. I really caused an unintended mess here. ModeratorA: Didn't we just split that discussion off already? ModeratorB: Indeed. Can we just shoot him?
My prior response was just my last regarding the disagreements in my mention of from mv and SteveL.
To get this thing back on the rails, it was another lively discussion about systemd. _________________ Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|