Episode: 12 Title: HPR0012: Xen Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0012/hpr0012.mp3 Transcribed: 2025-10-07 10:17:44 --- music Hello and welcome to Hacker Public Radio. My name is Miro Vinci and I'll be your host today. Previously in episodes of Today with a Techie, I discussed using VMware and virtualization as a potential solution to different problems or to different test networks such as that as you might need. I believe I listed the example of a virtual cluster that I had built completely inside of VMware. I had a master node to slave nodes and all of the networking necessary to actually run to actually test the cluster and it saved me bundles in terms of hardware because I only needed one machine with one piece of software, you know, I'll be at VMware. But this past semester, I took a class at the university, simply titled virtualization and we spent the entire semester going through different journal articles and discussing the technology of virtualization, a lot of the theory behind virtualization and a lot of a lot of very interesting stuff and we concluded the semester with individual projects. And so I hope to over the next few episodes that I have with Hacker Public Radio to explore some of the things that we discussed in class and even potentially hopefully share my project with you, with the community because it's a simple project, it was something that I whipped together in the application that I'll actually be talking about here shortly and has a potential, I feel to be a real benefit and hopefully in the coming months, I will be able to talk about that some more coming weeks rather. So today I wanted to discuss more and depthly of virtualization solution known as Zinn. Now Zinn is spelled X-E-N and actually started with a professional article, a journal article that came out in 2003 called Zinn and the Art of Virtualization, you know, and the main authors on that were Paul Barham, Boris Dragovic and Kair Fraser and I would definitely encourage you to go on the internet and you can go to websites like site seer at C-I-T-E-S-E-E-R. You have to Google that or just use Google or Google Scholar to actually find this article. It's 40 pages long and it really is an introduction, a good introduction to Zinn and how Zinn works as a virtualization system or virtualization solution. Some of you might be wondering what exactly is a virtualization software or virtualization system to start with VMware as an example. VMware will allow you to install their software onto your current operating system and then install what they refer to as guest operating systems inside of that program. Ultimately though what is going on is that guest operating system is installing completely within software, installing completely within software to where it has no direct access to any physical hardware because to the guest operating system, it has a complete set of physical hardware which is completely being emulated by VMware. Yes it is possible inside of say VMware workstation or VMware server to allow the guest operating system to have access directly to pieces of hardware whether that is a CD-ROM drive, USB hubs or USB devices, network cards, network interface devices. You can allow that sort of access but by default and by its overall operation it is trying to contain the guest operating system completely within emulated hardware or virtual hardware. So now if you think about it, if you try and run just let's say a CD player application within your guest operating system but you want to play it on the physical or you want to play the physical CD-ROM drive, the CD player application has to send its you know system calls and hardware calls and all that stuff through the guest operating system which gets down to the virtual hardware which then VMware interprets those requests and then allows it allows from that software application to take those hardware calls and hardware requests down through the real operating system which is the operating system that lies beneath the VMware, not above it, but beneath the VMware that allows then access to the physical hardware. So we've now added multiple layers that system calls and things like that have to get through before they get to now comparing Zen to this virtualization model or virtualization example, Zen is actually rather different. Now for VMware Workstation and VMware Server it is a guest operating system installed of a piece of software that was installed on top of a real operating system. Now with Zen the guest operating system is installed onto what is referred to as a hypervisor. Now the hypervisor is technically a piece of the Zen software that translates or handles the system calls between the guest operating system and the hardware. Now so this basically removes a lot of those layers between you know the software operating system or software operating system, virtualization software, the true operating system down to the real hardware and allows for a more direct access to the hardware. Now even though a guest operating system has this more direct access access to hardware is still controlled by Zen. So just like in the VMware example if you want to allow a piece of hardware to have direct access to a guest OS you can certainly do that and conversely if you don't want the guest OS to have direct access or any access whatsoever to a piece of hardware you have the ability to block that access and to deny access to that hardware or to that hardware device. If you were if you're following or if you get a chance to download the papers in the virtualization figure one is a better description of you know of the Zen hypervisor and how it fits into I guess the operating system model I don't know I don't this has a technical term that I'm not familiar with but you'll see what's going on here. Now to control the actual hypervisor as you'll see in this picture is and as you read in this paper is something referred to as domain zero. Within the Zen software guest operating systems are referred to as domains and all of all of these things installing guest operating systems starting and stopping guest operating systems as well as setting up hardware for guest operating systems or domains is all controlled by domain zero and domain zero is a you know is a is a Linux is basically I mean it it's Linux that has access to the Zen hypervisor and that allows these controls. Okay so now we're aware of two different virtualizing solutions that are currently on the market what's you know why would you choose one over the other well the answer comes down to performance and performance issues as well as you know what you're going to do with it now in terms of performance the Zen you know appears to do very very well and if you look in in the article there's a complete section of evaluation and testing and figure three is is a it's a graph that shows shows a benchmarks comparing native Linux so Linux on a physical machine to what they call Zeno Linux which is their which is their Zen client a VMware workstation but to be fair this is VMware workstation 3.2 and then user mode Linux in all of these cases the Zeno Linux the Zen does almost as well as the native Linux does or as the native hardware does and that's simply because it doesn't have the overhead of an of an additional operating system operating underneath of Zen and underneath of what you know Zen is trying to accomplish now to be fair though you can't really use this article to compare Zen to VMware because in the article they use VMware workstation 3.2 and I don't know if it's explained in this article or if it was in different articles that we read but you can go to and you can go to the VMware website and you can find this in their in their in user license agreement that you are not allowed to do benchmarking without VMware's express permission and I think in some of their or in a recent change to their you know you know it's you you can you can do your own benchmarks but they ask that you not publish the results and so even though they're up to like VMware workstation 5.5 at the time this people was written VMware workstation 3.2 was the only version of VMware that VMware would license or allow them to do this benchmark on and use the results in this article so you know so to to be fair to VMware I do want to point out point out that difference and point out that thing but comparing Zen to native Linux so Linux on a physical machine the numbers are incredible and that Zen performs very very well and so they continued on with more benchmarks into let's see section 4.3 with running concurrent virtual machines so they tested running running instances simultaneous instances of you know this benchmarking program on you know Linux or native Linux and Zen and it's remarkable that looking in figure 4 and they're running what's called spec web 99 which was a a stress test of Apache servers or a stress test for Apache servers and whenever there was one instance of the Apache server running on Linux and Zen you know the native Linux did better than Zen did and it does that for the two instances and for four instances but once we get to eight concurrent Apache servers that are running the stress test analyzer now we get to a point where Zen actually performs better than the native Linux does and I mean then that and that's because they're you know for each instance of the Apache they're running it on different um different um domains and so you know so there's not this conflicting overhead of software costs you know from from one instance to the other azures with the native Linux or the you know the Linux on a physical machine and so Zen performs very very well and you know if you read another pieces of literature depending on the application that you're doing Zen runs incredibly well now again to be fair to VMware not that I by any way I'm trying to um give plugs to VMware to encourage you to buy VMware's product or VMware products they do have something called ESX server which is which is in in my opinion not that I've had direct experience with it but appears to be very similar if not the same to this idea of pair of virtualization now to completely you know reiterate that I don't want to give plugs to VMware because I mean their products are commercial they cost and you know I am a free open source kind of guy I like to support the open source community and Zen is actually an open source product now they do have a apparent company or a the company the the people who created Zen you know created their own company which was bought out by Citrix last year and so Zen does have a commercial solution but they still have all of their source code online available for download for you know absolutely free and I will definitely include a link in the show notes but that link is Zen.org xen.org now you can go to ZenSource.org and that'll take you to the you know to the new parent company Citrix but Zen.org xen.org is where you can get you can download it you can download the user manual they have a wiki you know all sorts of that general open source communal so that you can communicate that you can talk with others and that you can work with others on your Zen project I'll also include a link in in a how to forge article that I use initially when I got started with Zen and and if you just go to Zen or go to how to forge.com and you can do a search for Zen devian it should be like the first link I used devian as my domain zero to control my Zen and control the hypervisor it was able to install other devian domains or other devian guest operating systems on my on my system on my Zen virtualized system I know there are articles in the how to forge about how to install multiple versions of Linux or multiple flavors of Linux onto our into a Zen environment including Ubuntu and Fedora core devian obviously etc so definitely a worthwhile tool feel free also if you have any more questions you can email me directly at MiroVinji at gmail.com that's m-i-r-o-v-e-n-g-i you can also find me in the infinomicon channel on the free node irc server and in future episodes we'll be looking at more virtualization technology that's come out especially some of the hardware technologies like the vt enabled stuff I hope to discuss more theory about that about what goes into virtualization and how some of these things like VMware like Zen work and and to potentially maybe look at some of the more recent virtualization news which is like the VMVM escaping that many people are working on you know looking at malware things like blue pill and just also how to really use these technologies to your advantage and to you know what you're doing which you know gets back to my class project that I hope to unveil at some point I hope that you've enjoyed today's episode I'm again the MiroVinji and this has been hacker public radio thank you for listening to hacker public radio hpr is sponsored by caro.net so head on over to caro.net for all your hosting