Darwin/Mac OS X: The Fifth BSD 64
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."
wierd (Score:3, Insightful)
Makes me wonder
Re:I had a cat..... (Score:1)
Re:wierd (Score:1)
Re:wierd (Score:1)
Yeah, on /. posts, i tend to make a complete idiot out of myself. *sigh*
What about... (Score:2, Troll)
ClosedBSD is FreeBSD (Score:1)
What about ClosedBSD?
ClosedBSD is a distribution of FreeBSD designed for firewalls and NAT boxes. Read More in the FAQ [closedbsd.org].
Re:ClosedBSD is FreeBSD (Score:1)
The Sixth BSD? (Score:1)
Re:The Sixth BSD? (Score:1)
Re:Mac OS X is not BSD. (Score:1)
Darwin strength (Score:5, Informative)
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.
Re:Darwin strength (Score:2)
For those who want to look deeper:
The IOKit [apple.com] especially is very cool.
Re:Darwin strength (Score:2)
While I haven't use MacOS X (Windows and Linux, basically, on my current machines), I've heard that its performance is a little slow. Could this microkernel penalty be part of the problem? Could it be fixed? (This note is not meant as a dig against MacOX X, which seems like a brilliant concept; it's a serious question.)
Re:Darwin strength (Score:2)
I have a TiBook 667, and friends run OSX on Pizmo powerbooks. The networking has never been an issue to be quite honest. The packet handling code is all lifted from FreeBSD-3.2, which is blisteringly fast. The slowness I've heard about is in the Aqua eye-candy features like transparency and the "genie" effect. I have personally had slowness with some Carbon (The OS8/9-OSX cross compatibility framework) apps due to poor event loop handling, but that's just cooperative multitasking that hasn't been fixed in the "Carbonization" of the app.
I am a FreeBSD person, so I have very high expectations about the multitasking performance, and I *HATE* the vestiges of classic that people leave in their apps. I have a prejudicial preference for all things Cocoa, because that means OSX preemptive multitasking ala FreeBSD (as far as performance goes).
I regularly FTP/SFTP from OSX to sparcv9-Solaris-8 and x86 FreeBSD-STABLE. I am impressed with the performance of the little 5400 RPM 30GB HDD on my TiBook, but thus I haven't felt the network stack's influence on latency or bulk transfer speed: Mach or anything.
PCI Hotplug (Score:1)
Actually, there are people working on this for the linux kernel at least See this page [kroah.com] or the May issue of Linux Journal page 54.
I imagine that similar capabilities could be coded for any BSD as well.
Re:glad to see (Score:1, Flamebait)
Chris
Re:Elegy for *BSD (Score:2, Insightful)
Re:the 5 BSDs....+ lainOS (Score:1)