QEMU/KVM
文章平均质量分 88
北方南方
阿里云PolarDB数据库研发部门,有兴趣的小伙伴可以私信我~
展开
-
QEMU/seaBIOS启动流程分析
1 QEMU函数执行流程 machine_init(pc_machine_init) –> pc_machine_init(void) –> 注册QEMUMachine结构体变量pc_i440fx_machine_v2_3 –> pc_init_pci –> pc_init1 –> pc_memory_init –> pc_原创 2018-08-06 17:27:44 · 8692 阅读 · 0 评论 -
QEMU内部:整体架构和线程模型
HOST将qemu当做一个普通的进程和其他进程统一调度,可以使用资源对qemu进行资源预留隔离(cpuset)和优先级提升(chrt)。qemu进程包含多个线程,分配给GUEST的每个vcpu都对应一个vcpu线程,另外qemu还有一个线程循环执行select专门处理I/O事件。 QEMU的主要线程: 主线程(main_loop),一个 vCPU线程,一个或者多个...翻译 2018-08-07 11:47:35 · 7488 阅读 · 0 评论 -
qemu多线程技术的实现
1 qemy_mutex_* qemu_mutex_init –> pthread_mutex_init、qemu_mutex_destroy –> pthread_mutex_destroy、qemu_mutex_lock –> pthread_mutex_lock(如果锁被占据,则阻塞当前线程)、qemu_mutex_trylock –> pthread_mute...原创 2018-08-03 11:00:08 · 6129 阅读 · 0 评论 -
QEMU是如何以后台进程运行的?
当使用libvirt启动QEMU后,QEMU进程便成为后台进程在运行,刚刚分析了QEMU启动的代码,将其转换为daemon进程的过程简单解释如下(QEMU-2.3.0):1 概述 QEMU在被libvirt启动的时候,可以传入一些参数来设置QEMU进程的运行状态,主要参数有:-runas指定以某个用户的权限运行虚拟机、-chroot改变当前QEMU的工作根目录、-daemoniz...原创 2018-08-23 00:17:34 · 6231 阅读 · 0 评论