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.

1
  • 4
    I find this question and its developments very interesting, thank you!
    – mouviciel
    Oct 1, 2009 at 22:15

8 Answers 8

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.

15
  • 14
    This is a BSD system built on top of a MACH microkernel.
    – mouviciel
    Oct 1, 2009 at 14:00
  • 3
    Telemachus - Yeah but in all fairness, most users won't ever use it and it's readily available in the XCode tools that is on the install disc that ships with all Apple computers.
    – MDMarra
    Oct 1, 2009 at 15:38
  • 5
    To be fair, if the stuff is on the disk, it is available "out of the box", depending on what box you're referring to.
    – Phoshi
    Oct 1, 2009 at 17:05
  • 8
    @Telemachus: Most people who use a Mac don't want XCode, so installing it would be a waste of disk space. If you have any clue that you want a compiler, you can easily install one. If you need everything pre-installed for you, and you can't handle a simple installation step, you'll never make it in software, and shouldn't be trusted with a compiler. Oct 1, 2009 at 17:30
  • 8
    @Telemachus: The compiler is there. It's right in the box. I don't understand why you think all Unix-like OSes should work the way you want when you first turn on the power. There's a long and honorable tradition of fiddling things to make a Unix box work the way you want. Oct 1, 2009 at 19:48
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.

11
  • 8
    Mac OS X isn't a rewrite of the classic Mac OS at all — it's based on NeXTSTEP.
    – s4y
    Oct 1, 2009 at 16:01
  • 1
    @SidneySM: In a way, it's lineage is irrelevant. When you use OSX, it feels like Mac a lot more than like Unix.
    – Telemachus
    Oct 1, 2009 at 16:54
  • 1
    @SidneySM Thanks, you're right. By "rewrite" I meant to convey that it didn't have any code in common with its predecessor, the Mac OS, and not that it was rewritten from the ground up. It obviously didn't come out right. I'll fix it asap.
    – user4358
    Oct 1, 2009 at 17:01
  • 1
    @David Thornley We can debate this ad nauseum, but possibly our differences lie in our interpretation of the Unix philosophy. en.wikipedia.org/wiki/Unix_philosophy I happen to think OS X is geared towards usability, and not this (especially the last bit): "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."
    – user4358
    Oct 1, 2009 at 21:47
  • 3
    If you follow the traditional UNIX philosophy too literally, you can't have a graphical desktop environment.
    – hasen
    Oct 21, 2009 at 7:14
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.

1
  • I am switching to a Mac because of this. However, I really want to see their future OS versions (Yosemite, etc) pass the latest UNIX specification.
    – Kensai
    Oct 11, 2014 at 22:37
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.

11
  • 3
    You can get the output of ls / with Terminal.app. Both worlds coexist in Mac OS X. This is not a compromise. The GUI works on top of Unix, just like Gnome works on top of Linux.
    – mouviciel
    Oct 1, 2009 at 15:49
  • 1
    What Unix are you using that the development system is part of the default install? Oct 1, 2009 at 16:21
  • 1
    @Telemachus +1 for duck-typing. It expresses the spirit of the change from Mac OS to OS X succintly. In my opinion, Apple wanted to improve the guts of the Mac while keeping the user experience unchanged, and succeeded quite beautifully.
    – user4358
    Oct 1, 2009 at 17:11
  • 2
    @Telemachus: There wasn't one installed on my first Ubuntu box. I had to go to the work of typing "sudo apt-get install development-essentials", and then entering my password. It did surprise me. Oct 1, 2009 at 19:52
  • 2
    @Telemachus: I understand your point and considering the edit of the OP, this is the kind of argument he wants to get. From a user point of view, there is no hint that Unix runs under the hood.
    – mouviciel
    Oct 1, 2009 at 22:11
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.

3
  • @Hasen: in addition to certification there is a question of philosophy. The traditional Unix philosophy stresses things that OSX emphatically does not stress. See Nagul's answer for more on this. Modern Unix-like systems certainly have a GUI, but they still follow (to one degree or another) the base philosophy. I'm not sure that Apple's OSX really does.
    – Telemachus
    Oct 2, 2009 at 11:42
  • 1
    @hasen j: I'm very comfortable using Win XP on the desktop. Although I'd like to, I'm unable to find a Linux or Unix variant that I enjoy using enough to replace it. I'm wondering here, if perhaps it's worth trying to see what Mac OS X, as a variant of Unix on the desktop, feels like.
    – Rob Kam
    Oct 2, 2009 at 12:18
  • 4
    @Rob Kam: Mac OS X is an extremely good OS on its own right. Despite the PR-ridden cliche, to a large extent it just works. If you haven't enjoyed your dose of Unix till now, I'd certainly suggest you try out a Mac. It is not my idea of a traditional Unix OS, but it is underpinned by both Unix and POSIX compliance and it is an excellent OS.
    – user4358
    Oct 2, 2009 at 20:06
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.

1
  • An interesting analogy. In my mind Amiga represents: powerful use of resources, ahead of it's time but especially that (when sufficiently tweaked, e.g. with Directory Opus) it was fun to use.
    – Rob Kam
    Oct 2, 2009 at 9:18
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.

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.

Not the answer you're looking for? Browse other questions tagged .