作为一个概念,我对虚拟化并不陌生,对Xen尤其感兴趣。
机器是一个由许多部件/组成部分组成的复杂系统:
所以我想象一个虚拟机器也必须对所有这些组件进行build模/虚拟化。 我玩VirtualBox(只是为了方便/方便),当然,我必须select所有这些东西来“组装”一个虚拟机。
作为程序员,这激起了我的兴趣。 说我有一个全新的网卡,或CPU,或内存芯片(不pipe,无所谓),我想与像Xen这样的hypervisor兼容。 这意味着,我想写一些代码(?)生成某种二进制/插件,并允许Xen在构build新的虚拟机时使用这个工件。 再说,我刚刚创build了自己的网卡, SmeebEthernets 5000 ; 当使用Xenpipe理程序创build一个新的Linux VM时,我希望Linux VM能够使用我的SmeebEthernets 5000网卡。
我在想:

在上面的屏幕截图中,我可以select几个桥接适配器。 我敢肯定,Xen提供了类似的select…但是如何? 例如,为了使“Interl(R)以太网连接I217-LM”成为VBox中的一个可用选项,必须在某个时刻向VBox注册一些东西……我在问什么?
smeeb,
取决于你作为一个开发者想要做什么。 XEN,VirtualBox,VMware都是采用真实PC(Ram,HD,CPU等)的Hypervisor引擎。 并使他们在“模拟”mannor完成。 保持它们从正在运行的主机的真实硬件层抽象出来。
如果您编写用于主机的代码,则虚拟机不受影响。 除非您使用虚拟机pipe理程序的API。 说XEN或VMWare。 如果你的代码是运行在Linux或Windows上的VM。 那么它只会影响他们,而不是主人。
取决于Hypyervisor引擎的软件分解。 不是所有的设备驱动程序都可能被支持 说USB设备。 较新的引擎可以。 老年人不是那么…
您将不得不在LAB机器上实现效果。
希望这个对你有帮助。 干杯..