上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: Qemu Object Model QOM (Qemu Object Model)是Qemu实现的面向对象编程模式。Qemu是用C语言编写的,而C语言是面向过程的编程语言,无法享受面向对象编程模式针对复杂软件系统在设计模式上的优越性。为解决该问题,Qemu社区通过C语言实现了一套面向对象的编程接口, 阅读全文
posted @ 2021-04-21 10:23 Edver 阅读(2274) 评论(0) 推荐(1)
摘要: 1. 概述 在传统的设备模拟中,虚拟机内部设备驱动完全不知道自己处在虚拟化环境中,所以I/O操作会完整的走 虚拟机内核栈->QEMU->宿主机内核栈,产生很多VM Exit和VM Entry,导致性能很差。Virtio方案旨在提高I/O性能。在改方案中虚拟机能够感知到自己处于虚拟化环境中,并且会加载 阅读全文
posted @ 2021-04-21 10:14 Edver 阅读(15640) 评论(3) 推荐(3)
摘要: 简介: 在虚拟化环境下,intel CPU在处理器级别加入了对内存虚拟化的支持。即扩展页表EPT,而AMD也有类似的成为NPT。在此之前,内存虚拟化使用的一个重要技术为影子页表。在虚拟化环境下,虚拟机使用的是客户机虚拟地址GVA,而其本身页表机制只能把客户机的虚拟地址转换成客户机的物理地址也就是完成 阅读全文
posted @ 2021-04-15 15:50 Edver 阅读(2177) 评论(0) 推荐(0)
摘要: PS: 具体内容待分析,尚不十分清楚 关键结构体 : /** * MemoryRegionSection: describes a fragment of a #MemoryRegion * * @mr: the region, or %NULL if empty * @fv: the flat v 阅读全文
posted @ 2021-03-02 19:20 Edver 阅读(467) 评论(0) 推荐(0)
摘要: 简介: AddressSpace 的root域及其子树共同构成了 Guest 的物理地址空间,但这些都是在 QEMU 侧定义的。要传入 KVM/HAXM 进行设置时,复杂的树状结构是不利于内核进行处理的,因此需要将其转换为一个“平坦”的地址模型,也就是一个从零开始、只包含地址信息的数据结构,这在 Q 阅读全文
posted @ 2021-03-02 19:18 Edver 阅读(945) 评论(0) 推荐(0)
摘要: 简介: 内存虚拟化就是为虚拟机提供内存,使得虚拟机能够像在物理机上正常工作,这需要虚拟化软件为虚拟机展示一种物理内存的假象,内存虚拟化是虚拟化技术中关键技术之一。 qemu模拟虚机内存,核心是维护虚机物理地址空间。这个地址空间既要方便qemu管理,向虚机侧提供内存,又要方便展示和导出,向平台侧提供内 阅读全文
posted @ 2021-03-02 19:15 Edver 阅读(2968) 评论(0) 推荐(0)
摘要: 简介: 上一篇已经讲解了如何安装Graphviz, Graphviz可以基于dot语法生成流程图,这一节来了解下dot语法的结构和使用。官方文档参考。 一: Dot语言 DOT语言是一种文本图形描述语言。它提供了一种简单的描述图形的方法,并且可以为人类和计算机程序所理解。DOT语言文件通常是具有.g 阅读全文
posted @ 2020-10-06 10:46 Edver 阅读(4321) 评论(0) 推荐(0)
摘要: 简介: Graphviz (英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。它也提供了供其它软件使用的库。Graphviz是一个自由软件,其授权为Eclipse Public License。 一:Gra 阅读全文
posted @ 2020-10-05 22:45 Edver 阅读(765) 评论(0) 推荐(0)
摘要: 简介: 上一章描述了库文件存在静态和动态的区别,在现代操作系统中由于很多基础库已经存在且复用程度较高,所以使用动态链接库的场景较多。在大多数程序中使用了动态链接技术,使得编译出来的程序占用空间变小,一些公共的库函数如glibc在可执行文件中并没有对应的函数实现。但是动态绑定导致了程序运行时加载时间较 阅读全文
posted @ 2020-10-05 11:15 Edver 阅读(1101) 评论(0) 推荐(0)
摘要: 简介: 在程序编写的时候我们会依赖很多底层的实现(除非单纯操作简单的硬件如单片机点灯),所以不可能永远从零开始书写,因此不可避免的会使用到很多库文件,那么什么是库文件。 一:什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此 阅读全文
posted @ 2020-10-05 11:13 Edver 阅读(1081) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 10 下一页