
KVM
zhoujiaxq
这个作者很懒,什么都没留下…
展开
-
qemu kvm 安装及使用教程
研究了很久的KVM,感觉是我用过的最快的虚拟机。对比常用的虚拟机,Vmware的功能全面,设置简单,但其速度不是很好;VirtualBox的效率 虽然比Vmware高一些,但是存在不少缺点,感觉在运行时比较抢CPU,现在virtualbox已经支持smp,和虚拟化技术,但整体效率还是没有 KVM高(但是图形效率作的不错);KVM(Kernel-based Virtual Machine),基于内核转载 2014-04-16 16:02:51 · 12192 阅读 · 0 评论 -
qemu-kvm 中断虚拟化代码分析
如果收到中断响应/* * callback when PIC0 irq status changed */static void pic_irq_request(void *opaque, int level){ struct kvm *kvm = opaque; struct kvm_vcpu *vcpu = kvm->bsp_vcpu;转载 2014-04-16 16:07:21 · 2404 阅读 · 0 评论 -
qemu-kvm 代码分析
物理计算机由处理器,存储器,输入与设备三大部件组成,虚拟机实际也是一台计算机,必然包括这三大组件,所以虚拟技术包括处理机虚拟化,存储器虚拟化,输入与输出设备虚拟化,这些虚拟化是通过软件虚拟还是硬件虚拟呢?接下来看看具体虚拟化软件qemu-kvm是如何处理的?qemu是采用纯软件模拟的技术,kvm暂且认为采用硬件模拟技术, 可见qemu-kvm的虚拟机是硬件辅助虚拟机,其中处理机虚拟化和存储器虚转载 2014-04-16 16:05:45 · 3115 阅读 · 0 评论 -
qemu-kvm 内存虚拟化---ept
qemu-kvm内存虚拟化内存虚拟化实际就是进行地址转换从客户机虚拟地址-->客户机物理地址-->宿主机的物理地址,转换实现有两种硬件内存虚拟化和软件影子页表方式, 下面主要分析基于intel ept硬件内存虚拟化实现,此实现主要做两件事情1.开启ept功能2.构造转换页表。注意该页表构造采用动态方式(常说懒惰方式),就是不到完不得以情况不创建。此页表创建实现就是采用ept violati转载 2014-04-16 16:09:10 · 3172 阅读 · 0 评论 -
Qemu-kvm模拟APIC Timer中断
Qemu-kvm模拟APIC Timer中断qemu-kvm模拟两个时钟中断设备PIT(i8254)和APIC Timer设备,也就是产生中断源。两者电子线路连接不同,对于i8254设备来说首先连接到i8259中断控制器,i8259中断控制器再连接到ioapic设备中,送到lapic,最后注入到vcpu中。对于APIC Timer设备实际就是lapic的一个功能,意思就是通过编程可以触发l转载 2014-04-16 16:08:06 · 2555 阅读 · 0 评论 -
Guest OS, Qemu, KVM工作流程
这里主要介绍基于x86平台的Guest Os, Qemu, Kvm工作流程,如图,通过KVM APIs可以将qemu的command传递到kvm: 1.创建VM system_fd = open("/dev/kvm", xxx); vm_fd = ioctl(system_fd, KVM_CREATE_VM, xxx); 2.创建VCPU vcpu_fd = kvm_vm_io转载 2014-04-21 18:50:59 · 1205 阅读 · 0 评论 -
KVM虚拟机创建功能详细讲解
。 ⑶ 在cmdCreate主程序中有一个特别重要的函数:virDomainCreateXML(),这个函数的最初原型是: virDomainPtr virDomainCreateXML (virConnectPtr conn,const char*xmlDesc,unsigned int flags),这个函数是基于一个指定的XML文件来创建一个虚拟机,其中conn表示一个指向hyperv转载 2014-04-21 18:47:55 · 1695 阅读 · 0 评论 -
KVM系统调用说明
1. General description----------------------The kvm API is a set of ioctls that are issued to control various aspectsof a virtual machine. The ioctls belong to three classes- System io转载 2014-07-07 10:06:46 · 3962 阅读 · 0 评论