[plt-scheme] SQLite

From: gregory.woodhouse at sbcglobal.net (gregory.woodhouse at sbcglobal.net)
Date: Wed Jan 31 15:57:25 EST 2007

I don't think that's exactly right. Mach is a microkernel based system developed at Carnegie Mellon that (to the best of my knowledge) just covers process and memory management. It's not a full OS. Steve Jobs was actually behind another product (the NeXT box) that was Mach based, though not nearly the commercial success that OS X was to become. Interestingly, I was first introduced to Scheme by a housemate who actually had a NeXT cube -- I was jealous! Anyway, to form a complete system, a layer needs to be built on top of the microkernel, and OS X uses a FreeBSD emulation layer. In other words, it isn't really FreeBSD, but rather a Mach based OS that supports an interface similar (I don't know enough to say how far the similarity goes) to FreeBSD. I don't think the decision to use Mach has anything to do with POSIX compliance, except insofar as supporting the FreeBSD layer supports POSIX compliance. POSIX is, of course, the portable operating system interface standard, and
 it really applies to all flavors of Unix/Linux (some of which are fully compliant and some of which are not).

I've actually never worked with FreeBSD itself (though I originally learned about Unix using  Version 7, followed by BSD 4.2 and 4.3). I've thought about installing FreeBSD separately (maybe under Parallels?) buty never found any compelling reason to.
Gregory Woodhouse 

"Mathematics is the science of patterns."
--Lynn Arthur Steen, 1988

----- Original Message ----
From: Andrew Gwozdziewycz <apgwoz at gmail.com>
To: plt-scheme at list.cs.brown.edu
Sent: Wednesday, January 31, 2007 4:04:16 AM
Subject: Re: [plt-scheme] SQLite

On Jan 30, 2007, at 4:37 AM, Hans Oesterholt-Dijkema wrote:

There must be something like ldconfig (like linux uses)
for MacOS X. Otherwise, the OS itself would have to hardwire
stuff and if I remember well, MacOSX is a derivative of

MacOSX is NOT a derivative of freeBSD. OSX is built on top of
the Mach Microkernel, which allows "compatibility layers" to be
created on top of it. Therefore, OSX provides a FreeBSD 
"compatibility layer" on top of the Mach Microkernel to take advantage
of POSIX standards.

This however does not always translate into correct results. For instance
take a look at Amit Singh's challenge from 2005:
http://www.kernelthread.com/mac/challenge/result/ where it's discovered
that a kernel panic can occur by creating a mach_task which then creates
a new thread. However since the call wasn't created by exec() or fork() an
important field is not set that tries to be referenced. It wasn't set because
it can't be set because mach doesn't know how or why a layer above it
needs something like this set. It doesn't care, but "FreeBSD" of course 

Andrew Gwozdziewycz
apgwoz at gmail.com
http://and.rovir.us  |  http://www.photub.com

  For list-related administrative tasks:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20070131/6ca04917/attachment.html>

Posted on the users mailing list.