Date: Sun, 10 Sep 2006 02:14:33 +0400 From: Stanislav Sedov <ssedov@mbsd.msk.ru> To: Robert Watson <rwatson@FreeBSD.org> Cc: Eder <ederbs.hackers@gmail.com>, freebsd-hackers@freebsd.org Subject: Re: The nature of kernel of the FreeBSD Message-ID: <20060910021433.62e183f7@localhost> In-Reply-To: <20060909160249.F87517@fledge.watson.org> References: <2699850609061520wad7f0f2s7b402fb7789336ff@mail.gmail.com> <20060906233245.GA23592@owl.midgard.homeip.net> <20060909160249.F87517@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_WPobGFkkrk7M_i_++LqWJ_= Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable On Sat, 9 Sep 2006 16:04:51 +0100 (BST) Robert Watson <rwatson@FreeBSD.org> mentioned: >=20 > I think that is a poor characterization. The vast majority of code in th= e Mac=20 > OS X kernel is device driver code in IOKit, which is from neither BSD nor= =20 > Mach. Mach provides the VM and IPC, but it's hrad to argue that the=20 > architecture of the Mac OS X is the Mach architecture, because it's not a= =20 > micro-kernel , and the kernel does not aspire to be one. The major=20 > visible/complex services in the kernel, both file system and network stac= k,=20 > are very BSD, and are directly derived from FreeBSD. I think it's reason= able=20 > to argue that Mac OS X is significantly influenced, both in architecture = and=20 > code, by both Mach and BSD, but pretty inaccurate to state that it adopts= one=20 > 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 ker= nel 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,= =20 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. =20 --=20 Stanislav Sedov MBSD labs, Inc. <ssedov@mbsd.msk.ru> =F2=CF=D3=D3=C9=D1, =ED=CF=D3=CB=D7=C1 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 --Sig_WPobGFkkrk7M_i_++LqWJ_= Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFFAzzNK/VZk+smlYERAlzwAJ9yva3WXxGxYXFTyjDlQPT6n7EKKACdFW0j gu1YdWnQxPOJ6M98HodPCTY= =JUON -----END PGP SIGNATURE----- --Sig_WPobGFkkrk7M_i_++LqWJ_=--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060910021433.62e183f7>