11

I know that two operating systems can share the same computer through hosting. For example, WINE can host Windows, or vice versa, Virtual Box can host a Linux system on a Windows box, but in both cases only one operating system is actually controlling the motherboard and is providing interfaces to the hosted OS.

Is it possible to configure a system to actually share a motherboard between two operating systems?

For this to work, the motherboard would probably have to have two CPUs and also some way to split the memory. Also, you would probably need two video cards and a way of dedicating peripheral slots to one OS or the other.

2
  • So you don't mind a double of everything but the motherboard huh
    – Tom Yan
    Jul 20, 2016 at 13:49
  • I know of zero computers that have the capability to POST into multiple operating systems simultaneously. You do understand that after a system does a POST, it attempts to find the boot storage device, if you have multiple storage devices that can boot, you still have a primary boot storage device that allows you to chain load those devices. I don't agree that a mainframe can boot to multiple operating systems, and run those operating systems, simultaneously. I say that, with a good amount of knowlege, on an IBM mainframe.
    – Ramhound
    Jul 20, 2016 at 14:02

3 Answers 3

4

The hardware would have to specifically support it. A normal PC cannot do this. A mainframe can do it via logical partitions. I think this qualifies as there is no real separate operating system running underneath the LPARs. (Note mainframes also use "hosting" but here there is a single OS running on the hardware like z/VM.

Back in the day if you had a PC card in your Mac you could run both operating systems at once. Would you count this as hosting? I think I probably would...

I am sure there are other examples but the mainframe is the only one I can think of right now that qualifies.

2

Simply put, no. Most of the interconnects within a motherboards circuitry are buses, and the operation of a bus MUST be coordinated by a single arbiter. Interrupts could not function effectively.

In order to do this, you would need a custom motherboard that implemented pretty much the entirety of its functionality twice, with special circuitry to allow two southbridges to share a physical bus, dedicated memory slots per CPU (for parallel northbridge operations), etc.

2

The closest thing to what you are asking is generally referred to as a type-1 Hypervisor. However Hypervisor is really a "minimal OS" (if it even qualifies as an OS) host for multiple guest OS. A sort of supervising kernel.

You can typically dedicate single CPUs in a multi-CPU setup to a specific guest, and allocate memory and storage space for each guest.

Neither guest OS (the only interactive bits in the scenario) relies on the other to operate: the part you find objectionable in your question.

https://en.wikipedia.org/wiki/Hypervisor

I think ESXi is the vmware type 1 hypervisor, and can run on e.g. a Dell Poweredge. My office runs a few servers (phones, storage) on a single powedge bought used on ebay for about 250$. I did not set it up, but I helped.

2
  • You are not wrong, so this is not disagreement as it is a subjective issue and depends what we consider an "OS". But in this case I would say ESXi is the single operating system that controls the hardware and the other's are guests so this is definitely not an instance of 2 operating systems running directly on the hardware. The mainframe LPAR is definitely closer than ESXi.
    – Kurt
    Jul 21, 2016 at 7:27
  • oh, I agree, I said that in the second sentence.
    – Yorik
    Jul 21, 2016 at 14:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .