赞
踩
最近学习KVM,做了些代码分析,把学习的过程(主要是基于4.15版本内核arm64架构kvm的代码分析)形成几个技术文档。初步计划分为guest os退出处理分析、内存虚拟化分析和guest以及host之前切换分析等几个部分,如果后期有时间的话,补充初始化、中断虚拟化和时钟虚拟化的内容。本文先做一些ARM64架构虚拟化的基本原理的介绍。
系统级虚拟化是指将一台物理计算机虚拟成一台或多台虚拟计算机系统,每个虚拟计算机系统有自己的虚拟硬件(内存、CPU和外设),来提供一个独立的计算机执行环境,能够运行完整的操作系统。
虚拟机可以看做是物理机的一种高效隔离的复制。它有三个特性:
为了避免虚拟化漏洞,需要借助一些手段对虚拟化进行一些辅助,一般有两种方式:
ARM64 CPU架构如图所示,里面包括了虚拟化支持,主要有一下特点:
ARM64下KVM虚拟化的系统的总体结构
其中hyperis(VMM)or由KVM + host Linux共同担任
在ARM 64下分为两种情况,根据CPU是否支持VHE特性:
KVM虚拟化系统的执行流
这张图是在网上找的图,非常形象的反应了KVM虚拟化系统的总体执行流程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。