Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Mac OS X > Panther maybe without Mach Layer?

Panther maybe without Mach Layer?
Thread Tools
Senior User
Join Date: Jan 2001
Status: Offline
Reply With Quote
Jun 22, 2003, 08:57 AM
 
A German news site (http://www.macnews.de/index.php?_mcnpage=6331) posted an interview with Rob Landley (programmer, author, and co-worker of Eric S. Raymond author of "The Art of Unix Programming")

Landley says in the interview:

quote: Die nächsten Versionen von Mac OS X werden standardmäßig mit X11-Unterstützung kommen und den blöden Mach-Layer unter dem Kernel verlieren...

Which translates to:
The next versions of Mac OS X will by default be without the stupid Mach-Layer in the kernel and have X11 support built in..



So maybe Panther will have a more standard BSD kernel? And solve some of the threading and speed issues that way?
     
Mac Elite
Join Date: May 2001
Location: Earth
Status: Offline
Reply With Quote
Jun 22, 2003, 09:42 AM
 
I really don't think this can happen.... Mach is not a layer... it's the kernel itself. BSD is a layer on top of Mach.
     
Kate  (op)
Senior User
Join Date: Jan 2001
Status: Offline
Reply With Quote
Jun 22, 2003, 09:53 AM
 
Originally posted by pat++:
I really don't think this can happen.... Mach is not a layer... it's the kernel itself. BSD is a layer on top of Mach.
Yes I thought so, but in any case the darwin developers should know this, no?

And he should know this as well, shouldn't he? So how can this quote be understood?
Simply a new threading model as has been indicated previously?
     
Mac Elite
Join Date: May 2001
Location: Earth
Status: Offline
Reply With Quote
Jun 22, 2003, 10:04 AM
 
I guess we'll know in about 26 hours
     
Kate  (op)
Senior User
Join Date: Jan 2001
Status: Offline
Reply With Quote
Jun 22, 2003, 10:08 AM
 
Originally posted by pat++:
I guess we'll know in about 26 hours
I'll glue my eyes to the video screen..;-)
     
Addicted to MacNN
Join Date: Aug 2000
Location: Retired
Status: Offline
Reply With Quote
Jun 22, 2003, 10:49 AM
 
The mach layer, is, as the other poster said, isn't a layer, is the lowest, most basic part of the OS. Ripping it out would be non-trivial and I doubt Apple would do it.
Power Macintosh Dual G4
SGI Indigo2 6.5.21f
     
Senior User
Join Date: May 2002
Location: Austria
Status: Offline
Reply With Quote
Jun 22, 2003, 10:51 AM
 
Here's another thread at AppleInsider discussing the same article.
     
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Jun 22, 2003, 11:29 AM
 
Apple makes extensive use of Mach technologies (mach ports and messaging) throughout OS X, they wouldn't be able to just rip this out. Not that they'd want to, it wouldn't solve any problems in itself. This makes no sense, it's probably a mistake, move along now.
     
Junior Member
Join Date: Apr 2002
Location: In spaaaaace
Status: Offline
Reply With Quote
Jun 22, 2003, 01:04 PM
 
Why is Mach stupid again?

Does Avie know about his baby being made fun of?
     
Mac Elite
Join Date: Sep 2002
Status: Offline
Reply With Quote
Jun 22, 2003, 01:06 PM
 
Could it be a mis-translation? or did you translate it yourself?

There was something on /. about 10.3 using stuff from BSD 5.0 for better smp support, could these be related?
     
Mac Enthusiast
Join Date: Nov 2001
Location: fourth sector
Status: Offline
Reply With Quote
Jun 22, 2003, 01:45 PM
 
Originally posted by :XI::
Could it be a mis-translation? or did you translate it yourself?

There was something on /. about 10.3 using stuff from BSD 5.0 for better smp support, could these be related?
The translation is sloppy:

Wrong:
The next versions of Mac OS X will by default be without the stupid Mach-Layer in the kernel and have X11 support built in..

Correct:
The next versions of Mac OS X will by default be without the stupid Mach-Layer UNDER the kernel and have X11 support built in..

So, this guy is talking about the Mach-layer UNDER the kernel, not IN the kernel.

From Apple Dev.:

"Mach Overview

The fundamental services and primitives of the Mac OS X kernel are based on Mach 3.0. Apple has modified and extended Mach to better meet Mac OS X functional and performance goals.

Mach 3.0 was originally conceived as a simple, extensible, communications microkernel. It is capable of running as a stand–alone kernel, with other traditional operating-system services such as I/O, file systems, and networking stacks running as user-mode servers.

However, in Mac OS X, Mach is linked with other kernel components into a single kernel address space. This is primarily for performance; it is much faster to make a direct call between linked components than it is to send messages or do remote procedure calls (RPC) between separate tasks. This modular structure results in a more robust and extensible system than a monolithic kernel would allow, without the performance penalty of a pure microkernel.

Thus in Mac OS X, Mach is not primarily a communication hub between clients and servers. Instead, its value consists of its abstractions, its extensibility, and its flexibility."

If you read this, you will find out that this guy has no idea what he is talking about.

Nexus5.
     
Junior Member
Join Date: Oct 2002
Location: Sydney, Australia
Status: Offline
Reply With Quote
Jun 23, 2003, 01:38 AM
 
Originally posted by WombatPredator:
Why is Mach stupid again?
Mac OS X and Windows NT both use micro-kernels, whilst Linux uses a monolithic kernel.

There is an architectural "religious war" between micro-kernel and monolithic kernels. Avie obviously prefers the micro-kernel architecture and Linus is very pro monolithic kernels and once had a huge online flame war with Andrew S. Tanenbaum (the creator of Minix), over which architecture is better.
If you are interested, the entire "debate" can be found online here ...
http://www.oreilly.com/catalog/opens...book/appa.html

These types of architectural decisions are made on day one of building an operating system such as Mac OS X, so I am extremely doubtful that for 10.3 Apple would re-write the kernel from the ground up for little to no perceived benefit for an end user.
     
Mac Elite
Join Date: Oct 2000
Status: Offline
Reply With Quote
Jun 23, 2003, 03:11 AM
 
Originally posted by teknologika:
Mac OS X and Windows NT both use micro-kernels, whilst Linux uses a monolithic kernel.

There is an architectural "religious war" between micro-kernel and monolithic kernels. Avie obviously prefers the micro-kernel architecture and Linus is very pro monolithic kernels and once had a huge online flame war with Andrew S. Tanenbaum (the creator of Minix), over which architecture is better.
If you are interested, the entire "debate" can be found online here ...
http://www.oreilly.com/catalog/opens...book/appa.html

These types of architectural decisions are made on day one of building an operating system such as Mac OS X, so I am extremely doubtful that for 10.3 Apple would re-write the kernel from the ground up for little to no perceived benefit for an end user.
Wow.... the flaming... the people involved..... That's somethin' else.
     
Mac Enthusiast
Join Date: Jun 2003
Location: Kalifornia
Status: Offline
Reply With Quote
Jun 23, 2003, 04:59 AM
 
Didn't Linus get into a bit of an argument with Apple too for not going down his route, or something like that/

Anyone have any links to his views on Darwin?

Thanks
PIXAR Animation Studios
     
Senior User
Join Date: Oct 2001
Status: Offline
Reply With Quote
Jun 23, 2003, 07:24 AM
 
Originally posted by teknologika:
Mac OS X and Windows NT both use micro-kernels, whilst Linux uses a monolithic kernel.
None of the three is a true microkernel. Mach used to be a microkernel, but the XNU kernel inside Darwin/OS X is definately none.
http://developer.apple.com/techpubs/...ach/index.html


Stink different.
     
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Jun 23, 2003, 09:19 AM
 
Am I the only one here who, on the first reading of the statement, thought that he might have been talking about the BSD layer?

It would seem more logical to me if the guy had meant that the BSD subsystem would be turned off by default. However, this approach has two problems with it. First of all, the BSD subsystem is already turned off by default. Second, I don't see how the X11 layer could work well without the BSD subsystem in place; too many X11-based apps depend on things found there.

In any case, something is very strange about this quote.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
Senior User
Join Date: Oct 2001
Status: Offline
Reply With Quote
Jun 23, 2003, 10:35 AM
 
Originally posted by Millennium:
Am I the only one here who, on the first reading of the statement, thought that he might have been talking about the BSD layer?
Appears so...no reason for Apple to drop BSD, really. However, what they could drop easily would be the Mach API, e.g. no more application access to Mach threads, Mach messaging etc. Developers would have to access low-level functions througgh BSD or CoreFoundation instead.


Stink different.
     
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Jun 23, 2003, 10:53 AM
 
Originally posted by stew:
Appears so...no reason for Apple to drop BSD, really.
No one was talking about dropping anything. Look at the quote again; it said "The next versions of Mac OS X will by default be..."

That "default" thing is the kicker. API's are not a thing that can be turned on and off at will, which the word "default" implies. And even if they could be, why would a user want to do that?
However, what they could drop easily would be the Mach API, e.g. no more application access to Mach threads, Mach messaging etc.
Actually, for many reasons, that would be incredibly difficult. You might recall that Mach is OSX's microkernel. One of the advantages of an architecture is that once the microkernel is ported, most things above it are just a recompile away from being ported. However, the OS becomes very dependent on that particular kernel, and so there's no way Apple could remove that easily.
Developers would have to access low-level functions througgh BSD or CoreFoundation instead.
There are entire classes of applications where these functions are not low-level enough. To remove the API would be suicidal.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
Kate  (op)
Senior User
Join Date: Jan 2001
Status: Offline
Reply With Quote
Jun 23, 2003, 11:15 AM
 
I did a bit of reading in the Darwin docs.
Especially the bits about the tight integration of microkernel and the other modules inside the kernel space make an interesting read.

Since this is something targetted at developers, parts of it are beyond my knowledge , but judging from what I seem to have understood that quote makes no sense at all as most of you pointed out here.

He must have been misunderstood or was spreading nonsense. Anyway, I cannot think he was doing this on purpose. What he really wanted to say stays unclear....we'll see later today, maybe.
     
Senior User
Join Date: Oct 2001
Status: Offline
Reply With Quote
Jun 23, 2003, 11:24 AM
 
Originally posted by Millennium:
No one was talking about dropping anything. Look at the quote again; it said "The next versions of Mac OS X will by default be..."
The default will be X11 - the word default does not apply to the Mach-related parts in the original German quote.

Where we should not rely too much on the quote anyway...who knows how much the text on the web page has in common with what that guy really said. Considering that web page's grammar/spelling style, I would not count on accurate editing.
Actually, for many reasons, that would be incredibly difficult. You might recall that Mach is OSX's microkernel.
Not, it's not. XNU is the kernel of OS X and it's not a true microkernel. It is based on Mach, but it is not Mach.
One of the advantages of an architecture is that once the microkernel is ported, most things above it are just a recompile away from being ported. However, the OS becomes very dependent on that particular kernel, and so there's no way Apple could remove that easily.
No one said anything about dropping the kernel. API!=kernel
There are entire classes of applications where these functions are not low-level enough.
Like what?


Stink different.
     
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Jun 23, 2003, 01:02 PM
 
Originally posted by stew:
The default will be X11 - the word default does not apply to the Mach-related parts in the original German quote.
I don't claim to be an expert in German, but that's a very awkward construction. Why would a translator switch two entire sentence clauses around?
Not, it's not. XNU is the kernel of OS X and it's not a true microkernel. It is based on Mach, but it is not Mach.
It's Mach. Or close enough; the core is still there, as evidenced by the existence of the API's. As for it not being a true microkernel, it's not a true microkernel in the same sense that Mach isn't. If you are referring to the BSD subsystem not making XNU a true microkernel, that is correct, but XNU inherited that from Mach.
No one said anything about dropping the kernel. API!=kernel
True, but this is an API that is part of the kernel; you cannot drop one without dropping the other.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
Senior User
Join Date: Oct 2001
Status: Offline
Reply With Quote
Jun 23, 2003, 01:34 PM
 
Originally posted by Millennium:
True, but this is an API that is part of the kernel; you cannot drop one without dropping the other.
No.

An API is only an interface and has nothing, absolutely nothing to do with the internal implementation. Examples? POSIX is an API, and Windows NT, Linux and MacOS X implement it. They all implement the same API, but the implementation is completely different. Could you remove the POSIX threading API (pthreads) from OS X? Surely, just remove it from the header files and don't export the symbol when linking - voila, you have Darwin without the pthread API. Would that remove the implemenation of pthreads? No, the pthread code would still be there and other code inside the same binary would be able to use it as before. Programs from the outside would not be able to use it, as there would be no interface for it any more.

So, in short: Removing the Mach API from XNU would not remove any of Mach's functionality. But programs outside XNU would be unable to access it directly.


Stink different.
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 08:02 AM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2