我写了一个KVM虚拟化Hypervisor

2023-03-28 08:59:07 浏览数 (2)

大家好,我是cloud3,最近写了一个KVM虚拟化Hypervisor。

为什么要写呢

大家应该对Qemu-KVM比较熟悉,但是qemu目前已经有160多万行代码,两千多Contributors,涉及17种语言。

虽然目前有轻量级的Hypervisor,例如stratovirt、firecracker-microvm等,但对于初学者来讲,门槛还是比较高的。

为了方便大家学习和交流,我写了个简单的KVM虚拟化Hypervisor,麻雀虽小五脏俱全。相信大家看完之后很快就能搞明白虚拟化的原理。

目前状态

  • 一个简易的KVM虚拟化hypervisor(目前支持X86)。
  • 实现了一个能够引导linux操作系统的linux boot规范,或者说实现了无bios引导linux系统。
  • 实现了KVM虚拟化的最基础CPU、内存、IO陷入陷出处理。
  • 实现了一个串口设备,用以和操作系统交互。 (以后会陆续添加必要的pci设备。)

github地址

https://github.com/isclouder/microv

编译运行都非常简单:

代码语言:javascript复制
cd microv; make all
./microv -k ./out/vmlinux.bin -i ./out/initrd.img

0 人点赞