2 Guys, a Mac, and a Website - The Evolution of the Web - What the Heck Is This Darwin Stuff Anyway?
October 10th - Hey, happy pantsday.
2 Guys Store

120x60

 Search

 Classic 2 Guys
10 Random Stories:
Buckeye Music Swappers Busted
Natural Born iPod mini Killer
Got my X for Teachers! But what's this 9.2.1?!?!
Microsoft Longhorn: New Technologies; Same Insecurities
Problems that the Video iPod Will Face
Decision Time People!
Ugh...That Damn Faulty Logic Board Again
What the RIAA Means to Me
Konfabulator is cool like MR. T.
Finding Nemo - A wonderful cinematic adventure

 Comments
yum hot guys - core
You guys are the pants! - PHP WannaBe
Maybe they don't like you - so they sent you defective product. Have yo... - DJLC
A friend of mine had this product, and the antenna portion quickly came... - Cubist
And the other rule of not commenting on your own article!
...
- Jonahan


 Account
Not logged in.

Username:
Password:
Save password
Not registered?




 What the Heck Is This Darwin Stuff Anyway?
You can't read anything about Mac OS X these days and not see the words Unix and Darwin. All of the literature says that Mac OS X having a Unix base provides rock solid dependability and stability. But what is Darwin and Unix? And how did they make it into Mac OS X? There is no easy answer to this question, and the road is long, but the story starts at Bell Labs in the late Sixties.

Computers at the time were enormous. There were enough equipment racks to fill a warehouse. The computers were expensive to run and had limited access. The operating systems on these machines would only allow them to run one task at a time, much like the first versions of the Mac OS.

Scientists and engineers needed a way to get into computers that they didn't have direct access into. Administrators wanted a way to make more efficient use of computer cycles. Why run only one task that takes up only ten percent of the computer cycles when you could run ten similar tasks simultaneously. Enter Unix.

Unix solved all of these problems. Unix is a multi-user system, that is more than one user can be logged in at a time. Any scientist with a terminal could log into the computers and use them.

It is also a multi-tasking operating system. Unix is able to run many tasks (or jobs) at the same time. This allowed the administrators to maximize the expensive computing time.

Since the early days at Bell Labs, many people have worked on Unix, The University of California at Berkley, MIT, and The Department of Defense to name a few.

Unix always had a community philosophy behind it. If it was good for the community, then it was good for Unix. The source code (the code used to compile the operating system) was given out as well. Many of the software programs and utilities were distributed free to whoever wanted to use them. In the same way some developers allowed the use of their version of Unix free of charge.

As a result, Unix became a standard in high quality scientific computing circles. Because the source code was available to all users, bugs and holes were fixed at a very rapid rate. Users were also able to modify the source code to fill their specific needs. These changes could be submitted to the developers to be included in the operating system in a later release. This allowed Unix to evolve very quickly.

So, Unix is a strong, community organized, secure operating system. How did it make its way into OS X? In early 1997, Apple acquired NeXT Computer. Steve Jobs had left Apple to start the company a few years earlier. The one thing that Jobs learned from the NeXT venture was the power of Open Source software. Open Source is software that is distributed with the source code. This enables the end user to change the code if he likes and to submit his changes back to the original writer for possible inclusion in the next release. The classic Unix philosophy reborn.

NeXT had released their operating system under the open source model. This allowed them to have an army of developers who used the products on a daily basis. The result was that the operating system was able to mature at a much faster rate and it was able to keep up with customer demand much more quickly.

In 1999 Apple became the first major computer manufacturer to release its operating system as open source. It was called Darwin.
Darwin is the result of merging two existing open source projects BSD Unix from the University of California Berkley and the Mach 3 kernel developed at Carnegy Mellon University. The complete operating system is available for free from the project homepage.

Darwin is made up of five different parts: the Mach microkernel and BSD subsystem, the file system, networking, and the I/O system. The Mach microkernel manges all of the underlying functionality: processor resources, scheduling, memory protection, and a communication layer for the other layers of the operating system. BSD is wrapped around the microkernel bringing the Unix functionality to the operating system.

Darwin uses a version of BSD 4.4 Lite which provides a POSIX API, networking, security policy and threading support. It is because of the BSD layer that many of the popular open source programs run on Mac OS X. The BSD layer also provides the rock solid security.

The Mac OS X file system supports both the Mac file system and Unix. The file system layer is designed on a refined VFS design that allows for the easy addition of other file systems as they become available.

