On Sat, 9 Sep 2006 16:04:51 +0100 (BST)
Robert Watson <[EMAIL PROTECTED]> mentioned:
> 
> I think that is a poor characterization.  The vast majority of code in the 
> Mac 
> OS X kernel is device driver code in IOKit, which is from neither BSD nor 
> Mach.  Mach provides the VM and IPC, but it's hrad to argue that the 
> architecture of the Mac OS X is the Mach architecture, because it's not a 
> micro-kernel , and the kernel does not aspire to be one.  The major 
> visible/complex services in the kernel, both file system and network stack, 
> are very BSD, and are directly derived from FreeBSD.  I think it's reasonable 
> to argue that Mac OS X is significantly influenced, both in architecture and 
> code, by both Mach and BSD, but pretty inaccurate to state that it adopts one 
> architecture over the other -- it really adopts both.

Actually, they're using OSF/1 architecture with fully monolitic kernel.
As you might know, OSF finally ended up with monolitic kernel, replacing
MACH ipc calls by stubs generated with MIG (mach interface generator).
They've posed, that they can divide kernel logically this way, while
not introducing context switching pitfalls. Actually, their kernel
was much slower than BSD (due to MACH design defects).

XNU followed this architecure. They just added IOKit, rewrote VM system and
added new code derived from FreeBSD. By rewriting VM and fixing some issues
they achieved satisfactory performance. Though, their kernel isn't logically
clear like OSF/1, it's very complicated like spaghetti, and often violate
MACH IPC interface by calling some functions directly or modifying MACH kernel 
global variables.

In fact, XNU differs from FreeBSD 4 mainly in VM subsystem.

I didn't used MacOS X much, but I don't know how it can be faster then X11, 
since Cocoa uses MACH FASTIPC calls, introduced by Apple, heavily. At least
I believe 2d stuff (not Xrender) is much faster in X11, since it's highly
optimized, and X11 uses direct access to hardware to utilize hardware
acceleration. Xrender might be slower, since it often falls back to software
rendering (that's why recent gtk versions are so slow). Also, Cocoa might
operate faster due to good 3d/2d drives availabilty. At least, ATI
opensource dri driver is known to perform 2-3 times slower than even
Windows one.  

-- 
Stanislav Sedov         MBSD labs, Inc.         <[EMAIL PROTECTED]>
Россия, Москва         http://mbsd.msk.ru

--------------------------------------------------------------------
If the facts don't fit the theory, change the facts.  -- A. Einstein
--------------------------------------------------------------------
PGP fingerprint:  F21E D6CC 5626 9609 6CE2  A385 2BF5 5993 EB26 9581

Attachment: signature.asc
Description: PGP signature

Reply via email to