<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><DIV></DIV>
<DIV>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).</DIV>
<DIV> </DIV>
<DIV>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.</DIV>
<DIV> </DIV>===<BR>Gregory Woodhouse <GREGORY.WOODHOUSE@SBCGLOBAL.NET><BR><BR>"Mathematics is the science of patterns."<BR>--Lynn Arthur Steen, 1988
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><BR><BR>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">----- Original Message ----<BR>From: Andrew Gwozdziewycz <apgwoz@gmail.com><BR>To: plt-scheme@list.cs.brown.edu<BR>Sent: Wednesday, January 31, 2007 4:04:16 AM<BR>Subject: Re: [plt-scheme] SQLite<BR><BR><BR>
<DIV>
<DIV>On Jan 30, 2007, at 4:37 AM, Hans Oesterholt-Dijkema wrote:</DIV><BR class=Apple-interchange-newline>
<BLOCKQUOTE type="cite">
<DIV style="MARGIN: 0px">There must be something like ldconfig (like linux uses)</DIV>
<DIV style="MARGIN: 0px">for MacOS X. Otherwise, the OS itself would have to hardwire</DIV>
<DIV style="MARGIN: 0px">stuff and if I remember well, MacOSX is a derivative of</DIV>
<DIV style="MARGIN: 0px">(free)bsd?</DIV></BLOCKQUOTE></DIV>
<DIV><BR class=khtml-block-placeholder></DIV>
<DIV>MacOSX is NOT a derivative of freeBSD. OSX is built on top of</DIV>
<DIV>the Mach Microkernel, which allows "compatibility layers" to be</DIV>
<DIV>created on top of it. Therefore, OSX provides a FreeBSD </DIV>
<DIV>"compatibility layer" on top of the Mach Microkernel to take advantage</DIV>
<DIV>of POSIX standards.</DIV>
<DIV><BR class=khtml-block-placeholder></DIV>
<DIV>This however does not always translate into correct results. For instance</DIV>
<DIV>take a look at Amit Singh's challenge from 2005:</DIV>
<DIV><A href="http://www.kernelthread.com/mac/challenge/result/" target=_blank rel=nofollow>http://www.kernelthread.com/mac/challenge/result/</A> where it's discovered</DIV>
<DIV>that a kernel panic can occur by creating a mach_task which then creates</DIV>
<DIV>a new thread. However since the call wasn't created by exec() or fork() an</DIV>
<DIV>important field is not set that tries to be referenced. It wasn't set because</DIV>
<DIV>it can't be set because mach doesn't know how or why a layer above it</DIV>
<DIV>needs something like this set. It doesn't care, but "FreeBSD" of course </DIV>
<DIV>does.</DIV><BR>
<DIV><SPAN class=Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; border-spacing: 0px 0px; orphans: 2; widows: 2"><SPAN class=Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; border-spacing: 0px 0px; orphans: 2; widows: 2"><SPAN class=Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; border-spacing: 0px 0px; orphans: 2; widows: 2">
<DIV>--</DIV>
<DIV>Andrew Gwozdziewycz</DIV>
<DIV><A href="mailto:apgwoz@gmail.com" target=_blank rel=nofollow>apgwoz@gmail.com</A></DIV>
<DIV><A href="http://and.rovir.us/" target=_blank rel=nofollow>http://and.rovir.us</A> | <A href="http://www.photub.com/" target=_blank rel=nofollow>http://www.photub.com</A></DIV>
<DIV><BR class=khtml-block-placeholder></DIV><BR class=Apple-interchange-newline></SPAN></SPAN></SPAN></DIV><BR>
<DIV>_________________________________________________<BR> For list-related administrative tasks:<BR> <A href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target=_blank>http://list.cs.brown.edu/mailman/listinfo/plt-scheme</A></DIV></DIV><BR></DIV></div></body></html>