Slashdot Mirror


An Introduction To And History of Darwin

proclus writes "Roberto Donhert of Aqua icon theme fame (screenshot) has written a concise review of Darwin OS. The article covers the origin and evolution of Darwin OS, as well as the various Darwin distributions that are available for PowerPC and x86 architectures. OSnews has the story. The only thing that I would add is the contributions of Torrey Lyons of XonX, who created the XDarwin Xserver that made so much of this possible. BTW, Roberto also has a commentary about the SCO situation running at OSnews."

10 of 82 comments (clear)

  1. Here's a condensed history of Darwin... by andrewski · · Score: 5, Funny

    We had this thing called Openstep for Mach, and we kind of like updated the Openstep API and called it Cocoa. Then, it was already like 1999 and we thought 'Jeez, we'd better put a newer UNIX than 4.3 BSD on there, so FreeBSD was there and we used it. But we used like version 3.0 of FreeBSD, so we had to kind of port what we could of FreeBSD 4.5 to Darwin, and next year we'll probably have FreeBSD 4.8 under the hood. Anyway, the documentation is a mess!

    Love,
    Steve Jobs

  2. omg by ceejayoz · · Score: 4, Funny

    Good God... a Geocities link, on the Slashdot front page?

    Hell, it was probably Slashdotted by the editor looking at it to approve the submission!

    1. Re:omg by Anonymous Coward · · Score: 5, Funny

      ...it was probably Slashdotted by the editor looking at it ...

      You must be new here.

  3. Common Mistake by dhovis · · Score: 5, Interesting

    Roberto made one common mistake in his writeup on Darwin. Darwin does not use a pure Mach kernel. It uses a kernel called xnu. Xnu is a hybrid kernel containing Mach message passing code, but also a lot of BSD stuff. Xnu isn't quite monolithic, but it isn't a microkernel either. The BSD stuff was added into the kernel space to improve performance over pure Mach.

    --

    --
    The internet is the greatest source of biased information in the history of mankind.

  4. Ugh by Anonymous Coward · · Score: 5, Informative
    Um......here are the mistakes just on the first page (not including the odd description of microkernel modules):
    The differences between a Microkernel ... and a Monolithic Kernel ... is that a Monolithic Kernel is a large chunk of code, where a Microkernel consists of small message passing cores or Modules, with several different Daemons...
    The difference between a microkernel and a monolithic kernel is that a microkernel has offloaded most system services to outside the protected boundary.
    The Open Step Develpment Environment ...
    History, Mach, BSD, OpenSTEP ...
    It's ONE word. Capitalized as "OpenStep" or as "OPENSTEP", the former being the standard (the latter being NeXT's later marketspeak).
    [OpenStep] is a true object oriented programming environment developed by Avie Tevanian and others at CMU.
    Avie Tevanian worked on Mach at CMU. It is an operating system kernel. OpenStep was developed much later by developers at NeXT. Had nothing to do with CMU. It is a development library built on top of Objective-C and Display PostScript, and ran on top of several operating systems (Solaris, NT, Mach/BSD). I do not think that Avie worked on OpenStep significantly while he was a NeXT, but I'm not sure.
    1. Re:Ugh by Mneme · · Score: 4, Informative

      But wait, there are more errors

      • In Mach, device drivers are IOKits ( Input-Output kits).
        No. In Darwin there is an Embedded-C++ framework called IOKit for writing device drivers. It doesn't come from Mach (Mach is written in C), it is a masterpiece of design that was written from scatch at Apple, inspired by DriverKit, which was an Objective-C framework with the same intent. (Yes, NeXT put Objective-C in the kernel. At the time, they were running on PC hardware and needed a way to write drivers that minimized developer time.)
      • The differences between a Microkernel, like what is used in Mac OS X and Darwin, and a Monolithic Kernel ... a Microkernel consists of small message passing cores or Modules, with several different Daemons or "servers" that communicate between the modules
        No. Darwin does not use Mach as a microkernel, and neither did NeXT's kernel. Mach is used in Darwin because it provides an excellent core for the OS with a clean API. But given the way it shares its address space with the BSD layer and IOKit, you cannot call the Darwin kernel a Microkernel. Yes, Mach makes it easy to have a chunk of a device driver out in user space, and Apple encourages developers to do this when they can, but some Linux device drivers do that, too.

      In my opinion, IOKit is what makes Darwin special. The way it uses inheritance and its concepts of drivers having different interrelationships on different `planes' (e.g., power, USB topology, code dependencies, etc.) make it easier to write drivers and support things like dynamic device attachment and power management that Linux still struggles with.

  5. Re:GNU-Darwin supports PPC by Graff · · Score: 5, Insightful
    To quote your own words in this press release :
    First, we are making explicit and binding the following policy. GNU-Darwin will not support or distribute any software which links to proprietary libraries, and that includes Cocoa, Carbon, CoreAudio, etc. There will be no native package manager from GNU-Darwin (pkg_add suffices).

    Second, we will be moving our operations to x86, and we are putting the ppc collection into maintenance mode

    This certainly sounds like you have turned your back on ppc. You have put your ppc collection it into "maintenance mode", this obviously means that you are treating it differently then the x86 versions. Just what is your definition of "maintenance mode"? If you are continuing your support of ppc then why make such negative statements?

    Honestly proclus, you have proven yourself to be just another troll on the various Macintosh forums. You come on these types of forums decrying doom and gloom upon all things Macintosh because of Apples so-called crimes of making proprietary code. You spam the forums with messages of inane questions that you answer yourself, pumping your post count up. You make all sorts of threats of taking your repackaged toys away from the ppc and then you turn right around and claim that your support is still 100% for the platform.

    There are a lot of people who are sick of this. We don't need your utilities, we have plenty from Fink or DarwinPorts. If you want to play your social activist game, go play it somewhere else because it is just falling on deaf ears here.
  6. Re:I swear to Jesus that I am not trolling. by Sentry21 · · Score: 4, Interesting

    What is the advantage to gnu-darwin over FreeBSD

    You can run the same OS (theoretically) on x86 and PPC? It's a nicer system (opinion)? FreeBSD sucks (opinion)? The FreeBSD 'help' is usually more abusive than helpful (experience)?

    or GNU/Linux?

    Linux has all kinds of problems (every time I try to compile Linux, it gets about 30 seconds into make bzImage and errors out). Don't want to be associated with Linux zealots? Linux can be a pain to run on PPC? You can run the same (command-line) apps on GNU-Darwin as on OS X?

    If it's IOKit & Mach that give you a hardon, then what's the advantage of gnu-darwin over GNU/Hurd?

    Darwin doesn't use Mach? Darwin's actually usable at this point? Darwin has drivers for hardware supported by OS X? Darwin works on PPC (does Hurd)?

    Hack value?

    Just some ideas. Personally, I'd use Open Darwin, but there's always reasons. The question people should be asking isn't 'Why?' but rather 'Why not?'

    --Dan

  7. Re:I swear to Jesus that I am not trolling. by Ranger+Rick · · Score: 4, Interesting

    GNU-Darwin just happens to be the best-selling UNIX on the market today mostly because of the Mac OS X GUI layer running on top of it.

    No matter how much the GNU-Darwin people want you to think otherwise, Apple (more specifically OpenDarwin and people in the BSD group at Apple) are the ones doing all the work on Darwin.

    It's amazing Shantonu even bothers making the OpenDarwin distribution anymore when the GNU-Darwin folks immediately start reselling it at a $15 premium (check the timestamps on those e-mails...).

    --

    WWJD? JWRTFM!!!