This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] A little more clarification -- Thank You!

To: Mark Williamson <Mark.Williamson@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] A little more clarification -- Thank You!
From: Ted Hilts <thilts@xxxxxxxxxxxxxxxx>
Date: Thu, 03 Mar 2005 16:56:22 -0700
Cc: Tim.Deegan@xxxxxxxxxxxx, thilts@xxxxxxxxxxxxxxxx
Delivery-date: Fri, 04 Mar 2005 15:38:03 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
References: <42268544.3060201@xxxxxxxxxxxxxxxx> <200503031533.49342.maw48@xxxxxxxxxxxx>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows; U; Win95; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 (nscd2)

Thankyou for your complete set of answers --  you scratched where you seemed to know I would be itchy. I have been over the manuals a number of times -- they are well written and I have no complaints.  But I seemed unable to completely "get it as intended".  You have bridged that problem for me.  Thanks to both you and Tim.  

I will try to download Tim's latest CD effort and test it but there is a good chance I will be unsuccessful in dowloading a very large file.

By way of introduction. One of the reasons why I wanted to be CERTAIN on these matters is because I would like to participate where I can on this list even though green around the ears with the whole subject of virtual machines.  Getting information over the internet is for me a major difficulty.  Today, I expect to install SuSE 9.1 (which I have working on another Linux machine) onto a Linux machine where I have 20 GIG  -- a full hard drive I can free up.  I may wait until I can make this a 200 Gig drive.  Or I may go ahead and use the present 20 Gig drive for a learning exercise and then replace it. The idea is I want to create a specific area in my Lan for this Xen virtual technology.  Later, for this same machine,  I expect to replace another two 20 Gig drives for 200 Gig drives for the same reason (my point #4 in previous email).  I have plans but no money for a network storage unit consisting of 8 200 Gig drives if the cost of acquiring these drives drops. Also, I would like to get a 64 bit Linux machine and deploy it for the same reason. Certainly if I can manage this I will be able to provide a good test bed.  But first I have to develop some meaningful experience.  Too bad there is not a  "Xen For Dummnies" manual, that might do the trick.

I'm a retired IT person.  Before I retired I did a lot of code and database development.  Now, I do some code development but only to support various information processing that serves as content to web pages. I do my development work in my LAN (consisting of some 16 machines), six Linux, 3 XP (ugh), and the remainder Win95. Two Linux machines do double duty as gateways to the Internet handling two Dial Up (about 28k max) (ugh) telephone lines and other work. I do perl development and other tasks on the Linux machines including uploading web pages to my USA based web server.   

There are no alternatives like Sattelite or DSL or cable services available as I live with my wife and my LAN and our dogs and cats in a rural area on a farm 60 miles NE of Edmonton, the capital city of the province of Alberta in Canada. My ISP has assured me this situation will not change. Dial Up for ever. There's gotta be an affordable way around this.  I cannot afford business rates for a corporate sattelite connection and the Bell "sattelite in -- ground line out" arrangement does not work well for ftp and it not supported for ftp. I had  hoped to use one of the Linux machines operating from my LAN out over sattelite to the Internet instead of the web server I operate in the USA.  I have about 2 Gig (used) on the USA web server. IF I ever get such a connection to my LAN  I will mirror all the information you people want to make available to the public and the list,

The 3 XP machines do double duty as data acquistion over the internet, shared storage, and web development. (the whole effort is non commercial non profit and religious) and are used as data servers to my main work activities.  The acquired data is used for web page content for my USA based web server. My bandwidth (even with 2 telephone lines) is inadequate for my needs.  So when I have the need to get technical information I have to divert one of the XP machines to that task so the data acquisition packages  can get that information for me.  When I'm not sure exactly what and where the needed information exists such as was the case with Xen I aim my data acquisition tools at a web site effectively mirroring it and it's references. But this takes a lot of time to happen (but frees me up for other pressing issues) because the other XP machines are also going 7x24 round the clock every day.  Then of course there is hoards of email and sometimes it takes half a day to get several hundred emails a day processed and get rid of the viruses and worms. Yes, I have a Windows Netscape based mail client (ugh) and am in the process of changing this to Linux. But I have to free up time before that can happen.

Enough of that.  If I want to surf the Internet and poke around reading web pages not yet downloaded then I have to suspend running processes that are often reluctant to suspend because the CPUs are going flat out.  I have been trying to get a service where I pay for specified downloaded information put onto a CD or DVD and then mailed to me.  Apparently there is someone that provides this service but this person has not responded to my email.  

Given that context, your complete set of answers is extremely helpful and I thank you and Tim again.

Thanks very much, Ted

Mark Williamson wrote:
Hi Ted,

Is what I have assumed correct, must there be an existing 2.4 or 2.6.x
kernel based Linux installation up and running which must be modified
(kernel modification or ported) to run Xen?


It is my understanding that 
the Xen source code installation or the binary installation both require
a properly pre installed fully functional Linux system as the basis of
Xen operation.  Once it's (pre installed linux distribution) 2.4.x or
2.6.x kernel has been modified to work with the Xen software and tools
we have created this Linux distribution into an Xen-based system called
Domain 0 that becomes so when shutdown and then booted???


#1 -- The BUILD:
The  Xen distribution includes 3 main components (Xen itself, ports of
Linux 2.4 and 2.6.x kernels to run on (with) Xen, and user-space tools
required to manage an Xen-based system) all of which assumes the
existence of an already installed and fully fuctional  pre existing
Linux system which must be adapted (to become the default Xen Linux
build identified as DOMAIN 0.


The Xen 
process (called xend) runs in highest privilege in DOMAIN 0 and  it's
code detects and starts secondary processors, sets up interrupt routing,
time slicing, and performs PCI bus enumeration as well as offloads
hardware support issues to DOMAIN 0 GUEST OS which is the modified pre
existing Linux installed distribution.

You're misunderstanding here - the lowlevel stuff (secondary processors, 
interrupt routing, PCI, scheduling domains, etc, etc) happens in Xen.  Xen != 

Xen itself sits *below* the kernels of all the domains on the system 
(including domain 0) and handles the low-level details of the system.  The 
guest kernels are ported to run on top of Xen by using the interfaces it 

Xend is a management process that deals with the high-level management side of 
the system.  It builds domains, records what domains are running, sends them 
control messages, provides access to their consoles via TCP etc.  Xend isn't 
required for the system to run, just to perform these management-plane 

As such, Xen provides a secure 
virtual machine for this GUEST OS, builds other domains using an OS
installed in a root file system placed on a partition and booted from
that partition, manages their virtual devices and performs
administrative tasks.

Root filesystems can be stored anywhere dom0 can access like a block device.  
Files, LVM volumes, MD devices, whole disk drives, partiitons, network block 
devices, etc. etc.

My next question:
What exactly is an HTTP/S server -- apparently it is a requirement for
browser administration access to a Xen-based system? Is Apache such a
server and if not can it be turned into such a server???

HTTPS?  It's a secured version of HTTP.  I don't think you shouldn't need to 
install anything extra to make this work - Twisted includes its own HTTP 

(btw, Apache can serve over HTTPS but we don't use it in Xen)

One more question:
Regarding the source code.  I have been reviewing Python and C
(gcc/gcc++) and was wondering if there was a high level diagram showing
dependencies (hierarchy based on caller and called)  and code utilized
(python, C, binary insertions, etc.)???

Nope, not really :-)  The Xen User Manual, Xend manual and Xen Interface 
Manual (in the docs) directory might help you understand a bit more about the 
system.  To comprehend the source code itself, I'm afraid there's not really 
any kind of map.


Based on what I am learning here (mostly from you) I have been
constructing a very high level chart showing levels, key Xen processes,
and stuff like that.  I will send you a copy once I am sure the
information is correct and properly represents what is happening.

Thank you very much in advance for your comments and advice.



<Prev in Thread] Current Thread [Next in Thread>