是否可以在计算机上运行两个独立的操作系统?

时间:2016-07-06 07:52:02

标签: operating-system

我想这可以通过将一些RAM和L3缓存分配给一个操作系统,一些安装到另一个操作系统,以及两个硬盘驱动器和两个监视器来完成。我不知道它是否有可能做到这一点,如果是的话,怎么样?包装OS?有没有功能性的例子?

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

在虚拟化之外,在任何当前的处理器上都无法做到这一点。

当处理器收到中断时,操作系统会处理什么?