|
Search |
|
|
|
Classic 2 Guys |
|
10 Random Stories:
|
|
|
|
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!)
|
|
|
|
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
|
|
|
We Like: |
|
|
|
Side Projects |
|
Jonahan
- JediPoker.net
- Jonahan.com
- iProng
- MacProng
iKen
Jedbeck
J.P.
|
|