Mac Mini, VT-x, Linux & Xen

Discussion in 'Parallels Desktop for Mac' started by rthelen, Apr 20, 2006.

  1. rthelen

    rthelen Bit poster

    Messages:
    6
    Folks, as I noted in my post in the thread Enable VT on the Mac Mini, I have:

    • Enabled VT-x on my Mac Mini
    • Parallels for Mac OS X 2.1, beta 4
    • Installed Fedora Core 4, a four disc install procedure
    • Installed Xen 3.0.0

    While running Linux on Parallels was pretty healthy. Network connectivity was great. The install procedure for Xen, for example, is network intensive as many of the tools and all of the source code for Xen and a new version of the Linux kernel are obtained via a network connection. The interaction with Linux was quite good. The graphics were snapy enough. All in all, Parallels is delivering a pretty robust logical processor and machine emulator.

    Xen, if you're not already familiar, is in and of itself a virtualization package. One could look at it as a competitor to Parallels, but it is not that at this time. Xen also allows multiple operating systems to run on a single system. However, Xen does not support EFI based Intel processors (e.g., Mac systems) nor does it support running the Mac OS X as a guest operating system. And, unlike Parallels, Xen runs -under- all operating systems on the system. Whereas, Parallels cleverly runs a user process -above- the host operating system. (VMware uses a similar architecture as Parallels for most of their products except the ESX server whose architecture is more similar to Xen.)

    Interestingly, running Xen on top of Parallels is an exciting prospect. While developing Xen and making changes to the Xen source, running Xen on top of Parallels allows for very quick turn around of the development cycle.

    My experience of running Linux on Xen was a mixed bag. On the one hand, the Linux Fedora Core 4 running on top of Xen got quite far in the boot process. However, in the end, the Mac OS X Activity Monitor reported about 95%+ CPU activity in system software and the remaining CPU activity in software.

    The failure (high CPU activity) occurred after Fedora had made the transition to the 1400x1024 VGA graphics mode, after it had started many of the system services (printing, networking, etc.), but just before the point where it normally brings in the login screen.

    I don't have good tools for debugging the problem, and I'm still running without Linux drivers to support Parallels, so it's very difficult to tell exactly where the problem lay. I'll post more information to this thread as I continue my investigations.
     
  2. dylanjames

    dylanjames Junior Member

    Messages:
    18
    Yes! Xen as Guest OS is interesting!

    Add my voice to the list of Xen-hacking (wannabe) folk who would like to be able to run a healthy Xen as a guest inside of Parallels. This would be an OS-development environment extraordinaire!
     
  3. dylanjames

    dylanjames Junior Member

    Messages:
    18
    Beta 5 boots Xen 3 Test CD!

    Subject says it all -- the latest Parallels beta boots the Xen 3 Test CD, and passes all but one test (the networking test).

    This is great news to me: I think it means I can use my Mini ICBM (intel chip-based mac) to do Xen kernel development without ever having to reboot my host OS.
     
  4. nhand42

    nhand42 Member

    Messages:
    37
    Under the OS?

    I'm not sure what you mean by this. My understanding (which might be flawed) is that Xen is a kernel module in the host Linux kernel (number 0) which transforms that kernel into a hypervisor. You can then run any number of kernels (numbers 1 through n) as guests. Currently this can be done by either modifying the guest kernels (so-called Xen-enabled kernels, which really limits your selection to Linux and BSD) though there is also a version of Xen with support for Intel-VT which means it will run Windows XP unmodified as a guest. Presumably that second version of Xen could also run OS X as a guest, though there might be secondary issues such as bootloaders and drivers to sort out.

    I don't see how this is any different to Parallels or VMware. Both of those install a kernel module (Parallels uses a kext, VMware uses a Linux kernel module) to transform the high-level OS (OS X or Linux) into a hypervisor. I see no architectural difference between Parallels, VMware and Xen. I really don't understand how Xen runs "under" and Parallels runs "above". Could you help me understand the difference?
     

Share This Page