xs-vm小型虚拟机
xs-vm 是一个极小型的虚拟机,适用于教学。
这个项目的目的是执行一个简单的虚拟机,能够像 ARM 一样执行简单的汇编代码。我将一直让它保持简单(所以可能没有操作模式,中断处理,等等),因为它是为了教学而创建的。至于为什么用 Python 呢,这个项目优先考虑的是开发速度而不是性能,所以 Python 最适合。
架构:
虚拟机有16个寄存器 (R0-R15)。大部分是通用的,有一些特殊的:
-
SP (R13)。堆栈指针。指到最后一个元素 push 到 堆栈(或 0XFFFFFF,如果没有东西被 push)。
-
LR (R14)。链接寄存器。持有该函数调用的返回地址。
-
PC (R15)。程序计数器。持有这将在未来执行的,存储器中的指令地址。
函数调用时,结果是存在 R0, 而 R1-R3 通常用来传递参数。
评论
Lguest小型虚拟机
Lguest是一个很小的虚拟机实现,采用了和Qeum/KVM和Xen不同的实现方式。这位大拿开发者也是Virtio的作者。十分适合供有志者开发自己的虚拟机的开发者研究。
Lguest小型虚拟机
0
Avian小型Java虚拟机
Avian是一个轻量级的Java虚拟机和类库,提供了Java特性的一个有用的子集,适合开发跨平台、自包容的应用程序。Avian实现非常快速而且体积小,主要特性:Just-In-Time(JIT)编译,
Avian小型Java虚拟机
0