The networking layer is based on the BSD implementation of TCP/IP. TCP/IP is the networking layer that makes up the World Wide Web, giving OS X a very versatile and wide spread networking protocol.

The I/O layer is written in an object oriented fashion that allows developers to easily write device drivers that will incorporate well into the multitasking environment.

These components make up a very solid operating system in their own right. In fact, you can download and run Darwin without running Mac OS X. OS X includes the aqua GUI and other proprietary components that are not included in Darwin itself.

Apple set out on a ground breaking course by releasing the operating system to the open source community. As a result, they have engineered a very sophisticated operating system that is inherently secure. The best part about it is that the community still has input and in many ways will drive in which direction the technology moves. In this way, Apple will stay one step ahead of the competitors.

Further Reading:

http://developer.apple.com/darwin/history.html
Apple Confidential Owen W. Linzmayer
Darwin Project Homepage

June 15 2004, 9:16 AM EDT, by




Comments:
sweetjimmyhugs 6/15/04, 12:07 PM EDT
nice article.

Apple made a really good decision when it released Darwin to the Open Source Community. In doing that, Apple helped itself out big-time by effectivly out-sourcing R&D (for Darwin, at least) for no cost to the company.


nhmacusr 6/15/04, 8:48 PM EDT
Well, not exactly no cost. Most of the core Darwin developers are Apple employees. However, by open sourcing the operating system, the gained valuable user input. Because it is open source, they not only get feature requests, but they get patches with entire features. They also get patches for security fixes. So ya, they pay the core developers, but they gained a small army of 'free' developers. Plus they can still borrow from the other core projets (Mach 3 kernel and FreeBSD).

sweetjimmyhugs 6/16/04, 8:41 AM EDT
True dat! I was kind of over-simplifying it, but I think we said the same thing... sort of.


Jonahan 6/16/04, 8:34 PM EDT
Yes, I second SJH - awesome article! =-)

For anyone intersted in more of the history of NeXT, Apple, and how things came to be with OS X (among lots of other things), check out the book The Second Coming of Steve Jobs.

cAtraXx 6/22/04, 2:02 PM EDT
Actually it's quite cool to have some payed people in a open source team, if been working on some and one of the biggest problems was always that for some reason nobody had time to work on the project anymore.

With some paid people you fix the problem and you run the whole developement much faster by skipping over these periods of idleness. Also, many opensource projects have problems with the organization. I was working on the grafics of a project once and later found that three other people already did the same already, that was where the fight started ;)

No it's really cool to have some people you can definately count on.

Now Darwin was really a cool addition for the Mac community. Just go on sourceforge and see how many project were ported to OS X already and many more plan to do so.

nhmacusr 6/22/04, 2:17 PM EDT
Darwin is by far not the only project to have full time developers. Many of the KDE deveopers work at SuSe. A group of the GNOME deveopers work at Red Hat (developers working on other portions work there too). So, ya, many of the more successful open source projects have full time developers. Nothing wrong with insuring that the project is going to forge ahead.

cAtraXx 6/28/04, 1:06 PM EDT
Although i have to say that Debian Linux works exeptionally well without full-time dev guys.

I guess when a project reaces a certain size it it's possible indeed to have a solid core of programmers.



This article is archived, so you may not comment on it.

(The good news is there's always the shoutbox, the forums or the contact form if you're socially-inclined at the moment!)


iMac G5_468x60
MacMini_02

 Site Links
 Deep Thoughts
I think college administrators should encourage students to urinate on walls and bushes, because then when students from another college come sniffing around, they'll know that it's someone else's territory.

 Around Da Web
iProng:
iPhone steals show at CTIA Wireless 2007
DLO offers dual cover fashion case for iPod
AT&T received 1M inquiries on iPhone
MacDailyNews:
Ars Technica in-depth review: Apple TV ?impressed all those who touched it?
Inside Apple?s Mac OS X 10.5 Leopard Server OS
The chips inside Apple TV
Think Secret:
Adobe Creative Suite 3 pricing revealed
 Olde Stuff
2 Guys Podcast Feed
Greatest American Hero
iAir
Scary Ballmer
Space Game
 We Like:
 • 2 Guys
 • Apple.com

 Side Projects
Jonahan
  • JediPoker.net
  • Jonahan.com
  • iProng
  • MacProng
iKen
  • MacIdiot
Jedbeck
  • Jedbeck.com
J.P.
  • Baby Ashley Project