背景这周末闲来无事,整理了下虚拟显示器的源码,发现有几个项目都用到了,但是使用的功能不尽相同: (1)最简单的运用仅仅是需要显示器的拔插; (2)稍微复杂一点的是需要设置显示器的分辨率,包括标准的分辨率,如19201080,还包括非标准的分辨率,如1120900; (3)再复杂一点的需要设置显示器名称、刷新频率、获取虚拟显示器屏幕图像信息。 再观察我的那几个项目,都重复的导入了源码,每次发现一个b
 在一块硬盘上安置多个操纵系统,不只安置麻烦,多系统的维护更是一个棘手的难题。不过可以使用虚拟系统软件来解决多操纵系统并存的难题。保举使用Qemu,是一款免费、绿色的虚拟系统软件,这样借助移动硬盘就可以轻松拥有多个随身系统了。一、简单设置,Qemu轻松上手  首先点击这里下载其图形化运行软件_Qemu manger(以下简称为QM)。下载后将文件解压到“k:\HA-qemuk21-FSYX\Qem
  11月4日在北京举行的 VMware虚拟化用户大会上,来自Springboard Research的研究报告显示:随着CIO对虚拟化技术的兴趣稳步提升,到2010年,亚太区虚拟化软件和服务的市场规模将达到13.5亿美元,年均复合增长率达到42%。研究报告指出,50%的CIO计划在未来18~24个月内部署虚拟化解决方案,以解决系统容量利用率低、性能差,以及与管理日益扩大的IT基础架构相关
