x86 kvm和qemu虚拟化介绍

本文介绍了x86平台的虚拟化技术,重点讨论了CPU虚拟化、内存虚拟化和外设中断处理。通过理解X86体系结构和OS原理,探讨了如何构建虚拟环境。QEMU通过模拟硬件,而KVM利用Intel VT-x技术实现高效的虚拟化。文章还提到了中断模拟的挑战,并鼓励读者深入探索虚拟化的细节。
摘要由CSDN通过智能技术生成

简单说一下自己对x86平台虚拟化的理解,intel有SDM手册,代码都是公开的,难度比较大,理解起来困难,网上有大量优秀博客讲解虚拟化,引用了大量手册和代码,还是很难看懂。个人觉得理解虚拟化不能一上来就看很详细的手册和代码,虚拟化有点绕,先闭上眼睛想想大的道理,掌握了大的道理,再看手册和代码加深理解,否则很容易迷失,对虚拟化的理解只流于表面。

X86体系结构和OS

要理解虚拟化一定要回顾x86体系结构和OS原理,其实这两门课上大学时就学过,当时理解的很肤浅,随着工作的时间越长,理解的越深刻。计算机运转起来飞快,控制的非常精细,表面上给人很多假象,功能越来越复杂,集成度越来越高,不需要掌握很一个细节,但要能简化出一个最简单模型,通过个模型去深入理解背后的原理,思考时要站在不同的角度看问题,CPU的角度,guest的角度,外设的角度,进程的角度,内核的角度,不同角度看问题能让软件逻辑走通。也要不断提出问题,然后试着查资料解答自己的问题,计算机已经复杂到让一个人已经不可能掌握了所有细节,但要形成自己的抽象,各方面逻辑能成环,能自圆其说,只知道一些概念最不可取。

CPU(一堆寄存器)/Cache/Timer

physical memory map, segment and page,MMU and TLB

pci and device,driver and interrupt

kernel space and user space,context and process scheduler

软件和硬件的边界?

对x86和OS回顾后,那么得问自己一个问题,让自己写一个hypervisor怎么实现?guest是不能动的,linux和windows已经编译好的,还是物理机上跑的那些OS,那么是不是得借鉴物理机,哪个厂商什么型号的主板?什么型号的CPU几个核多少G内存?先构造一套假想的硬件,芯片组是什么型号,连接关系什么样的,就想象出下面这张图,这样guest就可以自动识别出这套硬件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值