Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
OS X Businesses Operating Systems Apple

An Introduction To And History of Darwin 82

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."
This discussion has been archived. No new comments can be posted.

An Introduction To And History of Darwin

Comments Filter:
  • First post, (Score:1, Funny)

    by Anonymous Coward
    and the Geocities (ha!) image link is already dead.

    ~~~

  • by andrewski ( 113600 ) on Tuesday June 10, 2003 @10:42PM (#6167574) Homepage
    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
  • omg (Score:5, Funny)

    by ceejayoz ( 567949 ) <cj@ceejayoz.com> on Tuesday June 10, 2003 @10:48PM (#6167594) Homepage Journal
    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!
  • by proclus ( 33875 )
    It is important to note that GNU-Darwin maintains and supports nearly 10,000 packages for Mac OS X users, in addition to our 8000 for Intel and AMD based computers. We are going to be on these platforms for the duration. Here are the links.

    http://www.gnu-darwin.org/packages.shtml [gnu-darwin.org]
    http://www.gnu-darwin.org/x86.shtml [gnu-darwin.org]

    I've written an article which clarifies the relationship of GNU-Darwin to Apple.

    http://www.kuro5hin.org/story/2003/1/20/191655/929 [kuro5hin.org]

    Yves de Champlain has also written a very helpful

    • by Graff ( 532189 ) on Wednesday June 11, 2003 @01:07AM (#6168346)
      To quote your own words in this press release [sourceforge.net] :
      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 [macslash.org] 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 [sourceforge.net] or DarwinPorts [opendarwin.org]. If you want to play your social activist game, go play it somewhere else because it is just falling on deaf ears here.
      • Mainenance means that we continue to maintain and support the packages. We have never turned our back on the users, but rather we are engaged with Apple and the user community. Apparently some folks are uncomfortable with the nature of software freedom.

        It is a shame that some are so intent on propagandizing against the Distribution, and I think people are getting sick of the lies that have been spoken against us.

        I'm not trying to insult you personally, Graff, but there are all too many poeple who go o

        • Mainenance means that we continue to maintain and support the packages.

          So then no new packages or further development for PPC?
        • I'm not really up on all this, but the way you say, the Distribution, it sounds like a religious icon.

          "Do not speak against the Distribution,
          nor belive those who do.
          They will be shown to be the charlatans that they are."

          Of course, I could be completely off base... ;^)

          • We are eager to hear constructive criticism about the Distribution, but it is wrong to spread falsehoods. There is nothing mystical or religious about that, is there?

            It is a falsehood to say that GNU-Darwin doesn't support PPC, and our enemies have used this spectacular lie to undermine our credibility. One might speculate about their motives, but no one can deny that it is wrong and immoral. It is sad that so many people have been taken in by the deception.
  • more Yves (Score:5, Informative)

    by proclus ( 33875 ) on Tuesday June 10, 2003 @11:06PM (#6167700) Homepage Journal
    Actually, Yves wrote a whole series, which is quite excellent. Here are the links.

    http://www.osxfaq.com/Editorial/open/ [osxfaq.com]
    http://www.osxfaq.com/Editorial/open/index2.ws [osxfaq.com]
    http://www.osxfaq.com/Editorial/open/index3.ws [osxfaq.com]
    http://www.osxfaq.com/Editorial/open/index4.ws [osxfaq.com]

    Regards,
    proclus
    http://www.gnu-darwin.org/ [gnu-darwin.org]

  • by Anonymous Coward
    I will just stick to my AdamAndEveOS.
  • What I really want.. (Score:3, Interesting)

    by dadragon ( 177695 ) on Tuesday June 10, 2003 @11:26PM (#6167821) Homepage
    What I really want is documentation on how to do Darwin system calls from assembly on the PowerPC.

    I know that you fill certain registers and then use the "sc" call, but which registers do what?

    • Is there a good resource for learning assembly specifically on a PowerPC system?
    • I haven't done this in a while but, IIRC, you put the number of the syscall you want to make in r0 and the arguments in r3 and up (like a normal function call). The result is put into r3.

      Now, if the system call succeeds, control is returned to the instruction *after* the next instruction (ie. it skips one). If the syscall fails, the instruction is not skipped.

      Hmm... that's not very clear. Here's an example:

      li r0, [syscall_num]
      li r3, [arg1]
      li r4, [arg2]
      [etc...]
      sc
      b ERROR
      [code for if the syscall succe

    • You don't. Sure, you can, but it's completely unsupported and your programs may break with every new release of Darwin/Mac OS X. Here's [apple.com] the official answer from an Apple engineer that I got (login/pw = archives/archives).
  • Common Mistake (Score:5, Interesting)

    by dhovis ( 303725 ) * on Tuesday June 10, 2003 @11:45PM (#6167906)
    Roberto made one common mistake in his writeup on Darwin. Darwin does not use a pure Mach kernel. It uses a kernel called xnu [apple.com]. 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.
    • It can't stand for "Xnu's Not Unix"... Darwin is based off of a chunk of the BSD tree, right?

      What, then, could it stand for?
      • Re:Common Mistake (Score:4, Interesting)

        by dhovis ( 303725 ) * on Wednesday June 11, 2003 @03:11AM (#6168700)
        I believe that Apple's long discarded "Copland" next generation OS had a kernel that was called NuKernel. Some of that code was probably merged into the OS X kernel, hence xnu. Remember that Apple used to sell Macs with NuBus expasion slots.
  • Whether or not I get modded down, I implore the gnu-darwin folks to give me a listen:

    What is the advantage to gnu-darwin over FreeBSD or GNU/Linux? No, really, what's the advantage? If it's IOKit & Mach that give you a hardon, then what's the advantage of gnu-darwin over GNU/Hurd?

    I understand and identify with the desire for a free operating system, so I understand why y'all don't like Open Darwin 'n' the APSL. So... what's the draw?
    • Many people are interested in the technical advantages of Darwin, which is certainly part of the equation. I thought that GNU-Darwin would be an exciting way to do my work.

      http://www.apple.com/scitech/stories/cornell/ [apple.com]

      We are also about the freedom part, which is why we are so excited to bring software freedom to Apple users. That is why we make sure that our software works with OS X, and we help newbies with it.

      Finally, there are problems with the APSL from a free software perspective. If you alrea

    • Oh yea, if you are interested in helping the Distribution with our goal of reaching Apple users with software freedom, then that might also be a reason to use Darwin.
    • The advantage over HURD ist that it's actually working, I guess.
    • What is the advantage to gnu-darwin over FreeBSD or GNU/Linux?

      The kernel and base OS is not very spectacular. There's no advantage, really. 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.

      The good stuff is that you can essentially run the same OS on your desktop workstation as on your headless web server or computing cluster.

      --Bud

      • 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.

        Actually, that'd be Darwin [apple.com], not GNU-Darwin [gnu-darwin.org].
      • 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 [apple.com] (more specifically OpenDarwin [opendarwin.org] and people in the BSD group at Apple) are the ones doing all the work on Darwin.

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

        • I don't know what Sen thinks about it, but we are providing these discs as a service to the community. Not everyone has broadband or CD burners you know.
          • As with most things GNU-Darwin, it's not the action that gives me pause, it's the intent.

            There's nothing wrong with providing CDs, but you're charging $15 plus shipping to send a burned CD to someone, and despite mentioning "OpenDarwin", implying that it's GNU-Darwin's release, and not the hard work of OpenDarwin. One of the best things about the open-source community is the community, and the fact that there tends to at least be a little bit of courtesy when using someone else's code, even if it's not

            • I always try to give credit, but we distribute over 10,000 software titles, so that gets a little hard. FreeBSD, Apple, and OpenDarwin get big prominent links on our web pages. We mentioned the fact that the disc in question was OpenDarwin-6.6.1 in the announcement and on the ordering web page. So where is the problem? Where is the bad intent?
              • Giving credit on "hey, we have a port for xroach" is a bit different than "we have a new Darwin release available".

                And like I said before, nothing that was done was "wrong", it just seems like there is often a deliberate attempt to blur the line between the things you've actually contributed and the things you get from others.

                I know GNU-Darwin developers have contributed Darwin code and such; I'm not saying you haven't accomplished anything. I am saying that it seems like GNU-Darwin likes to put eve

    • by Sentry21 ( 8183 ) on Wednesday June 11, 2003 @08:41AM (#6169897) Journal
      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
  • Ugh (Score:5, Informative)

    by Anonymous Coward on Wednesday June 11, 2003 @12:21AM (#6168116)
    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.
    • Re:Ugh (Score:1, Interesting)

      by Anonymous Coward
      OpenStep was developed much later by developers at NeXT. Had nothing to do with CMU. It is a development library...
      Follow-up to myself. OpenStep both referred to a standardized API co-designed by NeXT and Sun, and to the rebadged NeXTSTEP library NeXT marketed as compliant with the API.
    • Re:Ugh (Score:5, Informative)

      by Mneme ( 56118 ) on Wednesday June 11, 2003 @04:05AM (#6168863)

      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.

      • Re:Ugh (Score:2, Informative)

        by DJSpray ( 135538 )
        As a developer writing IOKit drivers for MacOS X, I have to respectfully disagree with calling the Embedded C++ framework a "masterpiece of design." I'll grant it this: it works. But it doesn't support expedient coding, porting, or good modern C++ practice.

        The limited dialect of C++ has been a major hassle, and the embedded C++ standard seems to be completely arbitrary. There are a lot of consequences for the C++ developer trying to write good code in the kernel. This is all allegedly done for the sake of
    • " The difference between a microkernel and a monolithic kernel is that a microkernel has offloaded most system services to outside the protected boundary. "

      Despite that anyone who has taken a course in basic Operating Systems knows this, this review has was not written for people who can name the four principle components of a Unix operating system--it was written for laypeople.

      If I go up to my father, who has a Ph.D. in Microbiology and is well known in that field but lacks the time/patience to learn t
    • I don't mean to pick at the article (because it was quite informative), but i saw something else that bothered me:

      I doubt this will happen because like Linux, Darwin is controlled by Apple and is centralized with Apple.

      Heh. Darwin is controlled and centralised by Apple, just like Linux? Obviously not. Of course, i'm sure that isn't what he intended to say, but eh.

  • Please, please, please don't ever ask me to read something like that again. I couldn't. If I had really tried my head would have exploded. Isn't there a history of Darwin somewhere that is actually legible? This guy writes like a rogue AC, for God's sake, or a diarrhetic pig!

    Could somebody graciously direct me to an equivalent article written by someone who can write?

  • This is so cool, did anyone else read the article?

I've noticed several design suggestions in your code.

Working...