转载 2024-09-29 21:56:29
44阅读
QEMU QDEV代码分析Qemu Qdev设备原理,代码实现相关内容整理。Qdev主要为了解决之前qemu没有统一的设备模型,导致设备配置方式混乱。  另外Qdev实现了guest设备的模拟,以及将向guest暴露host设备。  bus和device构成了一个设备树,设备树的根为sysBus。原有的设备配置方式,设备类型不同,配置方式各异-drive if=TYPE,ind
转载 2024-04-01 20:37:14
98阅读
2015年07月04日 15:26:17 阅读数:41713 为什么会有这篇文章早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正处于整个Linux开发中间层,没有上层的C/C++业务和数据库的开发经验,也没有底层的内核和驱动开发经验,到底路该如何走……基于对Linux系统开发的理解和内核的兴趣,认为选择Linux内核开发更适合自己。于是到淘宝上买了块三星s3c2440(ar
KVM 虚拟化学习之虚拟磁盘管理 qemu-img 一、虚拟磁盘简述1.1 虚拟存储性能的解决方案1.2 虚拟磁盘存储方案二、qemu-img 命令 -- 虚拟磁盘管理2.1 qemu-img 概述2.2 qemu-img 功能示例:2.2.1 创建一个镜像 create2.2.2 查看虚拟磁盘信息 - info2.2.3 检查磁盘镜像完整性(一致性) -- check2.2.4 调整磁盘镜像容
 一.虚拟化介绍在X86平台的虚拟化技术中,新引入的虚拟化层通常称为虚拟化监控器(Virtual Machine Monitor,VMM),也叫Hypervisor。在虚拟化中,VMM必须能截获计算元件到物理资源的直接访问,并将其重定向到虚拟资源池中。根据VMM是用纯软件的方法还是利用物理资源提供的机制来“截获重定向”,可分为软件虚拟化和硬件虚拟化。   &
转载 2024-03-14 17:01:17
106阅读
背景Read the fucking source code! --By 鲁迅A picture is worth a thousand words. --By 高尔基说明:KVM版本:5.9.1QEMU版本:5.0.0工具:Source Insight 3.5, Visio1. 概述从这篇文章开始,将开始虚拟化的系列研究了,大概会涉及到ARM64虚拟化支持、KVM、QEMU等分析;虚拟化相关的实
文章目录VirtIO设备模拟及初始化流程Virtio设备的创建参数解析virtio 设备初始化流程pci_bus_matchpci_match_devicepci_device_probevirtio_pci_proberegister_virtio_devicevirtio_dev_matchvirtio_dev_probe参考 VirtIO设备模拟及初始化流程qemu设备虚拟机化的路线可以概
转载 2024-03-11 13:40:23
190阅读
1 内存虚拟化简介QEMU-KVM 提供内存的虚拟化,从虚拟机角度看其自身拥有的内存就是真实的物理内存。实际上,虚拟机是 host 上的一个 qemu 进程,在为虚拟机指定内存时,host 上并没有分配该内存给虚拟机(qemu 进程),而是需要使用内存时,由 qemu-kvm 分配内存给它。 看这里了解 QEMU-KVM 内存虚拟化机制。2 内存虚拟化配置传统的内存虚拟化通过影子页表实现
转载 2023-08-30 23:10:11
311阅读
qemu负责模拟虚机的外设,因此虚机的线性地址空间主要由qemu进行管理,也就是确定线性地址空间中哪段地址属于哪个设备或者DRAM或者其他的什么。1、数据结构1、RAMBLOCK(最直接接触host内存,有hva)RAMBLOCK才是真正分配了host内存的地方,如果把它直接理解成一个内存条也是非常合适的,但实际上不仅仅如此,还有设备自有内存,显存。ram_list则是RAMBlock的链表。每个
内存虚拟化内存初始化qemu虚拟地址作为guest的物理地地址,guest运行在虚拟的地址空间,但终究是存在物理内存上的,所以要建立虚拟地址空间与物理地址之间的映射。另外,必须要为虚拟机运行程序提供安全的、隔离的运行环境,避免虚拟机之间、虚拟机与宿主机之间的相互干扰。qemu会提前为guest申请好虚拟地址,只有真正需要的时候,通过产生页中断申请物理地址,并且建立页表产生对应关系。guest对内
转载 2024-07-04 19:54:40
159阅读
什么是 virtio# virtio 是一种 I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用 I/O 设备的抽象。提供了一套上层应用与各 Hypervisor 虚拟化设备(KVM,Xen,VMware等)之间的通信框架和编程接口,减少跨平台所带来的兼容性问题,大大提高驱动程序开发效率。为什么是 virtio# 在完全虚拟化的解决方案
  花点时间来总结一下前阵子的工作。  qemu的底层块设备无疑是我所见过的最复杂的模块了,说得好像我很精通很多模块一样(大雾)。  它的raw镜像格式文件的驱动的核心代码主要都是在raw-posix.c文件下面了看看那里的各种API吧哈哈哈。名字也起的特别的显眼,很容易就让人清楚那个API究竟是干啥用的。  目前阅读代码所能认知到那群维护者所用到的技术有 异步IO(AIO),多线程,协程(cou
转载 2024-08-13 14:38:08
54阅读
一、qemu中物理内存的注册 cpu_register_physical_memory调用cpu_notify_set_memory cpu_notify_set_memory调用kvm_client_set_memory kvm_client_set_memory调用kvm_set_phys_mem kvm_set_phys_mem调用kvm_set_user_me
本文用于记录对QEMU对ELF文件加载函数进行分析。根据“函数使用->函数定义->函数实现->函数实现的分析”的顺序进行分析,最终提取出ELF文件加载的代码。 1. load_elfmips malta中,对load_elf的使用如下: if (load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys,
一、下载QEMUhttps://qemu.weilnetz.de/w64/二、下载 QEMU UEFI 固件文件https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd这里下载的是16.02的版本,放在了 F:\QEMU 根目录。网上还能找到一些其它版本,但是推荐使用这个,
转载 2023-11-20 09:14:56
5455阅读
1点赞
  Qemu 架构  Qemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。  正因为 Qemu 是纯软件实现的,所有的指令都要经 Qemu 过一手,性能非常低,所以,在生产环境中,大多数的做法都是配合 KVM 来完成虚拟
转载 2024-03-12 07:19:09
126阅读
一、什么是QemuQemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。正因为 Qemu 是纯软件实现的,所有的指令都要经 Qemu 过一手,性能非常低,所以,在生产环境中,大多数的做法都是配合 KVM 来完成虚拟化工作
转载 2023-11-26 09:21:36
387阅读
内存虚拟化是一个很大的话题,最近安全部门发现了一个qemu内存虚拟化的安全漏洞,反馈给云平台让解决,感觉很棘手,引起了我对内存虚拟化的思考,想到什么问题就把思考记录下来。x86虚拟内存问题是由学习qemu MemoryRegion想到的,文档memory.rst中有一句话“memory banks used when the guest address space is smaller than
转载 2024-08-06 14:45:40
68阅读
  • 1
  • 2
  • 3
  • 4
  • 5