Chinaunix首页 | 论坛 | 认证专区 | 博客
  • 博客访问: 1227516
  • 博文数量: 578
  • 博客积分: 161
  • 博客等级: 入伍新兵
  • 技术积分: 5084
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-01 07:37
个人简介

只有偏执狂才能生存

文章分类

全部博文(578)

文章存档

2016年(10)

2015年(116)

2014年(88)

2013年(335)

2012年(29)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

发布时间:2015-06-19 12:16:29

KVM基本原理及架构四(内存虚拟化) 影子页表 EPT......【阅读全文】

阅读(1337) | 评论(0) | 转发(0)

发布时间:2015-06-19 12:14:49

使用SystemTap调试新增内核模块

关键点:
1)使用SystemTap调试内核模块,探测点的编写格式示例为:
module("ext3").function("ext3_*")
2)需要将新增的helloworld模块cp到/lib/modules/`uname -r`/extra目录中,否则找不到符号。......【阅读全文】

阅读(1118) | 评论(0) | 转发(0)

发布时间:2015-06-19 12:13:33

kernel 3.10代码分析--KVM相关--虚拟机创建
1、基本原理
如之前分析,kvm虚拟机通过对/dev/kvm字符设备的ioctl的System指令KVM_CREATE_VM进行创建,本文简单解释及分析在3.10版本内核代码中的相关流程,用户态qemu-kvm部分暂不包括。......【阅读全文】

阅读(637) | 评论(0) | 转发(0)

发布时间:2015-06-19 12:13:20

kernel 3.10代码分析--KVM相关--VCPU创建
1、基本原理
?如之前的文章分析,在KVM虚拟化环境中,硬件虚拟化使用VCPU(Virtual CPU)描述符来描述虚拟CPU,VCPU描述符与OS中进程描述符类似,本质是一个结构体,其中包含如下信息:
VCPU标识信息,如VCPU的ID号,VCPU属于哪个Guest等。
虚拟寄存器信息,在VT-x的环境中,这些信息包含在VMCS中。
VCPU状态信息,标识白VCPU当前所处的状态(睡眠、运行等),主要供调度器使用。
额外的寄存器/部件信息,主要指未包含在VMCS中的寄存器或CPU部件,比如:浮点寄存器和虚拟的LAPIC等。
其他信息:用户VMM进行优化或存储额外信息的字段,如:存放该VCPU私有数据的指针。
当VMM创建虚拟机时,首先要为虚拟机创建VCPU,整个虚拟机的运行实际上可以看做VMM调度不同的VCPU运行。
?虚拟机的VCPU通过ioctl VM指令KVM_CREATE_VCPU实现,本文简单分析VCPU创建过程,qemu-kvm用户态实现部分暂不包括。......【阅读全文】

阅读(795) | 评论(0) | 转发(0)

发布时间:2015-06-19 12:13:06

kernel 3.10代码分析--KVM相关--KVM_SET_USER_MEMORY_REGION流程
1、基本原理
如之前分析,kvm虚拟机实际运行于qemu-kvm的进程上下文中,因此,需要建立虚拟机的物理内存空间(GPA)与qemu-kvm进程的虚拟地址空间(HVA)的映射关系。
虚拟机的物理地址空间实际也是不连续的,分成不同的内存区域(slot),因为物理地址空间中通常还包括BIOS、MMIO、显存、ISA保留等部分。
qemu-kvm通过ioctl vm指令KVM_SET_USER_MEMORY_REGION来为虚拟机设置内存。主要建立guest物理地址空间中的内存区域与qemu-kvm虚拟地址空间中的内存区域的映射,从而建立其从GVA到HVA的对应关系,该对应关系主要通过kvm_mem_slot结构体保存,所以实质为设置kvm_mem_slot结构体。......【阅读全文】

阅读(918) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册