# Is Apple's OSX based on a standard FBSD?



## Konan (May 6, 2009)

I have been a Linux user for the last decade or so, but cranked up a FBSD (6) machine about 4 months ago to give it a try.  I can move around in it pretty good by now, but I am a long way from FBSD gurudom.   Since this machine is learning only, I have always had plenty of time to figure out how it works, either from the books or googling.

But a question has come up that I can't answer - or more accurately, am not qualified to answer.

Our school district has switched over to Macs after a disasterous trial of Vista and they like them very well.   I knew that Apple's OSX was some kind of 'nix based OS but never thought on it before.  After a little googling, it appears that Apple used FBSD as the basis for their OSX platform.

Some of the techier/nerdier/smarter kids have found the terminal application and have (with permission) descended into the insides of the platform.  I have also looked and it appears to be fairly FBSD'ish.   Their question is , does Apple use fairly standard FBSD, or have they redone it to their needs?   In other words, if these kids learn the platform OS on their new Macs, are they learning FBSD or some hybrid OS that only applies to Macs?

Obviously the best place to ask this question would seem to be on a Mac forum, but I have found that while there are many Mac experts who can detail every corner of OSX, very few know anything once they drop out of the GUI.  Some even argue that I am in the wrong forum, that OSX has nothing to do with "Unix".  

Thanks all.
Konan


----------



## vivek (May 6, 2009)

Short answer - no.

Long answer - Mac OS X is based upon the Mach kernel. Certain parts from FreeBSD's and NetBSD's implementation of Unix were incorporated in Nextstep, the core of Mac OS X. See 
http://en.wikipedia.org/wiki/History_of_Mac_OS_X

However, OS X Leopard is UNIX-compliant with some sort of certification. OS X does have FreeBSD's virtual file system, network stack, components of its userspace and few other stuff. See apples on webpage about UNIX technology that is included with OS X - http://www.apple.com/macosx/technology/unix.html

Personally, I own a mac book and I find it command line quite like UNIX with perl, python,  shell and friends. YMMV.


----------



## SirDice (May 6, 2009)

Konan said:
			
		

> Their question is , does Apple use fairly standard FBSD, or have they redone it to their needs?


It's been redone to fit their needs.

http://developer.apple.com/Darwin/



> In other words, if these kids learn the platform OS on their new Macs, are they learning FBSD or some hybrid OS that only applies to Macs?


Not really, I've used AIX, Solaris, Linux and *BSD. The different versions of unix or unix-like systems look and feel more alike then the different versions of Windows


----------



## imauledatroll (May 6, 2009)

*FreeBSD = OS X.*

Uhm... well, the "topic" has really nothing to do with the actual purpose of this post.....

But, basically; I'm helping a friend of mine installing freeBSD.

And, what i kinda wanted to know is the following;

As we all know; OS X is based upon freeBSD, rite?

As such, would it not be possible to run OS X apps. on freeBSD? Or if not; would there happen to be a workaround?


----------



## DrJ (May 6, 2009)

imauledatroll said:
			
		

> would it not be possible to run OS X apps. on freeBSD?


No.


> Or if not; would there happen to be a workaround?


No.


----------



## Konan (May 7, 2009)

To turn your question around, it is possible to run FBSD (and Linux, AIX, etc) apps on OSX as long as they stay inside of the realm of 'Nix. Turns out that OSX supports X11 very well.  

I moved a lot of my C code, perl and perl-tk scripts over to FBSD and they run fine. (Even the C binaries have a good chance of running)  Just to play, I also moved them to OSX and many also ran.    For something like PerlTK, I just used the downloaded version for Linux for both other OS's.   A surprising number of (smaller) Linux apps will run on FBSD even without the emulator loaded.  C code works fine also - again assuming that OS specific code isn't imbedded.   

The problem is that (for graphical stuff), 'nix's use X11 and Mac uses Aqua which makes GUI code totally incompatible at the GUI level. 

Since I can move the same stuff from Linux to FBSD, the assumption goes that FBSD apps can be moved to OSX.  Again with the caveate that the program doesn't use something specific to the OS that it is coming from.  

But, as DRJ says, standard OSX apps won't run on a 'Nix system, unless you compile them for X11.  And then still probably not if they are in any way complicated.  But it is fun to try moving stuff between OS's just to see what sticks, although unless you really hate yourself, I would definitely stick to developing on the same OS that I was going to publish to.

In my case, since I mostly use Perl, my stuff can run on just about anything - even that pseudo OS from the NorthWestern US - I forget it's name.

Konan


----------



## Oko (May 7, 2009)

http://developer.apple.com/opensource/index.html


----------



## imauledatroll (May 7, 2009)

*.*

Ok. Thanks a lot; quite helpfull actually. 

One of my friend's main concerns is his music (which is all in wma and mp3) and as such he were hoping for something like itunes to be working on *BSD..

Well, are there any other app. which will let him play his mp3's (and the like of that) available for freeBSD?

also; he is (at the moment) doing author'ing for a living; and as such he is heavily dependent on his MS word-package.
How is integration of WINE (or something similar) coming along on *BSD? 

(i realize that i might be taking a slight turn away from the subject here.)


----------



## Oko (May 7, 2009)

imauledatroll said:
			
		

> How is integration of WINE (or something similar) coming along on *BSD?


Wine is becoming more and more Linux specific project. I have no idea how it works on FreeBSD since I have not used
FreeBSD for almost two years now. OpenBSD has given up any effort to update Wine port. I have read private emails of NetBSD developers which claim that new Wine can actually compile on NetBSD. Right now NetBSD official port is badly outdated. If your friend needs Windows applications he should run Windows. That is my personal attitude.


----------



## DutchDaemon (May 7, 2009)

Yes, we're straying from the original subject now. If you want to continue these inquiries, please open a new thread in an applicable forum.


----------

