From owner-freebsd-questions@FreeBSD.ORG Mon Nov 13 14:02:39 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7E70616A407 for ; Mon, 13 Nov 2006 14:02:39 +0000 (UTC) (envelope-from cremes.devlist@mac.com) Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.176]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3243043D6B for ; Mon, 13 Nov 2006 14:02:37 +0000 (GMT) (envelope-from cremes.devlist@mac.com) Received: from mac.com (smtpin07-en2 [10.13.10.152]) by smtpout.mac.com (Xserve/8.12.11/smtpout06/MantshX 4.0) with ESMTP id kADE2ajN028129; Mon, 13 Nov 2006 06:02:36 -0800 (PST) Received: from [192.168.2.2] (adsl-75-3-144-232.dsl.chcgil.sbcglobal.net [75.3.144.232]) (authenticated bits=0) by mac.com (Xserve/smtpin07/MantshX 4.0) with ESMTP id kADE2XoC014614; Mon, 13 Nov 2006 06:02:34 -0800 (PST) In-Reply-To: <004001c70706$0d571ec0$3c01a8c0@coolf89ea26645> References: <454E9F7B.5010105@outstep.com> <454EB6D6.3030807@infowest.com> <454EBEEC.1060002@u.washington.edu> <454F210C.9000602@outstep.com> <004001c70706$0d571ec0$3c01a8c0@coolf89ea26645> Mime-Version: 1.0 (Apple Message framework v752.2) X-Priority: 3 Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <62104DC1-8AD2-41E1-B469-51CAC91A8D8B@mac.com> Content-Transfer-Encoding: 7bit From: cremes.devlist@mac.com Date: Mon, 13 Nov 2006 08:02:32 -0600 To: Ted Mittelstaedt X-Mailer: Apple Mail (2.752.2) X-Brightmail-Tracker: AAAAAA== X-Brightmail-scanned: yes Cc: Garrett Cooper , Lonnie Cumberland , freebsd-questions@freebsd.org Subject: Re: MAC OS X connection to FreeBSD? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Nov 2006 14:02:39 -0000 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" > To: "Garrett Cooper" > Cc: > 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