标签: x86 arm virtual-machine virtualization
据我了解,为了正确模拟来宾操作系统中运行的用户程序发出的系统调用,VMM必须先捕获所有系统调用,然后再跳转到来宾操作系统的中断处理程序。
假定为托管VM,由于来宾OS在主机OS中以用户模式运行,那么VMM如何在来宾OS中捕获系统调用,而不是允许系统调用通过VMM进入主机OS?如果通过二进制转换来实现,那么在x86或ARM的VMM中如何转换系统调用指令?