Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Sep 2003 01:07:51 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        "Person, Roderick" <personrp@ccbh.com>
Cc:        freebsd-advocacy@freebsd.org
Subject:   Re: Sorry.
Message-ID:  <3F6967D7.7EC6F0CB@mindspring.com>
References:  <4BA256918ACE7449BD7896E65711C88B41E80F@1UPMC-MSX8.isdip.upmc.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
"Person, Roderick" wrote:
> 
>    Part 1.1Type: Plain Text (text/plain)
> -----Original Message-----
> >From: Terry Lambert [mailto:tlambert2@mindspring.com]
> >Sent: Wednesday, September 17, 2003 1:56 AM
> 
> >twig les wrote:
> >> I thought FreeBSD *did* have a client setup called Darwin. ;-)
> >
> >FWIW:
> >
> >       FreeBSD 4.x:    ~2M lines of code (including kernel modules)
> >       MacOS X:        ~6M lines of code (not including kexts)
> >
> >It takes a lot of work to make a usable desktop OS.
> 
> But, isn't the majority of the additional lines dealing with the fancy
> graphics stuff, what is it called cocoa/liguid/carbon or what ever?

No.  There are effectively 3 kernels in MacOS X:

	Mach		(osfmk)
	IOKit		(iokit)
	BSD Server	(bsd)

This enables MacOS X to do things like maintain stable driver
interfaces for third party device drivers.

Note that that 6M lines of code count did not include most device
drivers, or even the majority of filesystems, either.

IOKit is like Solaris' DDI/DKI (only stable).

Try and find one device driver or FS kernel module from FreeBSD
4.3 that will load and run unmodified in a FreeBSD 4.8 kernel,
and you will quickly see what I mean.

Compartmentalizing and abstracting interfaces costs effort.

-- Terry



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F6967D7.7EC6F0CB>