From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <3e1162e604121710527abe8fd5@mail.gmail.com> Date: Fri, 17 Dec 2004 10:52:51 -0800 From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] Acme mailreader In-Reply-To: <9ccf822edf0a9a77c141ae47312638dd@collyer.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <3e1162e6041216070874f424e5@mail.gmail.com> <9ccf822edf0a9a77c141ae47312638dd@collyer.net> Topicbox-Message-UUID: 1a26deaa-eace-11e9-9e20-41e7f4b1d025 On Thu, 16 Dec 2004 15:22:59 -0800, geoff@collyer.net wrote: > I worked at Apple in the BSD group. > > The XNU non-Mach code was clearly some BSD kernel and I don't really > care which. My colleagues told me it started out with NetBSD but that > that was eventually dwarfed by FreeBSD with contributions from > elsewhere. While I was there, there was talk of dragging in code from > the latest FreeBSD, notably the FFS with soft updates; I'm pretty sure > that happened. Given that the group was (and probably still is) > headed by Jordan Hubbard of FreeBSD fame, I suspect that they're > continuing to pull in FreeBSD code and it isn't just hype. > Mac OS X still doesn't have softupdates. I know because I took a crack at integrating them from OpenDarwin and was in sync with some other guys looking at it too. I also use Mac OS X pretty much every day of the week and spend most of my time developing on it. What they do have is VFS level journaling now and HFS+ takes advantage of it. There are things like kernel queues [terribly broken implementation of them in Panther. I can panic a box with them very reliably] from FBSD but some stuff just can't be easily ported from FBSD 5 due to the heavy reliance on mach for VM and scheduling. This is one of the most accurate sources of Mac OS X overviews I've seen: http://www.kernelthread.com/mac/osx/ > Note too that the XNU BSD code, measured in source lines, is almost > exactly as huge as the Mach code, so the volume of *BSD code in XNU is > not, in my opinion, exaggerated: it is (or was in 2002) half the > kernel source. (I don't remember which side of the fence IOKit was > counted against.) That sounds about right to me :). I've not played around in xnu in any serious way for a couple of months or years or so. > > Nevertheless, I stand by my statement that OS X is in no sense a > micro-kernel, and that user-mode file servers will not (as a result of > access to a micro-kernel) be easier to implement on OS X than on other > (l)unixes. Mac OS X is not a microkernel architecture... but it does "have a microkernel" :). I've seen kernel extensions that communicate with userland via mach_ports for process death notifications and other weird stuff like that. People have said that Mac OS X's ftpfs is done in userspace but since it's not open source there is no way for me to verify that.