在没有任何操作系统虚拟化的情况下在 Windows 平台上运行 linux 应用程序怎么样。假设我们在 windows 机器上安装了一个 linux 软件,它可以通过下面提到的方法在 windows 上成功运行:
一个普通的 windows 应用程序通过在任何操作系统上创建一个虚拟地址空间在 windows 上运行。程序加载器将应用程序所需的库从物理驱动器加载到虚拟内存地址空间。所有与应用程序相关的库都会在需要时通过使用文件系统 API 进行加载。
现在让我们以不同的方式进行,而不是在本地系统上创建虚拟地址空间,我们可以在能够运行应用程序的不同机器上创建进程地址空间。在我们的例子中,在远程 linux 机器而不是本地 windows 机器上为 linux 应用程序创建地址空间。所有文件系统访问都可以在远程机器上抓取并转移到本地 Windows 机器上。这样,位于本地windows机器上的linux应用程序,在远程linux机器上创建进程地址空间,访问本地windows机器上的文件系统。所有与文件系统相关的 api 都可以远程并路由到本地机器。Linux 应用程序 UI 可以在 linux 机器上捕获并发送到本地 windows 机器上显示。
这样,不同平台的应用程序也可以在其他平台上运行,而无需操作系统虚拟化。您对这种方法有何看法以及可行的程度。这种方法是否有任何大错误使这种方法不可行。