- 博客(105)
- 资源 (24)
- 收藏
- 关注
原创 GRUB基础 — Multiboot规范
GRUB是兼容Mutliboot规范的一种实现,本文主要介绍Mutliboot规范并与Mutliboot2规范对比,分析两者在扩展性和平台支持方面的优缺点
2024-03-01 09:39:32 818
原创 ivshmem-plain设备原理分析
ivshmem-plain设备是Qemu提供的一种特殊设备,通过这个设备,可以实现虚机内存和主机上其它进程共存共享,应用程序可以利用此设备实现虚机内部和主机上进程间的高效数据传输。通常,虚机内部的进程作为生产者,往共享内存中写入数据,主机侧进程作为消费者,从共享内存中读取数据,这种模式常常应用在虚拟化的杀毒软件场景,虚机内部的杀毒软件驱动程序搜集虚机的行为数据放到共享内存,后端的杀毒软件分析虚机暴露的数据,判断该虚机是否行为异常甚至中毒,本文主要分析这类杀毒软件的工作基础ivshmem-plain设备。
2023-06-26 17:22:36 1068 8
原创 深入分析vfio-user设备实现原理 —— Client侧
本文基于oracel qemu https://github.com/oracle/qemu.git 版本,分析了vfio-user协议相关的客户端实现
2023-06-20 23:56:20 677
原创 深入分析vhost-user网卡实现原理 —— VirtIO Features协商
本文深入分析vhost-user网卡实现原理,由于features在各数据结构中多有出现惹人疑惑,因此主要解释在vhost-user网卡生命周期内各个features的作用
2022-10-04 18:42:44 2978
原创 Libvirt同步机制 —— 实现原理
我们在在篇文章《Libvirt同步机制 —— 设计原理》中详细分析了Libvirt项目涉及到的几种需要多线程同步的场景以及基于这些场景Libvirt设计的对应同步机制,本文以此为基础,继续分析这些同步机制的数据结构设计,接口设计以及流程实现...
2022-05-19 14:41:00 691
原创 virtio网络Data Plane卸载原理——vhost-net master
本文以vhost-net举例,分析virtio网络dataplane卸载的具体流程,主要分析master侧
2021-12-03 12:43:44 1440
原创 virtio网络Data Plane卸载原理——vhost protocol
本文主要分析virtio网络实现dataplane的卸载的基础——vhost protocol
2021-10-31 23:59:42 1313
原创 QEMU脏页速率计算原理
dirty-ring和dirty-bitmap都可以实现脏页速率计算,本文介绍这两种机制的实现原理。两种方式正在合入开 qemu社区,预计在qemu-6.1之后支持
2021-07-25 00:19:45 1848 1
原创 QEMU Multifd迁移原理
介绍Multifd迁移,主要分为三部分,首先简单介绍multifd的特点,其次介绍multifd的工作原理,最后测试对比multifd与普通迁移的性能。
2021-02-22 19:49:45 1307
原创 Libvirt CPU Feature
本文主要介绍libvirt为了保证不同cpu的host能够顺利迁移虚机,提供的virsh工具用于计算不同cpu间feature交集的原理。
2021-01-24 15:08:59 2487 2
原创 OpenStack内存迁移简介
本文主要描述openstack发起的内存迁移,主要分析nova和libvirt如何实现迁移。qemu的内存迁移在其它文章中有介绍。
2020-12-07 00:10:36 933
原创 runc —— 从入门到放弃
本文以分析OCI Runtime Spec为主,过程中使用runc容器方案加以举例,希望在理解OCI规范之后,能够更加轻松地理解runc的命令行接口与设计原则。
2020-09-24 19:41:23 4447 2
原创 QEMU Device Tree —— 传递流程
设备树是嵌入式设备上bootloader传递给linux内核的硬件描述。本系列文章主要分析QEMU在模拟arm架构虚拟机时设备树的生成,加载原理。本章主要描述设备树的使用流程,讨论qemu如何将生成的dtb传递给kernel
2020-09-18 22:13:25 4528
Sleepable Read-Copy Update
2019-10-26
READ-COPY UPDATE: USING EXECUTIONCONCURRENCYHISTORY TO SOLVE PROBLEMS
2019-10-26
GL OPENGL dll
2013-10-30
android socket实验代码
2013-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人