- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
kvm-qemu-libvirt-vdsm研究
KVM ? Qemu-kvm ? Libvirt ? VDSM Andrew Xu xuan@ opzoon confidential | 2011 opzoon RD 体系结构 KVM技术介绍 什么是KVM技术 KVM初始化 KVM API 内存管理 VirtIO Qemu-kvm 什么是Qemu-kvm Kvm和qemu的关系 Libvirt 什么是libvirt技术 Libvirt原理和代码示例 VDSM 什么是vdsm Vdsm的模块分析 参考资料 体系结构 什么是KVM技术 KVM 是作为内核模块实现的,因此 Linux 只要加载该模块就会成为一个hypervisor kvm.ko + kvm-kvm-intel.ko(只支持全虚拟化,必须有Intel VT或者AMD虚拟化技术支持才行) 设备模拟由qemu完成 (本身作为普通进程来运行) KVM 通过 /dev/kvm 字符设备文件 API接口供qemu使用 Ring0 Ring3 根模式 Hypervisor(host linux) Qemu 非根模式 Guest OS Kernel Guest OS User vmx_init() |-- kvm_init () | |-- kvm_arch_init () | | |-- kvm_mmu_module_init () | | |-- kvm_init_msr_list () ? 保存CPU特性信息,供ioctl查询 | | |-- kvm_x86_ops = xxx | |-- kvm_arch_hardware_setup () | | |-- kvm_x86_ops- hardware_setup | | | |-- 读取硬件信息 | | | |-- 检查是否支持某些虚拟化特性(比如是否支持ept,是否支持vpid) | | | |-- alloc_kvm_area() | | | | |-- for_each_possible_cpu(cpu) { | | | | |-- vmcs = alloc_vmcs_cpu(cpu) | | | | |-- per_cpu(vmxarea, cpu) = vmcs | | | | |-- } | |-- register_cpu_notifier(kvm_cpu_notifier) | |-- register_reboot_notifier(kvm_reboot_notifier) | |-- sysdev_class_register(kvm_sysdev_class) | |-- sysdev_register(kvm_sysdev) | |-- kvm_vcpu_cache = kmem_cache_create(kvm_vcpu, vcpu_size) | |-- misc_register(kvm_dev) ? KVM API | |-- KVM内部实现(模块初始化) System KVM_GET_API_VERSION KVM_CREATE_VM … … VM KVM_SET_MEMORY_REGION KVM_CREATE_IRQCHIP ? Creates an interrupt controller model KVM_GET_CLOCK/ KVM_SET_CLOCK ? Gets /Sets the current timestamp of kvmclock KVM_CREATE_VCPU … … VCPU KVM_GET_MSRS/ KVM_SET_MSRS KVM_GET_REGS/ KVM_SET_REGS KVM_RUN … … KVM API(by 3 ioctls) 影子页表 每个Guest的每个页表都有一个对应的“影子页表”存在 MMU中导入的是影子页表,但Guest OS以为这是它的页表 影子页表转换的是:GVA? HPA,由KVM维护 影子页表中每项的权限都比对应的Guest OS真实的页表要低 影子页表有“刷新延迟”机制,尽量少刷新 EPT(external page table) Guest OS的页表还是放在MMU中,它转换的是GVA?GPA EPT表转换的是GPA ? HPA,由KVM维护 所以每次内存操作理论上都要查两次页表 CPUID是它的“刷新延迟”机制 说明: GVA :Guest Virtual Address GPA:Guest Physi
您可能关注的文档
- Linux环境下MPICH安装指南.doc
- 2011年研究生政治考纲解析:哲学原理第一章.ppt
- hadoop+hbase+zookeeper安装说明.docx
- ORACLE11G RAC 安装指南(Linux平台).doc
- git命令学习笔记.docx
- hadoop分布式环境搭建.docx
- HDFS+MapReduce+Hive+HBase快速入门.docx
- 原创-hodoop-pass版.doc
- git命令_收藏.docx
- Hadoop平台搭建步骤.doc
- 关于小学数学教育的论文.docx
- 2024年吉利汽车分析报告:GEA架构+雷神混动赋能银河再增长,极氪+领克持续耕耘中高端化.pdf
- 2024年分众传媒分析报告:周期、竞争、成长,再看分众的三个视角.pdf
- 2024年诺思兰德分析报告:创新型Biotech,差异化产品布局,即将商业化转型.pdf
- 2024年核电行业分析报告:激荡七十载,后浪汤汤来.pdf
- 2024年天立国际控股分析报告:民办教育龙头转型成果卓著,办学实绩支撑高速成长.pdf
- 2024年洛阳钼业分析报告:开启新一轮铜产能扩张,进军全球一流矿企行列.pdf
- 2024年众辰科技分析报告:变频器优质企业,看好长期成长性.pdf
- 2024年中煤能源分析报告:多元化煤炭巨头,高长协比稳定业绩.pdf
- 2024年特海国际分析报告:海外中餐前景广,火锅龙头新征程.pdf
最近下载
- 中医气功学导论期末试卷.docx
- 请你谈一下你为什么要加入中国共产党谈谈为什么加入中国共产党.pptx VIP
- 2024南方电网广西电网公司校园招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- DB37T19976—2011山东物业服务规范第1部分住宅物业.doc
- 七年级心理健康教案完整版.docx
- 赤泥综合利用项目可行性研究报告(完整案例).pdf
- 2024款比亚迪海豹06DM-i豪华型尊贵尊荣尊享旗舰_用户手册驾驶指南车主车辆说明书电子版.pdf
- 企业技术改造资金绩效评价总结报告.doc
- 《生物化学》全套教学课件(共13章完整版).pptx
- 15-彭向刚-学习领导科学提升领导力(清华)__(全国各校课件参考).ppt
文档评论(0)