Does Darwin have any features that are specific to it? Do other Unixe(s) have features that Darwin lacks?
|
OS X is the only remaining operating system based on the Mach microkernel which is also still commercially relevant. There are a few ongoing research projects and obsolescent OSes that no doubt are still being used in production settings on old machines, but nothing you can go out and buy on a new machine today. OS X has the usual assortment of kernel feature incompatibilities that any *ix has. The biggest one I most recently had to work around is a lack of System V message queues. ( |
||||
|
|
|
When it comes right down to it, isn't Darwin just a thin BSD layer on top of Mach 2.0? I used to use NeXTStep, I don't know how much current MacOSX departs from NeXTStep, but... Mach 2.0 offered a different set of abstractions at the kernel level:
The original CMU Mach folks used these abstractions to emulate BSD Unix processes, MS-DOS processes, and in a fabulous fit of freakiness, VMS tasks. Each VMS task took 2 Mach tasks, plus many threads. Somebody used to sell a Mac OS (pre-OSX) emulator for NeXTStep that used the user-space-pagers to good effect. The old CMU Mach publications page: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html The VMS-on-Mach paper: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf |
|||
|
|
|
This isn't quite an answer but, DTrace is an awesome system debugging tool. That exists for Solaris, Darwin/OS X, and *BSD, but not Linux. |
|||
|
|
|
I think it's best to describe Darwin as just another flavour of UNIX. Solaris is one. HP/UX is another. There are lots more, maybe not as "high-profile" but they're there. And with every flavour comes its own specifics. That's why there are flavours in the first place. Some company thinks up something which would help selling it (or simply working with it or even administrating it) and creates it and gives it its own name. |
|||
|
|
|
If I've heard right Darwin, as released by Apple, no longer functions as an independent operating system, so I'd point out that the biggest difference it has is OS X on top of it. :D Although the integration between the old Mac OS, new Mac OS X, and NeXT stuff is sometimes laughable, little utilities like diskutil and hdiutil are great. Maybe it is some old Mach kernel architects left over from NeXT who use these little things and care about them who have made sure XCode such a good tool, too. |
|||
|
|
|
Darwin has a relatively small set of supported file system types. Apart from specials like devfs and network types like webdav, the list is:
Of this list, only UFS was designed for Unix, although HFS+ has been upgraded to support all necessary Unix functionality. As of Mac OS X 10.6, UFS cannot be used for the root partition, although this restriction probably doesn't apply to Darwin. By default, HFS+ is case-insensitive, although case sensitivity can be requested at creation time. Although Mac OS X will run on a case-sensitive partition, many high-profile Mac applications will not (eg Adobe CS). For a while, Apple was planning to supersede HFS with ZFS, and even shipped ZFS with some versions of Mac OS X, but sadly this experiment eventually failed because of unresolvable licensing issues. |
|||
|
|
|
Darwin is based on FreeBSD. One cool feature that is not present in other Unix operating systems (in my experience) is the Berkeley Packet Filter, aka |
|||
|
|
Fist that comes to my mind is all tools that OSX have in console.. there are tons of more useful commands that unix have. Diskutil it's like partition magic in shell, this tool have so much options for disk operations that fdisk is really just 10% of what this beast have... btw osx supports really great Software Raid support you can have JBOD, Strip and Mirror software raid types.. does really unix have this? in your dreams!! ;D SystemProfiler - great tool which display all hardware id's,names,models,sn's and stuff like that in a VERY comfortable way. darwin kernel isn't totally transparent like in unix. darwin have killall util =P unix don't, only skill different file system also.. HFS, HFS+ maybe latter i'll remember more =) |
|||||||||||||||||||||
|
