FreeBSD Kernel

Discussion in 'Mac Programming' started by dailo, Mar 29, 2006.

  1. macrumors regular

    Mar 29, 2006
    I know Mac OS is based off free bsd, but is it the same? I'm taking a operating system class and I need to communicate with FreeBSD kernel and etc. Do I need to install FreeBSD seperately? Thanks.
  2. macrumors 604


    Mar 17, 2004
    Melenkurion Skyweir
    There are alots of similarities, but the kernel isn't the same, as far as I know. I don't know what kernel BSD uses, but OS X uses the Mach kernel.
  3. macrumors G3


    Aug 30, 2003
    No, it is a different kernel. OS X isn't really based on FreeBSD, although it does share many programs and libraries (as do many other operating systems).
    Possibly. If you mean that you need to communicate directly with the kernel (say, to play with device drivers and such), you will want to load it onto a PC.

    There is no PowerPC version of FreeBSD, and the last time I checked it didn't have an EFI boot loader for x86, so you probably aren't going to get this running on a Mac.
  4. thread starter macrumors regular

    Mar 29, 2006
    Bummer. I have an Intel Mac and there isn't and virtual pc doesn't work for it, so I can't even do that! Guess I'm stuck, thanks.
  5. Guest


    Feb 17, 2003
    Hitchin, Herts, UK
    IIRC Mac OS uses a completely different kernel to FreeBSD - it's a heavily modified Mach microkernel derivative and FreeBSD's is a traditional Unix monolithic kernel. Mac OS does use the 'user-land' from BSD that runs on top of the kernel. The user-land layer is the Unix-y bit i.e. shells etc that run in a less-priviledged mode on the CPU than the kernel. Mac OS X also uses BSD's virtual file system and networking stack code.

    I've used FreeBSD on x86 in the past and I always liked it rather more than Linux. FreeBSD always felt more 'solid' to me. If you need to run FreeBSD just get an old x86 PC and run it on that. You won't need anything special. In fact something a bit older would be easier to get running from a hardware support point of view.
  6. macrumors 65816


    Sep 3, 2005
    Pacific Northwest
    If you communicating with the server, you could still use you MacOS because most of the interface are based on standards such as BSD and posix. That why porting code from BSD to linux or solaris is not difficult.
  7. macrumors regular

    Oct 13, 2005
    Have you tried Q / Qemu? I'm not sure, but I think those compile for Intel now. And best of all, it's free.
  8. macrumors 6502a

    Jun 17, 2003
    On a traditional BSD system the BSD kernel runs on top of the bare hardware.

    In OS X, the Mach microkernel runs on top of the bare hardware and provides basic services such as process management, interprocess communication and memory management. On top of this Mach layer is a heavily modified BSD kernel - modified so that this kernel calls the Mach layer to to basic operations. The main thing is that the BSD kernel layer presents the standard BSD APIs up to user space.

    If the original poster only needs to perform system calls and rely on some BSD kernel services (such as IPC) then they should have no problems doing this work on OS X. (Remembering that they should at least do some testing on a BSD machine before submitting any assignment code.)

Share This Page