Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
systemd / udev Slugfest Number Elevendy-Eleven
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6095
Location: Dallas area

PostPosted: Mon Mar 25, 2013 12:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Tue Mar 26, 2013 3:38 pm    Post subject: Reply with quote

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 :P. 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
View user's profile Send private message
depontius
Advocate
Advocate


Joined: 05 May 2004
Posts: 3509

PostPosted: Tue Mar 26, 2013 4:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6095
Location: Dallas area

PostPosted: Tue Mar 26, 2013 6:53 pm    Post subject: Reply with quote

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 :oops:
_________________
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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6095
Location: Dallas area

PostPosted: Tue Mar 26, 2013 6:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
depontius
Advocate
Advocate


Joined: 05 May 2004
Posts: 3509

PostPosted: Tue Mar 26, 2013 7:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
grey_dot
Tux's lil' helper
Tux's lil' helper


Joined: 15 Jul 2012
Posts: 142

PostPosted: Tue Mar 26, 2013 7:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6095
Location: Dallas area

PostPosted: Tue Mar 26, 2013 7:48 pm    Post subject: Reply with quote

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
View user's profile Send private message
depontius
Advocate
Advocate


Joined: 05 May 2004
Posts: 3509

PostPosted: Tue Mar 26, 2013 7:51 pm    Post subject: Reply with quote

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
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Wed Mar 27, 2013 4:16 pm    Post subject: Reply with quote

Oof. I really caused an unintended mess here. :oops: 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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
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