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

82 comments

  1. First post, by Anonymous Coward · · Score: 1, Funny
    and the Geocities (ha!) image link is already dead.

    ~~~

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

    1. Re:Here's a condensed history of Darwin... by commodoresloat · · Score: 3, Funny

      ... Like, when we finally got OS X working, we used it to write a paper, but it was, like, 2002, and everybody was like "BEEPBEEPBEEPBEEPBEEP, I wanna listen to techno!", so we, like, reinvented the walkman and the jukebox in one fell swoop, then brought the music industry into the twenty-first century almost as an afterthought, but people still think we're dying! And it was a really good paper. Oh well, guess I'll just go fly my plane.

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

    2. Re:omg by coltrane69 · · Score: 0, Offtopic

      GPL: Free as in Herpes That is pretty funny. What do you have against the GPL? Yeah, first Slashdot post for me.

    3. Re:omg by Anonymous Coward · · Score: 0

      Its more like, "What do you have against Herpies?" why would anyone want to be assiciated with the GPL?

    4. Re:omg by Anonymous Coward · · Score: 0

      mirrors?

  4. GNU-Darwin supports PPC by proclus · · Score: 2, Informative
    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
    http://www.gnu-darwin.org/x86.shtml

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

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

    Yves de Champlain has also written a very helpful article explaining Apple's relationship to open source and free software.

    http://www.osxfaq.com/Editorial/open/index.ws

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

    1. 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.
    2. Re:GNU-Darwin supports PPC by proclus · · Score: 1
      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 on repeating these tired old saws. They need to get a grip on reality and check with the source instead of believing what people tell them about the Distribution.

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

    3. Re:GNU-Darwin supports PPC by Jack+Auf · · Score: 0, Troll

      Well, thank you for your post. Personally I think he's a spoiled child badly in need of a spanking.

      you answer yourself, pumping your post count up

      I always make it a point to mod any post by Proclus -1 Troll whenever possible for just this reason. If more folks did this he would eventually go somewhere else.

      --
      "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety" - BF
    4. Re:GNU-Darwin supports PPC by Mullmusik · · Score: 1

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

      So then no new packages or further development for PPC?

    5. Re:GNU-Darwin supports PPC by Anonymous Coward · · Score: 0

      We have continued to release update packages for PPC since the Free Darwin action began

    6. Re:GNU-Darwin supports PPC by Mullmusik · · Score: 1

      So then what does 'putting the PPC collection into maintenance mode' mean? How is this different than before? I'm sorry if I'm somehow being thick, but it seems that a lot of people have been mislead by this statement.

    7. Re:GNU-Darwin supports PPC by Anonymous Coward · · Score: 0

      > it seems that a lot of people have been mislead by this statement

      I would say that people were mislead by the incorrect reporting. I never said that we were dropping support for PPC, but based on the sensational reporting, it is easy to see why people could be decieved. That's sad, because they missed out on some great free software. I faced alot of acrimony because of it, but I don't hold it against them, and we continue to support them anyway. I hope that people will be considerate if I have been too severe in correcting the errors.

      Regards,
      proclus

      http://www.gnu-darwin.org/

    8. Re:GNU-Darwin supports PPC by Mullmusik · · Score: 1

      That's fine and I respect it. But you didn't answer my questions.
      I repeat:
      What does 'putting the PPC collection into maintenance mode' mean? How is this different than before?
      Are you saying there is no difference?

    9. Re:GNU-Darwin supports PPC by Anonymous Coward · · Score: 0

      I wasn't talking about the article, I was talking about you seeding the comments with advertisements for buying your DVD distribution on a "dead" discussion.

    10. Re:GNU-Darwin supports PPC by proclus · · Score: 1

      I would think that the community would be interested in the advances of the free software community on behalf of Apple users, especially when we provide the source code for our free DVD recording software. Is MacSlash an open forum or not? GNU-Darwin has generated plenty of ad revenue for MacSlash. Just check their HOF.

    11. Re:GNU-Darwin supports PPC by jdray · · Score: 1
      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... ;^)

      --
      The Spoon
      Updated 6/28/2011
    12. Re:GNU-Darwin supports PPC by proclus · · Score: 2, Funny

      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.

    13. Re:GNU-Darwin supports PPC by proclus · · Score: 1

      I think that I have said all there is to say about this. If you still want further clarification, I'd recommend the following thread on MacSlash.

      http://sourceforge.net/mailarchive/message.php?m sg _id=4466364

    14. Re:GNU-Darwin supports PPC by Mullmusik · · Score: 1

      I'm sorry you feel this way. I do understand that the way this is being reported is not what you wanted. Nevertheless I've followed this topic pretty closely both here and on MacSlash, and I can't recall anything which actually explains what 'putting the PPC collection into maintenance mode' actually means. These are your words. If, as I suspect, this is just an unfortunate choice of words, then just say so. Frankly if you had done this a long time ago it would have saved a lot of confusion.

      BTW, your link in the preceding message doesn't seem to work.

  5. more Yves by proclus · · Score: 4, Informative
    1. Re:more Yves by Zork+the+Almighty · · Score: 2, Funny

      Here's a few more links :

      The history of :
      hereand
      here

      And introduction to
      here

      Glad I could be of help.

      --

      In Soviet America the banks rob you!
  6. no, thank you by Anonymous Coward · · Score: 1, Funny

    I will just stick to my AdamAndEveOS.

    1. Re:no, thank you by proclus · · Score: 2, Funny
      Wouldn't you like some of this fruit. There are some fine apples, very smart. ;-}

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

  7. What I really want.. by dadragon · · Score: 2, Interesting

    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?

    --
    God save our Queen, and Heaven bless The Maple Leaf Forever!
    1. Re:What I really want.. by cuyler · · Score: 1

      Is there a good resource for learning assembly specifically on a PowerPC system?

    2. Re:What I really want.. by ZigMonty · · Score: 2, Informative
      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 succeeds]
      b END
      ERROR:
      [code for if the syscall fails]
      END:

      If the call succeeds, the branch to ERROR is not executed. To find the syscall number you need, have a look at /usr/include/sys/syscall.h.

    3. Re:What I really want.. by Halo1 · · Score: 1

      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 the official answer from an Apple engineer that I got (login/pw = archives/archives).

      --
      Donate free food here
    4. Re:What I really want.. by dadragon · · Score: 3, Informative

      There are a bunch at IBM's technical library, and also Motorola's tech library. The Linux ABI is well documented, as are the other BSDs, but not Darwin.

      Here is one, "PowerPC Microprocessor Family: The Programming Environments for 32-Bit Microprocessors"
      Here is one that is PowerPC Linux specific.

      --
      God save our Queen, and Heaven bless The Maple Leaf Forever!
    5. Re:What I really want.. by bsartist · · Score: 2, Informative

      The Mach-O (Darwin) ABI is documented in this PDF. Or, have a look at libffi for a working example - it's part of GCC 3, and supports Darwin.

      --
      Lost: Sig, white with black letters. No collar. Reward if found!
  8. 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.

    1. Re:Common Mistake by Anonymous Coward · · Score: 0

      He also made about 20 run-on sentences, and several sentence fragments. At least his spell checker works.

    2. Re:Common Mistake by mrseigen · · Score: 2, Funny

      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?

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

      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.

      --

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

  9. I swear to Jesus that I am not trolling. by Elwood+P+Dowd · · Score: 2, Interesting

    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?

    --

    There are no trails. There are no trees out here.
    1. Re:I swear to Jesus that I am not trolling. by proclus · · Score: 2, Interesting
      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/

      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 already have a free OS, and you are happy with that, then you should stick with it.

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

    2. Re:I swear to Jesus that I am not trolling. by proclus · · Score: 1

      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.

    3. Re:I swear to Jesus that I am not trolling. by bursch-X · · Score: 2, Funny

      The advantage over HURD ist that it's actually working, I guess.

      --
      There are two rules for success:
      1. Never tell everything you know.
    4. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      you said that already.

    5. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      What I don't understand is why you took a non-free OS, tacked GNU- on the front, and then said "OH MY GOD! IT'S NOT FREE!" Next are you going to steal a car, and then complain to the insurance company that it's hot? Oh! Oh! Maybe you should go out, buy 10 pounds of chocolate, and then complain to the store that you're diabetic!

    6. Re:I swear to Jesus that I am not trolling. by Bud · · Score: 1
      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

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

    8. Re:I swear to Jesus that I am not trolling. by PygmySurfer · · Score: 2, Informative

      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, not GNU-Darwin.

    9. 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!!!

    10. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      man, i love the use Love is making of that second cinema display. can i have it? i can provide a suitable replacement.

    11. Re:I swear to Jesus that I am not trolling. by proclus · · Score: 1

      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.

    12. Re:I swear to Jesus that I am not trolling. by proclus · · Score: 1

      > "OH MY GOD! IT'S NOT FREE!"

      You are right. It is not free software. We are using Darwin to reach Apple users with software freedom. GNU-Darwin is not "tacked on" We developed the first bootable installer disc for Darwin. We brought the FreeBSD package tools and many other src-level tools to Darwin, and then we provided many thousands of packages for Darwin and Mac OS X users.

    13. Re:I swear to Jesus that I am not trolling. by Ranger+Rick · · Score: 1

      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 legally required of you. Whenever GNU-Darwin makes an announcement, it always seems as if that courtesy (at least mentioning the shoulders you stand on) is skipped.

      I know that if I spent a week putting together a release and then 8 hours later saw someone selling it without even a thank you, I'd be peeved.

      --

      WWJD? JWRTFM!!!

    14. Re:I swear to Jesus that I am not trolling. by proclus · · Score: 1

      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?

    15. Re:I swear to Jesus that I am not trolling. by Ranger+Rick · · Score: 1

      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 everything it associates itself with in an umbrella of re-branding that makes it unclear what belongs to who, to the detriment of those who actually did it. A generic link on the front web page is a step in the right direction, but isn't really an acknowlegement.

      --

      WWJD? JWRTFM!!!

    16. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      Would you be satisfied if we created an acknowledgments page, like Apple's? Personally, I think it is overkill and not general practice in the free software community.

      People often take issue over whether Darwin is really a free OS. GNU-Darwin is the test case. If we are allowed to exist, and to treat Darwin as if it were a free OS, then some of you will have an argument that Darwin really is free (although I would take issue with that ;-).

    17. Re:I swear to Jesus that I am not trolling. by Ranger+Rick · · Score: 1

      What I am saying is pretty straightforward:

      OpenDarwin has announced the availability of version 6.6.1 for PowerPC and x86 (http://www.opendarwin.org/en/news.php#26). You can order a CD-R disc from us for $15 plus shipping from our site at:

      http://www.gnu-darwin.org/order.shtml

      (and so on)

      Almost the same as the original announcement, only this time it doesn't imply that it's your announcement, and not OpenDarwin's, and it doesn't imply that buying a CD is somehow the only way to get it.

      Or you can do nothing, your job isn't to satisfy me unless you feel there is something to change. I'm just giving my $0.02. No matter what good or ill your project does, it's losing a lot of karma with plenty of people in the way it presents itself. There's no one thing to point to and say "this is wrong!" But the overall impression I get is one of shutting yourself off from the rest of the community, while continuing to take advantage of what it offers.

      --

      WWJD? JWRTFM!!!

    18. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      No, Apple made the first bootable installer disc. You just made the first one based on the source they released publicly.

      What I question is your motives. You knew it was non-Free from the getgo, so you have no right to complain that now that you've chosen it as your platform it's non-Free. If you wanted to bring freedom to Apple users, encourage Free alternatives, don't try to convert tainted code.

      You can't rescue slaves from a slave ship, put them in a holding cell, say "just wait until we free you!" and consider yourself a freedom fighter.

    19. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      $15 plus shipping is a service? You're charging $17 - $20 for a $5 product and calling it a service? That's bullshit...you're just using OpenDarwin to make money for yourself.

    20. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      > Where is the bad intent?

      I think this says it all. Notice that the default view of MacSlash is "newest post first". Also notice how some user named "proclus" posts a friggin' advertisement in the forum, ripe to show at the top of the comments, 4 months after the last post to the thread!

    21. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      I think that the bridge building metaphor is at least as credible as yours. We provide a glide path for Apple users to software freedom. Many of our users "graduate" to genuinely free OS's.

    22. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      Sorry to say that you are way out on a limb, and reading way too much into the murky tea leaves. Fortunately, many people are taking what we offer at face value.

    23. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      GNU-Darwin proceeds go back to the Distribution for the benefit of the users. If you think that I have made any money with the endeavor, then you are on crack.

    24. Re:I swear to Jesus that I am not trolling. by Anonymous Coward · · Score: 0

      What percentage of the proceeds go to OpenDarwin?

    25. Re:I swear to Jesus that I am not trolling. by proclus · · Score: 1

      $0. OpenDarwin already has sponsors with deep pockets. GNU-Darwin has nothing like that, so we depend on proceeds from contributing users and disc sales to grow the Distribution.

  10. 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 Anonymous Coward · · Score: 1, Interesting
      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.
    2. 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.

    3. Re:Ugh by Llywelyn · · Score: 1

      " 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 the Unix side of MacOS X, and start talking about "protected boundaries" I am going to get a blank stare.

      One of the first rules when writing anything vaguely technical is that you have to consider your audience. This was not written for people who can spout off MIPS assembly, have done work with OSP or NACHOS, and can recite from memory the man pages for a dozen unix commands--it was written for laypeople.

      His explanation could have been more technically precise or more accurate, but it wasn't important to do so for the purposes of the article.

      --
      Integrate Keynote and LaTeX
    4. Re:Ugh by lvdrproject · · Score: 1
      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.

    5. Re:Ugh by DJSpray · · Score: 2, Informative

      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 a lower footprint and efficiency, but I just plain don't believe this arguments. I will believe that supporting these C++ features, especially as GCC has gone through revisions, would cause binary ABI compability thrashing... but that's a problem to be solved by the kernel developers. Solving it by turning C++ back (mostly) into C is not helpful.

      Here's what "EC++" means to me:

      - no exceptions: means that you can't have non-trivial constructors. So you're expected to use macros to generate a default constructor for your class, which initializes the base class reference count and what-not.

      - no non-trivial constructors: means that you can't properly use constructor chaining and set up const members.

      - not being able to set up const members means that your class can't be initialized containing reference objects.

      - instead of using constructors the way Bjarne intended, there's a paradigm of using init() methods and explicitly calling the superclass init(), checking for errors everywhere.

      - for memory management, I have to explicitly manage reference-counting in certain circumstances. This is because copy-construction and assignment operators can't be implemented properly in order to create a true smart-pointer class.

      - the CF (CoreFoundation) container classes won't work in the kernel. To work around this, there is a simplified version of these containers available, where we have OSArray and OSNumber and what-not instead of CFArray and CFNumber. In certain circumstances, such as when working with the registry, voodoo magic results in user-space CF container objects being magically transmogrified into OS container objects. The design of both frameworks is biased towards the Objective-C runtime and not very "C++" ish.

      - One feature that would have been of great utility in the kernel, where loadable modules fit into a single environment: namespaces! Instead, we're expected to preface the names of classes with com_mycompany_myproduct... uglifying everything in sight. This can be eased a little using macros, but then we've got... macros. What was the rationale that the EC++ consortium used for banning namespaces?

      "The typical target CPU for the Embedded C++ specifications does not have much memory. Therefore, the size of application programs cannot be very large. Under such conditions, names seldom, if ever, come into conflict.." but the kernel is not a typical embedded application; it is precisely a place where many drivers from many different vendors will be prone to name collision.

      Actually, Apple's documentation is silent on the subject of namespaces (as it is silent on many subjects). The compiler accepts them, but using them results in problems when using the macros for defining our default constructors...

      - RTTI. No dynamic cast; instead we use another... wait for it... macro. With "fake" RTTI in the OSObject base class taking the place of a standard language mechanism.

      Now, templates, streams, and STL, I'm actually in favor of keeping out of the kernel. (Although the standard string class, and perhaps istringstream would be nice, if it could be implemented without STL and templates). So I don't want to see all of C++ banned. Forbidding exceptions arguably makes some sense, but the consequences in this implementation cascade into a lot of pain.

      Modern C++ practice calls for declaring const things const, using references instead of pointers where practical, and maintaining an allocation-is-initialization style. Embedded C++ bans "mutable," bans RTTI, forces explicit initialization, screws up const members and the use of reference members, and basically results in banning much of the modern C++ world that helps make code more robust. I don't think this is progress!

  11. Re:I doubt Darwin will surpass Linux or Mac OS X by displaced80 · · Score: 1

    Darwin is Mac OS X. Turn off the GUI, and you've got Darwin.

    uname -a on my OS X (v10.2.6) machine gives:

    Darwin endeavour 6.6 Darwin Kernel Version 6.6: Thu May 1 21:48:54 PDT 2003; root:xnu/xnu-344.34.obj~1/RELEASE_PPC Power Macintosh powerpc
    --
    What's the frequency, Kenneth?
  12. Re:I doubt Darwin will surpass Linux or Mac OS X by Anonymous Coward · · Score: 0

    just to clarify - turn of the GUI, and ignore the Cocoa/Carbon libs = Darwin.

  13. Re:I doubt Darwin will surpass Linux or Mac OS X by RDohnert · · Score: 0

    I was talking more as a standalone system. What makes OS X interesting to me and many geeks I think is not Aqua, Its not the Applications that Mac OS X has to offer its the core, the essentials. And I run Darwin standalone on my Athlon XP as well as My ThinkPad standalone. I dual boot with SuSE Linux because of some Hardware devices that I need to run, but with X11 as well as these ported Open Source Apps you have a perfectly viable system, with the introduction of a few more device drivers (USB, FireWire and Sound) and I will dump Linux.

  14. GNU-Darwin supports PPC by Anonymous Coward · · Score: 0

    We have always supported PPC, and we are on the platform for the duration. It is sad that so many people have been misled by bad reporting. Here is the clarification. http://www.macslash.org/comments.pl?sid=02/12/18/2 332242&cid=8

  15. This Guy Can't Write by RadRafe · · Score: 1
    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?

    1. Re:This Guy Can't Write by Anonymous Coward · · Score: 0

      I find the article to be well written and very, very informative. The GNU Darwin group and the Darwin community should be very proud to have the author involved. I find his technical descriptions of the differences between microkernels and monolithic kernels to be very accurate and precise. He left out a few details. Overall, a very good paper.

  16. This is so cool by togtog · · Score: 1

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