</font><blockquote><font size="1" face="Geneva, Verdana, Arial, sans-serif">quote:</font><hr /><font size="1" face="Geneva, Verdana, Arial, sans-serif">Originally posted by Northform:
<strong>The Linux kernel is completely unaware of threads.</strong></font><hr /></blockquote><font size="1" face="Geneva, Verdana, Arial, sans-serif">How so? (please be specific) Are you using a different definition of threads?
<strong>The XWindows server and many of the upper level tools do support them, but that only goes so far.</strong>
How far is far enough? How much further should they go?
<strong>Just because an OS supports MP doesn't mean that it does it well (Mac OS 8 supports MP). It isn't the availability of the second processor that is key, but the ammount that the second processor gets used (will you see a 2% increase from the second processor...50%?). That's the important part why most Be users had MP machines.</strong>
Yes that may be relevant for Be users... but that OS is all but dead. I typically see speedups of 50-90% with dual CPUs on a Linux box with SMP kernel.
<strong>If you read the debates on comp.os.minix between Andrew Tanenbaum and Linus Torvalds you will see what an advantage the Mach microkernel architecture is over the Linux monolithic architecture in terms of scaling to multiple processors (any you might loose all respect for the linux kernel in the process

).</strong>
I have read that debate... several times. Where does it mention anything about Linux scaling to multiple CPUs 10 years ago?
<strong>More seriously Linux was never designed to be used in the way that many people are now envisioning it being used.</strong>
I would certainly agree that Linux is NOW being used in many ways that Linus did NOT "envision" at the time the LT/AT debates took place. Currently people are redesigning as much as they need to to get it work the way they want it to work.
That is how it was designed. Whether they can make it work well in whatever role they "envision" is up to them.
<strong>Linux is good at what it was designed for and it still competes reasonably against Windows in other segments simply because of the inadaquacy and outdated nature of Windows coupled with fervent free software developer support. I wish that the free software community would put more hours into development of the HURD kernel since it is vastly superior and changes can be made easier because of its object oriented nature instead of tring to extend an inferior yet adopted architecture.</strong>
That remains to be seen. I would be very interested in a HURD system... perhaps we shall see it this summer. (Perhaps not).
<strong>I believe that the debates happened in 1992.</strong>
Yep... and I am supposed to take that as some authoritative statement on the way things are NOW?
<strong>On a related note currently OS X doesn't have the best MP support, but that is not a fault of Apple's (at least not entirely). Many applications (carbon ones) do not support threading (yet) because the developer tried to get it out the door as quickly as possible. That doesn't mean that carbon doesn't support threading just that many devs haven't done some of the work yet. The Mach kernel is still able to work a little magic with these apps, but X can do much better with a little help from devs.</strong>
(Shrug) Dissing Linux based on a debate made 10 years ago will not fix whatever problems OS X or its developers are having. There was a time, about 4-5 years ago, when Apple was quite interested in Linux. SJ tried to interest LT in what they were doing... LT wasn't interested.
<strong>All Cocoa apps are automaticly threaded properly.</strong>
Then why does performance suck so bad? I have heard a lot about the superiority of this, that and the other thing in Mac OS X... for over 2 years now... I have yet to see it work any better (usually a lot worse) than Linux does on the exact same hardware.
Perhaps you should read up on some more current information:
<a href="http://jungla.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html" target="_blank">http://jungla.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html</a>
(as a starting point)
<a href="http://www-106.ibm.com/developerworks/linux/library/l-rt7/?t=gr,Redhat=TheadsMgt" target="_blank">http://www-106.ibm.com/developerworks/linux/library/l-rt7/?t=gr,Redhat=TheadsMgt</a>
(for some specific examples)
<a href="http://www.scs.ch/~frey/linux/kernelthreads.html" target="_blank">http://www.scs.ch/~frey/linux/kernelthreads.html</a>
(for more details)
<a href="http://www.tldp.org/HOWTO/Parallel-Processing-HOWTO.html" target="_blank">http://www.tldp.org/HOWTO/Parallel-Processing-HOWTO.html</a>
(dated but still useful)
<a href="http://www.tldp.org/HOWTO/SMP-HOWTO.html" target="_blank">http://www.tldp.org/HOWTO/SMP-HOWTO.html</a>
(a little more recent)
<a href="http://www.tldp.org/FAQ/Threads-FAQ/index.html" target="_blank">http://www.tldp.org/FAQ/Threads-FAQ/index.html</a>
(just in case your questions have already been answered)