Darwin/Mac OS X: The Fifth BSD
LiquidPC writes: "Lance M. Westerhoff from AppleLust has written a superb article on the history of BSD. The article talks about the first versions of BSD and continues with the stories of NetBSD, OpenBSD, FreeBSD, BSDi, and it finishes off with Darwin/MacOSX."
Makes me wonder
What about ClosedBSD?
Does that mean that JUNOS is the sixth BSD?
Protoplasm. Quiet Protoplasm. I like quiet protoplasm.
What about ClosedBSD?
ClosedBSD is a distribution of FreeBSD designed for firewalls and NAT boxes. Read More in the FAQ.
Will I retire or break 10K?
Seems like they are 5 of them.
Darwin is a Mach kernel, which is a microkernel, based OS. Microkernels ONLY manage/arbitrate the connections between the upper half of device drivers and the IO buffer interface that software can see. The FreeBSD kernel is wrapped around Mach, rather than attatching drivers directly. As a result, the kernel (managing all kinds of goofy stuff like tables of TCP/UDP sockets in use) is preemptable by drivers that need realtime processing (like a FireWire video stream). Also, since the FreeBSD kernel layer only sees a virtual device interface, devices can be attatched and detatched at will without crashing the kernel. You can unload the device driver, recompile it, reload it, and you have just upgraded a device driver without needing to reboot. If your hardware wouldn't fry in the process, you could rip the video card out of a runnig machine, and replace it. Applications may decide to die when they get the message they are not allowed to write to the framebuffer, but then again they could be written to wait patiently...
The same sort of technique is used to "virtualise" filesystems. So, you have Mac, Mac-extended, UFS, FAT, EXT2FS partitions on the disk, the software is insulated from the differences. It's as if everything looks like it's wrapped in an NFS mount to the OS. This may not be totally accurate on a technical level, but you should understand that there is another layer of abstraction to the Mach kernel architecture..
Theoretically, you could have heterogenous CPUs in a system. Mach would treat them just like another device with a driver and IO to route here and there. Not that this isn't possible in other OSes, but Mach makes it much easier to do the software side.
--- Nothing clever here: move along now...
Too bad it's not true. Even if BSD did die, I'd still install it on all my new boxes.
Common sense is not so common.
Please stop forking your comments, most people probably wont get the joke.
Chris
neovanglist != thanjee :P
Saying your OS is the best because more people use it is like saying MacDonalds make the best food
If your hardware wouldn't fry in the process, you could rip the video card out of a runnig machine, and replace it.
Actually, there are people working on this for the linux kernel at least See this page or the May issue of Linux Journal page 54.
I imagine that similar capabilities could be coded for any BSD as well.
It was to my understanding that NeXTSTEP was supposed to be based on BSD. But of course, I can't tell you where I heard that, so if you feel otherwise, go ahead and tell me.
-- If it aint broke, fix it till it is. --