
To read all comments associated with this story, please click here.
Mac OS X has also a different interface than POSIX to the system internals: Mach. If I remember the source and docs of GCD correctly it uses those Mach interfaces. This example says nothing about if Mac OS X is POSIX compliant, it just indicates there is a different interface.
I guess that almost no OS is 100% posix compliant, not even FreeBSD or Linux (but I'm not sure about that). Almost every Unix OS is to a certain degree Posix compliant, even Mac OS X.
Except you'd be wrong. OSX IS POSIX compliant and is more Unix than even Linux.At the end of the day what really separates OSX from other unices is the interface it uses which is machlike. In fact if you read this http://en.wikipedia.org/wiki/POSIX you would see that OSX conforms almost 100% with one or more of the POSIX standards and is considered Fully POSIX compliant. Linux on the other is considered Mostly POSIX compliant, because it isn't compatible with the full or even most of the standards. OSX also has received the UNIX 03 certification which means for all intents and purposes OSX is UNIX.
Aside from that POSIX doesn't really mean much if you really think about it. Even Windows can be considered mostly POSIX compliant with the right software installed. The real Unix standards are actually being set by projects like FreeBSD and Linux, they usually are the first to implement new technology and usually their brethren follow suit to conform to what is currently happening.
Being Fully Compliant is not necessarily much different from being Mostly Compliant. Even if you are 100% compliant you are only Mostly Compliant until you have been certified, which involves paying a fee. This is why Linux is not and never will be Fully Compliant.
That said, I understand that Linux is more like 99% compliant in that it (and GNU utilities) sometimes differ from the spec when it is felt that the spec is crazy. FreeBSD does the same kind of thing in a few places.
Member since:
2008-05-26
Read between the lines on this one.
libdispatch was "ported" to FreeBSD. Which means that Mac OS X is NOT FreeBSD.
The FreeBSD team have done work to "get it running on a POSIX environment". Which means that Mac OS X is NOT a real POSIX environment. And presumably, not really UNIX.
Which is what I've been saying all along.