MAC OS X connection to FreeBSD?

cremes.devlist at mac.com cremes.devlist at mac.com
Mon Nov 13 14:02:39 UTC 2006


Ted, you got a couple of things wrong. Read below for the corrections.

On Nov 13, 2006, at 3:28 AM, Ted Mittelstaedt wrote:

>
> ----- Original Message -----
> From: "Lonnie Cumberland" <lonnie at outstep.com>
> To: "Garrett Cooper" <youshi10 at u.washington.edu>
> Cc: <freebsd-questions at freebsd.org>
> Sent: Monday, November 06, 2006 3:48 AM
> Subject: Re: MAC OS X connection to FreeBSD?
>
>
>> Thanks everyone for the replay to my post as it did finally occur  
>> to me
>> that perhaps this question had been asked on the mailing list, but
>> unfortunately it occurred to me after I sent it.
>>
>> So, basically the Apple team took FreeBSD and the CM micro-kernel,
>> combined them, made some improvements and added some additional  
>> code and
>> then used it all as the MAC OS X core (without the GUI of course)?
>>
>
> No, they used it all as the Darwin core.  Then they took Darwin and  
> added
> their own GUI (used to be called Aqua) and that is MacOSX.
>
> Bear in mind that the MacOS X gui does not translate directly into  
> UNIX.
> For example, you can load MacOS System 7 files with a separate
> resource and data fork onto MacOSX.  The MacOS X gui handles a lot
> of this kind of stuff.

No, the GUI has very little to do with the ability to run legacy  
System 9 (and prior) binaries. Some of these older binaries which  
were never updated to use the newer Carbon libraries run inside a  
virtual machine called the Blue Box. Many of these older apps that  
were updated to conform to the new Carbon libraries (primarily Carbon  
eliminated non-reentrant code and put in setter/getters for global  
vars) run "natively" under the darwin kernel.

OSX also has a POSIX-compliant API so almost all "UNIX" software  
compiles and runs cleanly on OSX (more on this below).

Lastly, OSX has the Cocoa API which is what most new OSX software  
targets. Cocoa is the new name for the old NeXT OpenStep API.

So, darwin supports POSIX semantics, the Carbon API, and the Cocoa API.

> Apple also doesen't use the UNIX security model.  As near as I can
> tell their core security model is an ACL model not a user/group model.
> Once again this is something that's handled elsewhere.

Not quite. GUI applications owned by root with the setuid bit set are  
properly recognized by the GUI as "special" and will request password  
authorization from the user. Many applications can be run from the  
command line (even if they have GUI components) which will respect  
the UNIX filesystem permissions. If you go inside an application  
bundle (a directory containing all code and resources for an  
application) and change the permissions on the binary to something  
non-executable, the GUI cannot launch it.

As of the latest OSX release (10.4, Tiger) Apple added quite a bit of  
support for ACL security semantics. This is relatively new.

>> With this being said, then does anyone have any experience with the
>> stability and performance?
>>
>> My guess is that if it is really based upon FreeBSD then the  
>> performance
>> should be pretty good from my readings about FreeBSD compared to  
>> other
>> operating systems.
>>
>
> Mac OS X is easily more stable than FreeBSD simply because it can
> only be run on specific hardware that Apple sells.  As a result the
> developers always know exactly what their enviornment is going to
> be like.  As for performance, what performance metric are you  
> looking at?

While OSX is stable for the reason you cite, I wouldn't say it is  
MORE stable than FreeBSD 4.x. It probably is as stable or moreso than  
some of the more recent FreeBSD releases but that seems to be more  
related to recent poor testing and QA practices than hardware support  
problems.

> The biggest problem with MacOS X is that a lot of UNIX software that
> runs on FreeBSD and such, is not ported to MacOSX, and it's very
> difficult to compile on MacOSX.

This is completely wrong. Take a look at macports [1] (formerly  
darwinports) for a large repository of UNIX software that compiles  
very cleanly on OSX. It's nearly 7 years since OSX shipped to the  
public. In that time, most opensource software was updated to compile  
cleanly on OSX. The primary changes to allow this were to the  
"configure" scripts so they recognize darwin as a base OS. If other  
patches were necessary, most software maintainers accepted these  
patches back into their trunk.

OSX has excellent support for most UNIX software.

cr

[1] macports.org


More information about the freebsd-questions mailing list