How do programs run on Xen hypervisor?
-
Hello,
I've seen something like LING that run directly on Xen. What technology should someone know in order to write such a program?
Is it possible to write something like a plugin for XCP-ng?Cheers.
-
Hi,
You should bring far more details to start a discussion. What the program does, what do you want to achieve etc.
-
Hi @olivierlambert,
I want to know if it is possible to use Xen hypervisor as a platform for developing applications? -
Hmm what you seek is probably unikernel or microkernel stuff
-
Thank you @olivierlambert.
What programming language is needed for this? -
Well, depends on which one. Take a look at https://xenproject.org/developers/teams/unikraft/
-
Thanks.
The Unikraft itself is written in the C programming language. Is it a platform through which to run programs in C\C++, Rust, Ruby, etc., and some programs like Nginx, etc., on Xen? What should someone do if they want to do this without using Unikraft? -
@jasonnix Unikraft is a framework to build a unikernel using usual application code, or with the elf loader, compatible regular linux programs.
Xen only allows you to start virtual machine where you still need some kind of operating system to do something relevant (like using network or storage).
Usually, we use a regular operating system on top of that (Linux distro, Windows, ...).
But what unikraft gives you a kernel, that "makes" a operating system with absolute bare essential (pv drivers, scheduler, memory allocator, ...) and you have the application fused in.Without unikraft, you will have to basically implement a Xen pv kernel yourself.
-
Hi @Teddy-Astie,
Thank you so much for your reply.
I think a hypervisor needs an operating system to work for now. VMware ESXi might also use a small operating system.
Where can I find how to implement a Xen PV Driver? -
@jasonnix depends on what PV driver you want to implement.
But such place would be the Xen MiniOS repo (tiny PV kernel project that serves as a base for Unikraft among others) : http://xenbits.xen.org/gitweb/?p=mini-os.git;a=treeAlso give a look at https://wiki.xenproject.org/wiki/Unikernels