Operating system 有可能在一台计算机上运行两个独立的操作系统吗?

Operating system 有可能在一台计算机上运行两个独立的操作系统吗?,operating-system,Operating System,我想这可以通过将一些RAM和L3缓存分配给一个操作系统,将一些分配给另一个操作系统,并拥有两个硬盘驱动器和两个监视器来实现。我不知道是否有可能做到这一点,如果有,如何做到?包装器操作系统?是否有任何功能示例 我知道这样一个系统的大多数优势都可以通过虚拟化获得,但这与我的意思不同。理论上,在一台机器上运行多个操作系统,但在不同的核心上是可能的。一个内核将运行windows,另一个将运行linux发行版。虽然这很难实现,因为两个操作系统都认为它是岛上唯一的国王,并试图统治一切,如内存和设备。最终,如

我想这可以通过将一些RAM和L3缓存分配给一个操作系统,将一些分配给另一个操作系统,并拥有两个硬盘驱动器和两个监视器来实现。我不知道是否有可能做到这一点,如果有,如何做到?包装器操作系统?是否有任何功能示例


我知道这样一个系统的大多数优势都可以通过虚拟化获得,但这与我的意思不同。

理论上,在一台机器上运行多个操作系统,但在不同的核心上是可能的。一个内核将运行windows,另一个将运行linux发行版。虽然这很难实现,因为两个操作系统都认为它是岛上唯一的国王,并试图统治一切,如内存和设备。最终,如果没有任何独占锁,两个操作系统都会混淆硬件或自身并崩溃。
让我们来谈谈理论上怎么可能?
这是通过非对称多处理(AMP)实现的,在执行操作系统A之前,隐藏第二个内核,以便操作系统假设机器上只有一个内核,然后在操作系统为该内核设置环境之后。
一旦在这方面准备好了,您就要求操作系统B通过隐藏第一个内核来加载第二个内核。是的,除了引导加载程序之外,您还需要一个单独的程序来完成所有这些工作。
现在有两个操作系统在运行,但是内存呢?设备?是的,这是一个主要问题。我可以看到的一个解决方法是修改OS A和OS B的内核,这样就可以正确地划分系统资源。就像您告诉操作系统A使用较低的2GB内存来使用,并假设较高的2GB不可用,因此修改操作系统B以使用较高的2GB内存。
内存问题已得到解决,但修改每个设备驱动程序来实现这一点并不难。


我想这是不做这种实验的唯一原因。这根本不值得。

除了虚拟化之外,在任何当前处理器上都不可能做到这一点


当处理器接收到中断时,由哪个操作系统处理?

虚拟化如何?这当然是一种选择,但我想知道是否有可能将它们并排放置,而不是一个包裹在另一个中。我不确定这是否可行。这意味着两个操作系统可以共享同一个物理处理器,管理其计算顺序等。这就是我为什么想到包装操作系统的原因。它将能够分割共享缓存,而非共享缓存无论如何都不是问题。但这样一来,它就可以为两个真正的操作系统本地处理所有内容。我认为这是不可能的。请查看以下内容以了解更多信息: