37

From my limited knowledge: The Unix OS coder assumes the user knows what they're doing, etc. versus the Apple's you can only do it the way you are allowed to do it, etc.

Compared to other variations of Unix, what are Mac OS X's limitations, but also does it improve the user experience?

To try and clarify the question, it's more the user experience I'd like to read find out about. Although it's of interest that it's certified, that's not so relevant - Linux is not certified, but it's the closest I've come to using Unix up till now.

Rob Kam
  • 1,866

8 Answers8

58

Mac OS X is plain Unix. This is a BSD Unix flavour, and is certified SUS V3 (Single Unix Specification version 3).

This means that everything that a software engineer or system administrator expects to find in a Unix system is present in Mac OS X.

mouviciel
  • 3,088
24

IMHO, this question can be interpreted in two ways. At the literal level, Mac OS X gained UNIX 03 certification with the release of Mac OS X 10.5 (Leopard), and is as Unix as it is possible to be.

On a more subjective level, Mac OS X is merely a rewrite of replacement for the classic Apple operating system, Mac OS. The interesting aspect of Mac OS X is that it is a POSIX compliant OS that happens to use an XNU kernel, which can trace its roots to BSD. And that it was released as an open-source project, Darwin. The POSIX compliance lets software packages written for Linux or BSD be ported to Mac OS X.

However, Mac OS X is more than just the kernel, and IMHO, Mac OS X is closer in spirit to Mac OS than to any other Unix variant.

Update: Link to Joel Spolsky's take on Biculturalism where he primarily talks of the schism between Windows and Unix cultures, but also touches briefly on why Apple succeeded in providing an excellent "Desktop Unix" with Mac OS X.

Update 2: Link to Unix philosophy as explained on Wikipedia.

"Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface."

My highly subjective opinion that Mac OS X is closer to MacOS than a "traditional" Unix OS stems from my opinion that Mac OS X has usability as its overriding goal, and not the above. That said, I do agree that it is also valid to consider Mac OS X a true Unix by focusing on the many points of commonality.

13

Open a Terminal and it's Unix. Use the GUI, and it's OS X. Many of us consider this the best of both worlds.

I never would have switched to Mac if there wasn't a Unix underneath.

11

As some of the answers have said, there are two sides to this question.

If you mean a license, then OSX is official Unix (TM).

On the other hand, if you mean does OSX feel like a Unix system, I would have to say not really (or maybe "not exactly"). OSX goes out of its way to hide away quite a lot of the Unix-y filesystem from you. Compare the output of ls / with opening the main hard disk drive in the GUI. It also doesn't have a compiler installed. (It is available in the box and you can install one pretty easily by installing the Xcode tools, which are readily available on one of the installer discs, but they're grouped under "Optional" or "Extra" install items. I forget the exact wording.) These are two big examples, but there are many other examples of little things that are just a bit off or different in OSX. (Not good or bad, necessarily, but different.)

Apple works very hard now, I think, to provide their default "Just works" friendly face to the majority of their users while also allowing developers and geeks to treat OSX like a standard *nix machine. But the result makes OSX systems a bit of a compromise. (That's not necessarily a bad thing.)

Edit: It's interesting how strongly people feel about this question (me included). I think that some answerers are being very literal: It's as Unix as Unix can be because they have a piece of paper that says so from Unix (TM). Others of us are saying, "But it looks like, walks like, and quacks like a Mac. It doesn't feel at all Unix-y (much less look it)." As I said originally, I think that there are really two questions here: one about the specification and license and one about user-experience.

Telemachus
  • 7,065
5

I'd say Unix can only be defined by the various Unix flavors out there.

Consider the question: what's Unix like?
The Answer: Try a Unix system to get a feel for it.

If OS X is certified Unix, then what are you really asking?

Are you asking how close is it to the traditional gui-less Unix from the 80's?

Well, in that case, one can ask, how Windows is Windows 7? It's certainly "official" windows, but it doesn't feel anything like Window 95, let alone 3.1, not to mention MS-DOS. Does that make it any less of a Windows?

Just because normal (non-tech) users don't see the Unix underneath the GUI, doesn't make OS X any less Unix than it is.

hasen
  • 5,269
5

A significant point is how much you can do only via the GUI, and the answer is surprisingly little -- including modifying GUI settings or running AppleScripts. There are programmable command line interfaces to almost everything, and quite a few Unix utilities are also included without being explicitly mentioned, Subversion for instance.

As a matter of opinion, having been a Unix workstation user since the mid 1990s, Mac OS X is kind of like the Amiga and BSD had a love child that ran away and was trained in kung-fu in the mountains by IRIX.

4

The GUI is the one that hides the feature. Underneath it feels like a BSD with some cosmetic differences, and some platform differences.

When you drop to a shell, a *nix user won't feel all that out of place. I routinely do that with my MacBook anyways.

calyth
  • 223
3

The difference that stands out the most for me is that the default Mac OS X file system, HFS Plus, is not case sensitive. It is possible to use UFS, but this can limit the functionality of other parts of the OS. It was a bit jarring when I discovered the lack of case sensitivity. At least it is case preserving.