* MacOS X is based on FreeBSD
* there is a x86 kernel for FreeBSD
Does that mean I can buy a copy of MacOS X, download an x86 kernel for
freeBSD, do some (or quite alot of) hacking and then get MacOS X running
on my PC?
I realize that such hacking would be quite substantial but maybe if I
forgot about audio and all that, just how much work would it be? Could
it be done?
Sincerly,
Martin Olsson
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hacke...@freebsd.org"
No. MacOS X is for PowerPC, not Intel. Also, the FreeBSD kernel and
Darwin kernels are somewhat different.
Warner
MacOS X is based on multiple concepts, including
Darwin. Darwin is based on FreeBSD.
To run MacOS on your platform, you would need a bulk of sources
which are not freely accessible. You simply cannot "hack" Aqua
or Quartz sources because there ain't any in public access.
Otherwise, you could just install Darwin, it will run on your
PC without any hacking.
--
Lev Walkin
v...@netli.com
<irony>
Hm. Yes, that's possible. In principle, you have to write a PPC emulator
to get the programs runnable, a Darwin emulation for the OS kernel
[NetBSD might help there] and of course do a lot of testing.
On a second thought, you might just emulate a full PPC like VmWare does.
You don't really need FreeBSD for this, but having such software would be
cool, so go on :)
</irony>
OS X is based on FreeBSD, yes. But the kernel is very different now and the
greatest problems are (a) it's PPC and (b) most of the interesting stuff
isn't really affected by the kernel. So if Apple would start to distribute
e.g. OS X for IA32, yes, this would be a lot of work, but achievable. For
PPC it surely can be done and NetBSD started something already. The biggest
problem is likely to be the GUI support.
Joerg
And a lot of other sources too. Not a drop-in replacement.
You can Run Mac OS X or Darwin/PPC on FreeBSD w/ PearPC
( http://pearpc.sf.net ). And it's pretty slow at this point.
Nothing like running MOL on Linux on PPC.
You can Run Darwin/x86 natively on your PC
( http://www.opensource.apple.com , http://www.opendarwin.org).
You can Run Darwin on FreeBSD on your PC w/ Bochs or VMWare (
http://bochs.sf.net )
Why would you want to use Mac OS X w/ FreeBSD anyway?
The thing about all this emulation/virtual machine stuff is that
you should ask, is it worth it? I've been thinking about running
multiple BSDs on one machine for development purposes. Even
multibooting taught me this fiddling around is quite time consuming.
> Sincerly,
> Martin Olsson
--
Allan Fields, AFRSL - http://afields.ca
2D4F 6806 D307 0889 6125 C31D F745 0D72 39B4 5541
<pedantry>
"Darwin is based on FreeBSD" - technically, no :)
Darwin is a continuation of NeXT Step which is based on the Mach kernel.
While Mach is derived from 4.3BSD (circa 1986~1988), there's been about
15 years worth of divergence since then. For example, FreeBSD is
monolithic while Mach is more micro-kernel based. Also the driver models
are quite different, eg Darwin uses IOKit (Object Oriented driver
interface model).
So, its correct to say Darwin is based on NeXT Step, Mach, and 4.3BSD,
but not to say it's based on FreeBSD.
</pedantry>
It would be interesting to see what percentage of Darwin is based on
4.3BSD, Mach/NeXTStep, FreeBSD, and Apple code (ie post-NeXT
acquisition).
Even more interestingly, just how much code has migrated from Darwin to
FreeBSD? Apple seems to do a lot of taking from the Open Source
community, how much have we taken much back?
On Wed, 30 Jun 2004, Alasdair Lumsden wrote:
> On Tue, 2004-06-29 at 21:20, Lev Walkin wrote:
> > MacOS X is based on multiple concepts, including
> > Darwin. Darwin is based on FreeBSD.
>
> <pedantry>
> "Darwin is based on FreeBSD" - technically, no :)
>
> Darwin is a continuation of NeXT Step which is based on the Mach kernel.
>
> While Mach is derived from 4.3BSD (circa 1986~1988), there's been about
> 15 years worth of divergence since then. For example, FreeBSD is
> monolithic while Mach is more micro-kernel based. Also the driver models
> are quite different, eg Darwin uses IOKit (Object Oriented driver
> interface model).
>
> So, its correct to say Darwin is based on NeXT Step, Mach, and 4.3BSD,
> but not to say it's based on FreeBSD.
> </pedantry>
>
> It would be interesting to see what percentage of Darwin is based on
> 4.3BSD, Mach/NeXTStep, FreeBSD, and Apple code (ie post-NeXT
> acquisition).
>
There are bits of FreeBSD in the kernel..
the majority of the importing has been in the userland however where
the UNIX userland is mostly based on FreeBSD (or so I'm told)
I read the hardware support list, and sound doesn't even work yet in
pearpc. It might be more beneficial to buy a used Mac. I have a
FreeBSD desktop and an Ibook. OSX is very nice.
Apple actually had a build of OSX that ran on ia32 hardware before 10.0
came out. It was one of the first release canidates. Apple kept it
updated through 10.1 supposedly internally in case they needed to
switch to Amd or Intel processors. Instead they chose the G4 and G5
chips. Thats how darwin was ported to x86 hardware. (well i think
there was a version of next for pc hardware toward the end...)
I'm going to try pearpc since I have 10.1, 10.2 and 10.3 install CDs. :)
Lucas Holt
Lu...@FoolishGames.com
________________________________________________________
FoolishGames.com (Jewel Fan Site)
JustJournal.com (Free blogging)
Julian Elischer wrote:
>
>
>
>
>There are bits of FreeBSD in the kernel..
>the majority of the importing has been in the userland however where
>the UNIX userland is mostly based on FreeBSD (or so I'm told)
>
>
There seem to be some stories about Mac X.
I have read the article which mentioned that for Mac X
Apple hired a core developer of FreeBSD as the manager.
and he and his team made BSD flavor of Mac X. But I heard
Mac X is based on NetBSD, too. I'm confused a bit.
Any idea?
I will be back umass issue. For a while I have left it.
Eitarou
--
***********************
Eitarou Kamo
Tel. +81 75 7035997
Fax +81 75 7035997
VoIP 050 10585997(domestic only)
e-mail e-k...@trio.plala.or.jp
For business:
Feel free to mail me(above), please.
Donation http://www.PayPal.Com
GPG FingerPrint:
032D FDF9 D27B 23F7 9A81 BF4C 626C FBAA BC3A 9895
************************************************************************
http://www.daemonnews.org/200010/darwin.html
Alasdair Lumsden wrote:
>>On Wed, 2004-06-30 at 03:24, Eitarou Kamo wrote:
>>
>>
>
>
>>>>
>>>>Any idea?
>>>>
>>>>
>>
>>
>>
>>http://www.daemonnews.org/200010/darwin.html
>>
>>
>
>
I see.
Eitarou
--
***********************
Eitarou Kamo
Tel. +81 75 7035997
Fax +81 75 7035997
VoIP 050 10585997(domestic only)
e‐mail e-k...@trio.plala.or.jp
For business:
Feel free to mail me(above), please.
Donation http://www.PayPal.Com
GPG FingerPrint:
032D FDF9 D27B 23F7 9A81 BF4C 626C FBAA BC3A 9895
************************************************************************
_______________________________________________
http://www.daemonnews.org/200010/darwin.html
=== cut ===
Darwin is based on Mach 3.0 and FreeBSD 3.2, and glued together in a very
NeXT-like style.
=== cut ===
You are contradicting yourself.
--
Lev Walkin
v...@netli.com
I was wondering about this ... there was a thread not
too long ago about Darwin and FreeBSD. Somebody made
the point that code seems to go into Darwin but no
code is returned. It occurred to me that open source
is like an ethical choice inasmuch as when one chooses
the more ethical option they’re not always looking to
further their own desires - sometimes they are simply
shooting themselves in the foot. Is this a strong
point or a weak point of open source? I’m not looking
to resolve an enigmatic psychological question, I was
just wondering what those people who contribute to
open source think.
-zh
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
Only because few people have gone through the Darwin tree and pulled
out changes. It does happen (grep for darwin in the commitlogs), but
since there's no-one being paid to do it, you get much less code going
in that direction.
--
Dan Nelson
dne...@allantgroup.com
Martin Olsson wrote:
> Hi,
>
> * MacOS X is based on FreeBSD
> * there is a x86 kernel for FreeBSD
>
> Does that mean I can buy a copy of MacOS X, download an x86 kernel for
> freeBSD, do some (or quite alot of) hacking and then get MacOS X running
> on my PC?
>
take a look at the Darwin project.
> I realize that such hacking would be quite substantial but maybe if I
> forgot about audio and all that, just how much work would it be? Could
> it be done?
>
Do not forget that all the things which make a Mac a Mac are still
closed source. It is more like Linux. Linux alone is pretty useless
without GNU, X and so on.
Erich
> Here's an idea.. install FreeBSD 5.2.1 and use the ports collection to
> get PearPC. Then you can get a license to OSX and run it.
>
> I read the hardware support list, and sound doesn't even work yet in
> pearpc. It might be more beneficial to buy a used Mac. I have a
> FreeBSD desktop and an Ibook. OSX is very nice.
There were some discussions in pearpc-devel maillist about the sound
driver and I think it'll be avaible soon.
-Roman Bogorodskiy
> While Mach is derived from 4.3BSD (circa 1986~1988), there's been about
> 15 years worth of divergence since then. For example, FreeBSD is
> monolithic while Mach is more micro-kernel based. Also the driver
> models
> are quite different, eg Darwin uses IOKit (Object Oriented driver
> interface model).
From Apple's webpages previewing Tiger:
"The upgraded kernel, based on FreeBSD 5.x, provides optimised resource
locking for better scalability across multiple processors, support for
64-bit memory pointers through the System library and standards-based
access control lists."
http://www.apple.com.au/macosx/tiger/unix.html
ch...@czv.com +41 329 41 41 41
Chris Zumbrunn Ventures - http://www.czv.com/
Internet Application Technology - Reduced to the Maximum
>
> On 30. Jun 2004, at 3:01, Alasdair Lumsden wrote:
>
>> While Mach is derived from 4.3BSD (circa 1986~1988), there's been
>> about
>> 15 years worth of divergence since then. For example, FreeBSD is
>> monolithic while Mach is more micro-kernel based. Also the driver
>> models
>> are quite different, eg Darwin uses IOKit (Object Oriented driver
>> interface model).
>
> From Apple's webpages previewing Tiger:
>
> "The upgraded kernel, based on FreeBSD 5.x, provides optimised
> resource locking for better scalability across multiple processors,
> support for 64-bit memory pointers through the System library and
> standards-based access control lists."
>
> http://www.apple.com.au/macosx/tiger/unix.html
Some of the newer code in Darwin is "based on FreeBSD 5.x" yes, but the
monolithic FreeBSD kernel (as a whole) is not one of them. Instead
apple has targeted the "interesting" bits and imported these pieces of
the kernel as discrete components into Darwin (they are implemented
this way anyway).
Darwin still uses a Mach kernel design, although Apple has made some
significant modifications to its implementation to reduce message
passing overhead and latency etc, making it something of a hybrid and
no longer a pure micro-kernel. As a result the Darwin Mach kernel is
not the traditional Mach mix of userspace/kernelspace RPC connected
components, instead the kernel is linked into a single address space,
using kernel extensions (loadable modules) in a similar way FreeBSD
does. However these extensions are implemented using a highly object
oriented API (IOKit) for interacting with the kernel, instead of the
traditional struct passing procedural approach used in FreeBSD.
The portions of the FreeBSD kernel that Apple have adopted can be found
as part of the XNU project (the darwin kernel) from Apple's Opensource
website
http://www.opensource.apple.com/darwinsource/
The CVS tags should still be intact on the files in question.
While FreeBSD provides a sizable chunk of Darwin's BSDness, it still
has a decent amount of legacy NeXT/BSD code in it as well.
Some of the things that have been adopted from FreeBSD/NetBSD in the
Darwin kernel include:
Crypto support
Filesystem support for CD9660, DEVFS, NFS, VFS, MEMDEV (Curiously this
doesn't include UFS/FFS support)
IP & IPV6 TCP stack support including BPF & IPFW
Most of the BSD/Posix/SYSV system calls (sysctl, fork, exec, ktrace,
mmap, etc) and corresponding MAN pages.
--
Seeya...Q
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
_____ / Quinton Dolan - q_d...@yahoo.com.au
__ __/ / / __/ / /
/ __ / _/ / / Gold Coast, QLD, Australia
__/ __/ __/ ____/ / - / Ph: +61 419 729 806
_______ /
_\
So, Apple's statement is a bit misleading. It's the "kernel upgrades"
and not the "upgraded kernel" that is/are based on FreeBSD 5.x. :-)
Chris
Q wrote:
>
> The portions of the FreeBSD kernel that Apple have adopted can be
> found as part of the XNU project (the darwin kernel) from Apple's
> Opensource website
> http://www.opensource.apple.com/darwinsource/
> The CVS tags should still be intact on the files in question.
>
Is the darwin entirely open source?
Eitarou
--
***********************
Eitarou Kamo
Tel. +81 75 7035997
Fax +81 75 7035997
VoIP 050 10585997(domestic only)
e-mail e-k...@trio.plala.or.jp
For business:
Feel free to mail me(above), please.
Donation http://www.PayPal.Com
GPG FingerPrint:
032D FDF9 D27B 23F7 9A81 BF4C 626C FBAA BC3A 9895
************************************************************************
_______________________________________________
Chris Zumbrunn wrote:
>
>
>> Some of the things that have been adopted from FreeBSD/NetBSD in the
>> Darwin kernel include:
>>
>> Crypto support
>> Filesystem support for CD9660, DEVFS, NFS, VFS, MEMDEV (Curiously
>> this doesn't include UFS/FFS support)
>> IP & IPV6 TCP stack support including BPF & IPFW
>> Most of the BSD/Posix/SYSV system calls (sysctl, fork, exec, ktrace,
>> mmap, etc) and corresponding MAN pages.
>
>
My curiosity is that the FreeBSD and NetBSD license are left.
And should those licenses are kept after porting?
Eitarou
>
> Chris
--
***********************
Eitarou Kamo
Tel. +81 75 7035997
Fax +81 75 7035997
VoIP 050 10585997(domestic only)
e-mail e-k...@trio.plala.or.jp
For business:
Feel free to mail me(above), please.
Donation http://www.PayPal.Com
GPG FingerPrint:
032D FDF9 D27B 23F7 9A81 BF4C 626C FBAA BC3A 9895
************************************************************************
_______________________________________________
This is just correction of previous post.
Eitarou Kamo wrote:
#if 0
>
> My curiosity is that the FreeBSD and NetBSD license are left.
> And should those licenses are kept after porting?
#else
My curiosity is if the FreeBSD and NetBSD license are left.
And should those licenses are kept after porting?
#endif
>
> Eitarou
>>> Some of the things that have been adopted from FreeBSD/NetBSD in the
>>> Darwin kernel include:
>>>
>>> Crypto support
>>> Filesystem support for CD9660, DEVFS, NFS, VFS, MEMDEV (Curiously
>>> this doesn't include UFS/FFS support)
>>> IP & IPV6 TCP stack support including BPF & IPFW
>>> Most of the BSD/Posix/SYSV system calls (sysctl, fork, exec, ktrace,
>>> mmap, etc) and corresponding MAN pages.
>
> My curiosity is that the FreeBSD and NetBSD license are left.
> And should those licenses are kept after porting?
Yes the original license and copyright notices are all kept intact,
it's one of the requirements of virtually every opensource license. To
remove them would be a violation of the original copyright holders
requirements.
--
Seeya...Q
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
_____ / Quinton Dolan - q_d...@yahoo.com.au
__ __/ / / __/ / /
/ __ / _/ / / Gold Coast, QLD, Australia
__/ __/ __/ ____/ / - / Ph: +61 419 729 806
_______ /
_\
Q wrote:
>
>
>> My curiosity is that the FreeBSD and NetBSD license are left.
>> And should those licenses are kept after porting?
>
>
>
> Yes the original license and copyright notices are all kept intact,
> it's one of the requirements of virtually every opensource license. To
> remove them would be a violation of the original copyright holders
> requirements.
>
This is important. For the people to port from now this must
be a point, not to port beyond the law.
The words "Redistributions" in the FreeBSD License includes
"porting"?
But I heard, the algorithm of the source code wasn't preserved
by the copyright. In the case of the porting from FreeBSD to other
different flavor OS (e.g. Linux), the algorithm is used. But the
variables or
way of writing is not used. In this case what should I do? Ethically I
should
notice FreeBSD license. But.... It's a bit contradiction, I think.
Eitarou
--
***********************
Eitarou Kamo
Tel. +81 75 7035997
Fax +81 75 7035997
VoIP 050 10585997(domestic only)
e-mail e-k...@trio.plala.or.jp
For business:
Feel free to mail me(above), please.
Donation http://www.PayPal.Com
GPG FingerPrint:
032D FDF9 D27B 23F7 9A81 BF4C 626C FBAA BC3A 9895
************************************************************************
_______________________________________________
> Hi Q,
>
> Q wrote:
>
>>> My curiosity is that the FreeBSD and NetBSD license are left.
>>> And should those licenses are kept after porting?
>>
>> Yes the original license and copyright notices are all kept intact,
>> it's one of the requirements of virtually every opensource license.
>> To remove them would be a violation of the original copyright holders
>> requirements.
>>
> This is important. For the people to port from now this must
> be a point, not to port beyond the law.
>
> The words "Redistributions" in the FreeBSD License includes
> "porting"?
>
> But I heard, the algorithm of the source code wasn't preserved
> by the copyright. In the case of the porting from FreeBSD to other
> different flavor OS (e.g. Linux), the algorithm is used. But the
> variables or
> way of writing is not used.
This is a fine point of copyright law, and few engineers/programmers
are in a position to know the answer. Your best bet is to read the
license in full, and refer to a lawyer familiar with this area of law.
Check the websites for the EFF <http://www.eff.org> and OSI
<http://opensource.org> for details.
> In this case what should I do? Ethically I should
> notice FreeBSD license. But.... It's a bit contradiction, I think.
I'm not sure what you mean by "this case". If you are porting Darwin
code to some other system, then you have to follow the license
requirements for the components you use. As has been pointed out
earlier in this thread, some of the Darwin OS code is from FreeBSD and
other sources with similar licenses; and some is developed largely by
Apple (so the APSL applies). If you are porting to Darwin, then the
license on the code you start with applies.
In either case, you do need to understand the license issues. The best
we can do is to answer specific questions, but you still may be better
off discussing this via one of the above sites.
Regards,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | Some people have a mental
| horizon of radius zero, and
| call it their point of view.
| -- David Hilbert
*--------------------------------------*-------------------------------*
> Hi Q and all,
>
> Q wrote:
>
>>
>> The portions of the FreeBSD kernel that Apple have adopted can be
>> found as part of the XNU project (the darwin kernel) from Apple's
>> Opensource website
>> http://www.opensource.apple.com/darwinsource/
>> The CVS tags should still be intact on the files in question.
>>
> Is the darwin entirely open source?
Darwin, as the underpinnings for Mac OS X, is entirely open source, in
the sense that you can build a running Darwin system from the
open-source code available from Apple. You can't completely replace
corresponding components in Mac OS X with code from the Darwin code
base and have a working system (some frameworks/libraries are only
partially open source).
Some components of the kernel are not open-source, but they are not
needed to build a Darwin system, or to build a kernel that can replace
the one you have on a running Mac OS X system. These components are
loadable kernel modules, and as such, will load into a rebuilt kernel
of the same version level.
Hope that isn't too confusing.
Regards,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | When LuteFisk is outlawed
| Only outlaws will have
| LuteFisk
*--------------------------------------*-------------------------------*
>
> On 30/06/2004, at 4:40 PM, Chris Zumbrunn wrote:
>
>>
>> On 30. Jun 2004, at 3:01, Alasdair Lumsden wrote:
>>
[snip]
> Darwin still uses a Mach kernel design, although Apple has made some
> significant modifications to its implementation to reduce message
> passing overhead and latency etc, making it something of a hybrid and
> no longer a pure micro-kernel.
To get pedantic, the Darwin kernel of Mac OS X is not a microkernel.
Although it used the code-base of Mach 3.0 as a starting point, it is
monolithic, as were the pre-3.0 versions of Mach. In fact, I doubt at
this point that you could get any micro-kernel functionality to work
based on Darwin.
> As a result the Darwin Mach kernel is not the traditional Mach mix of
> userspace/kernelspace RPC connected components, instead the kernel is
> linked into a single address space, using kernel extensions (loadable
> modules) in a similar way FreeBSD does. However these extensions are
> implemented using a highly object oriented API (IOKit) for interacting
> with the kernel, instead of the traditional struct passing procedural
> approach used in FreeBSD.
The device driver model (IOKit) is C++, using the "embedded C++"
constraints to avoid a huge C++ runtime in the kernel. Other
extensions (file system and network plugins), however, are not.
> The portions of the FreeBSD kernel that Apple have adopted can be
> found as part of the XNU project (the darwin kernel) from Apple's
> Opensource website
> http://www.opensource.apple.com/darwinsource/
> The CVS tags should still be intact on the files in question.
>
> While FreeBSD provides a sizable chunk of Darwin's BSDness, it still
> has a decent amount of legacy NeXT/BSD code in it as well.
I'm not sure precisely what you mean here, but the Darwin kernel has
been completely rewritten since the days of NeXT. There may be minor
bits of NeXT code left, but I don't think it's much.
> Some of the things that have been adopted from FreeBSD/NetBSD in the
> Darwin kernel include:
>
> Crypto support
> Filesystem support for CD9660, DEVFS, NFS, VFS, MEMDEV (Curiously this
> doesn't include UFS/FFS support)
> IP & IPV6 TCP stack support including BPF & IPFW
> Most of the BSD/Posix/SYSV system calls (sysctl, fork, exec, ktrace,
> mmap, etc) and corresponding MAN pages.
Sounds like you've been doing some homework :-}
Regards,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | It's not whether you win or
lose...
| It's whether *I* win or lose.
*--------------------------------------*-------------------------------*
Justin Walker wrote:
>
> On Jul 1, 2004, at 5:28, Eitarou Kamo wrote:
>
>>
>
> Darwin, as the underpinnings for Mac OS X, is entirely open source, in
> the sense that you can build a running Darwin system from the
> open-source code available from Apple. You can't completely replace
> corresponding components in Mac OS X with code from the Darwin code
> base and have a working system (some frameworks/libraries are only
> partially open source).
>
> Some components of the kernel are not open-source, but they are not
> needed to build a Darwin system, or to build a kernel that can replace
> the one you have on a running Mac OS X system. These components are
> loadable kernel modules, and as such, will load into a rebuilt kernel
> of the same version level.
>
> Hope that isn't too confusing.
>
It may be OK, I guess. I didn't know Darwin well so far. and
I'm not going to port or derive Darwin to other systems. But
I'm interested in a bit.
Eitarou
--
***********************
Eitarou Kamo
Tel. +81 75 7035997
Fax +81 75 7035997
VoIP 050 10585997(domestic only)
e-mail e-k...@trio.plala.or.jp
For business:
Feel free to mail me(above), please.
Donation http://www.PayPal.Com
GPG FingerPrint:
032D FDF9 D27B 23F7 9A81 BF4C 626C FBAA BC3A 9895
************************************************************************
_______________________________________________
Correct, the Darwin kernel is not a micro-kernel (I never said it was),
but it is not monolithic either, to be pedantic it is actually a
"hybrid kernel" (1) or modified micro-kernel because it shares the
message passing design of a micro-kernel, but includes otherwise
"non-essential" components in kernel space.
(1)
http://en.wikipedia.org/wiki/
Monolithic_kernel#Hybrid_kernels_.28modified_microkernels.29
>> As a result the Darwin Mach kernel is not the traditional Mach mix of
>> userspace/kernelspace RPC connected components, instead the kernel is
>> linked into a single address space, using kernel extensions (loadable
>> modules) in a similar way FreeBSD does. However these extensions are
>> implemented using a highly object oriented API (IOKit) for
>> interacting with the kernel, instead of the traditional struct
>> passing procedural approach used in FreeBSD.
>
> The device driver model (IOKit) is C++, using the "embedded C++"
> constraints to avoid a huge C++ runtime in the kernel. Other
> extensions (file system and network plugins), however, are not.
This is true, I should have been more specific, I was attempting to
highlight the most obvious difference without going into too much
detail.
>> The portions of the FreeBSD kernel that Apple have adopted can be
>> found as part of the XNU project (the darwin kernel) from Apple's
>> Opensource website
>> http://www.opensource.apple.com/darwinsource/
>> The CVS tags should still be intact on the files in question.
>>
>> While FreeBSD provides a sizable chunk of Darwin's BSDness, it still
>> has a decent amount of legacy NeXT/BSD code in it as well.
>
> I'm not sure precisely what you mean here, but the Darwin kernel has
> been completely rewritten since the days of NeXT. There may be minor
> bits of NeXT code left, but I don't think it's much.
Ok, let me rephrase, I'm referring specifically to BSD kernel code.
While there is a sizable amount of "BSD" code taken primarily from
FreeBSD in the darwin kernel, there is still a reasonable amount of
original "BSD" code (4.3/4.4BSD) that has come indirectly into the code
base (via NeXT, you can tell by the license body) and not directly from
the FreeBSD source tree. That's not to say there is much difference in
a lot of cases, but any FreeBSD specific alterations will not be
represented in these portions of the code. The UFS/FFS code is a prime
example. A lot of the UFS/FFS code in both FreeBSD-5 and Darwin is
quite different due to evolutionary changes in FreeBSD (eg. snapshots,
UFS2, softupdates), but there are also some files that have been
virtually unaltered from 4.4BSD and in these cases it wouldn't really
matter where they came from.
The point I was making is that there is still a bit of a mixture of
sources that make up the BSD'ness of Darwin, and as a result there are
still some notable parts of FreeBSD missing.
>> Some of the things that have been adopted from FreeBSD/NetBSD in the
>> Darwin kernel include:
>>
>> Crypto support
>> Filesystem support for CD9660, DEVFS, NFS, VFS, MEMDEV (Curiously
>> this doesn't include UFS/FFS support)
>> IP & IPV6 TCP stack support including BPF & IPFW
>> Most of the BSD/Posix/SYSV system calls (sysctl, fork, exec, ktrace,
>> mmap, etc) and corresponding MAN pages.
>
> Sounds like you've been doing some homework :-}
Yes, you might say that I have developed a rather healthy interest in
the topic recently.
--
Seeya...Q
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
_____ / Quinton Dolan - q_d...@yahoo.com.au
__ __/ / / __/ / /
/ __ / _/ / / Gold Coast, QLD, Australia
__/ __/ __/ ____/ / - / Ph: +61 419 729 806
_______ /
_\
I think you are misunderstanding something: the kernel is not the only
architecture-dependent part of an operating system. You would have to
port the entire OS X, most of which is closed source.
GH
As for darwin. I remember when darwin was made available for free
download, I put it on my g3 imac. It had no gui, just shell interface,
and lacked alot of tools. If I remember correctly, you had to manually
ifconfig your network devices.
Since OPENSTEP kernel had an x86 port, its not to far off to conclude
that darwin could be run on x86 - but I think all the x86 talk was just
hypothetical - would only happen in real life if some hardcore coders
had alot of spare time on their hands...
-john
John Von Essen wrote:
>
> Since OPENSTEP kernel had an x86 port, its not to far off to conclude
> that darwin could be run on x86 - but I think all the x86 talk was
> just hypothetical - would only happen in real life if some hardcore
> coders had alot of spare time on their hands...
Apple will not invest it, I wonder.....
Darwin has been available for x86 since at least version 1.3.1 (possibly
earlier, but that's the ISO on opendarwin.org)
>
>> -john
>>
>> On Jul 1, 2004, at 9:28 PM, Eitarou Kamo wrote:
>>
> Eitarou
>
_______________________________________________
> Hi John and all,
>
> John Von Essen wrote:
>
>>
>> Since OPENSTEP kernel had an x86 port, its not to far off to conclude
>> that darwin could be run on x86 - but I think all the x86 talk was
>> just hypothetical - would only happen in real life if some hardcore
>> coders had alot of spare time on their hands...
>
> Apple will not invest it, I wonder.....
>
No, Apple _does_ invest the money and time to create an x86 port:
http://www.opensource.apple.com/darwinsource/
That is only the kernel and command-line utilities, there's no GUI
included. http://www.kernelthread.com/mac/osx/arch_xnu.html provides
a good overview of the kernel. Apple did have a port of MacOS X to
x86
(http://www.theregister.co.uk/2002/09/02/apples_x86_os_named_sized/), I
would guess they were waiting to see which CPU they were going to use
after the G3, since Motorola were being a little slow in making faster
PowerPC CPUs. They were considering switching to an Intel-based line;
in the end they went with IBM and their PPC970, so I would think it's
fairly unlikely we'll now ever see a version (of the GUI) for x86.
--
Bruce Cran
Sean Winn wrote:
> Eitarou Kamo wrote:
>
>> Apple will not invest it, I wonder.....
>
>
>
> Darwin has been available for x86 since at least version 1.3.1
> (possibly earlier, but that's the ISO on opendarwin.org)
>
Sorry, I'm somewhat stranger about Darwin.
Eitarou
--
***********************
Eitarou Kamo
Tel. +81 75 7035997
Fax +81 75 7035997
VoIP 050 10585997(domestic only)
e-mail e-k...@trio.plala.or.jp
For business:
Feel free to mail me(above), please.
Donation http://www.PayPal.Com
GPG FingerPrint:
032D FDF9 D27B 23F7 9A81 BF4C 626C FBAA BC3A 9895
************************************************************************
_______________________________________________
Bruce Cran wrote:
>
>
> No, Apple _does_ invest the money and time to create an x86 port:
> http://www.opensource.apple.com/darwinsource/
> That is only the kernel and command-line utilities, there's no GUI
> included. http://www.kernelthread.com/mac/osx/arch_xnu.html provides a
> good overview of the kernel. Apple did have a port of MacOS X to x86
> (http://www.theregister.co.uk/2002/09/02/apples_x86_os_named_sized/),
> I would guess they were waiting to see which CPU they were going to
> use after the G3, since Motorola were being a little slow in making
> faster PowerPC CPUs. They were considering switching to an Intel-based
> line; in the end they went with IBM and their PPC970, so I would think
> it's fairly unlikely we'll now ever see a version (of the GUI) for x86.
>
> --
> Bruce Cran
As for GUI, no problem. Apple will be able to add X.org one
or other one with their DeskTop on the kernel ASAP, I guess.
Eitarou
--
***********************
Eitarou Kamo
Tel. +81 75 7035997
Fax +81 75 7035997
VoIP 050 10585997(domestic only)
e-mail e-k...@trio.plala.or.jp
For business:
Feel free to mail me(above), please.
Donation http://www.PayPal.Com
GPG FingerPrint:
032D FDF9 D27B 23F7 9A81 BF4C 626C FBAA BC3A 9895
************************************************************************
_______________________________________________