|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] What are the differences between the boot of Xen and Lin
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
|
|
|
|
|