Take the 2-minute tour ×

I am student working on an academic project - 'Porting KVM to MAC OS X'. I gathered a lot of literature regarding KVM, MAC OS X etc., But, I am still unclear as how to proceed. I checked Apple's Developer website which lists a hundred things to do for the porting process.I dont understand why Mac, having UNIX at its heart, needs a lot of changes to the source code, just to make it run. Also, I heard that Fink (and also macports) is a tool, using which I can port any Unix application to Mac OS X. Is that true? I checked Fink's website, where in I don't find any details which suggests that I can use Fink as a tool for porting. All I see is Fink (and also macports) is a package management system which has several linux applications and will run only those applications on Mac. KVM is not there on the list. So, again I am confused. Please suggest me, how to go about it? Just one step. Is the way Apple community suggesting, the only way? Please help.

share|improve this question
Fink is super old, don't use it. –  Grady Player Feb 7 '13 at 7:12
What is KVM? Also Mac OS X is unix (BSD like) at its heart, while Linux isn't, tho it is unixy and posix, but it is more like AT&T V than BSD. –  Grady Player Feb 7 '13 at 7:16
KVM is kernel virtual machine, which assists in hardware-assisted-virtualization, like a hypervisor. Its an unix application at its heart and we need to know if there is any comfortable way to port it to mac os x. –  Krishna Feb 7 '13 at 7:24
add comment

2 Answers

up vote 1 down vote accepted

I believe that you are looking at the wrong direction.

KVM is not an application. QEMU, the standard user interface for KVM, is mostly a front-end. The main part of KVM lies within the Linux kernel. You would have to provide an equivalent of that kernel code for OS X.

This is a completely different beast than application porting. There is no standard like POSIX within the kernel of an operating system - there is not even the guarantee of internal interface compatibility between different versions of the same kernel. The Linux and OS X kernels are completely different even in their basic design, since OS X uses a Mach-based kernel.

You will have to understand how both kernels work and find out what changes you need to make. Depending on how different the two kernels are, your task might even amount to a full re-implementation of KVM. You will also need a concrete understanding of how virtualization is implemented on modern CPUs and quite probably a more than passing knowledge of assembly and various low-level computer specifics.

share|improve this answer
add comment

if you find something with the functionality you are looking for, it wont be a port of KVM.

the level that you would be abstracting doesn't even exist on the mac, the bottom layers are all different...


lintel ->


both being POSIX you might expect more underpinnings to be the same, but really they are all different...

share|improve this answer
add comment

Your Answer


