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
signature.asc
Description: PGP signature