Skip site navigation (1)Skip section navigation (2)
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>