[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] What are the differences between the boot of Xen and Linux Kernel



Hello,

>          As the Xen hypervisor can be treated as a microkernel, what are
> the differences between the boot of Xen hypervisor and a traditional native
> linux kernel?

Xen is booted using multiboot, which means that Grub has already set up 
protected mode for it.  I'm not sure if Linux ever uses multiboot but it 
certainly doesn't have to, in which case it may do a load of realmode stuff 
that isn't necessary for Xen.

After that, they'll both have to go through some basic gyrations to gather 
information about the machine (its memory structure, SMP configuration, etc) 
and activate paging.  I'm not sure how much commonality there is in the code 
here.  I've not looked at it for ages.

Once initial machine setup is done, there's quite a big difference: Linux will 
need to set up a whole load of device drivers, start a userspace (from disk 
or initrd) and go through its startup process.  Xen builds a start-of-day 
environment for the dom0 guest (including setting up a boostrap pagetable 
arrangement, placing the kernel and initrd into it) and then schedules that 
guest.  The guest OS then does some initialisation stuff that's specific to 
the Xen paravirtualised environment, then it too needs to initialise its 
device drivers and start a userspace, then go through a Linux startup.

The dom0 Linux kernel will also call into Xen at various points during its 
startup in order to request operations or notify it of configuration details.

Hope that helps clarify things somewhat.

Cheers,
Mark

-- 
Push Me Pull You - Distributed SCM tool (http://www.cl.cam.ac.uk/~maw48/pmpu/)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.