Hi Travis,

> I'm still wondering why there's nothing to take advantage of these  
> multi-core processors to allow someone to run multiple oses  
> simultaneously using one core for each os.  No reason you can't use  
> task switching, and run dos, windows, linux, and others all on the  
> same machine, simply dropping each os on it's own processor, and  
> letting it loose.  No need for emulation, and no need to virtualize  
> anything (except possibly the video) since keyboard input wouldn't be  
> an issue unless you switched specifically to that cpu.
> I'm really puzzled why such a system doesn't exist.

I am less puzzled: You would still have to decide which
processor gets which hardware input events and which of
the cores (in case they all have different single-core,
maybe single-task operating systems running) to allow to
modify the state of your output hardware (e.g. graphics)
and what to do with the output of the other cores etc.

In other words, it would be very similar in complexity
to existing solutions, such as multi-tasking or multi
operating system hypervisors. Saying that each core is
always reserved for the same job is of very limited use
for simplifying things. On the other side, the core is
not available for doing useful things for the other OS
while one OS is idle, so you even get performance loss.

Maybe that explains why it has not been done? However,
I myself do wonder how well DOS is supported by current
hypervisors, if any. It would have to run with a real
or simulated BIOS that is hypervisor friendly, I guess.

> I realize there's not a huge demand for multiple oses on a single  
> machine, but having linux/windows on the same pc, each booting from  
> it's own hd, using it's own cpu, and not interfering with the other  
> operating systems on the computer would be a huge boon for some,

If you reserve many pieces of hardware (harddisk, some
USB devices and/or controllers, graphics card etc.) for
each OS, you would almost have a full PC for each ;-)

> there'd be no emulation required, no virtualization, and 100
> percent native code execution.

That is unfortunately not correct: As explained above,
there are still quite a few low-level things shared,
for which you still need virtualization and efforts.

> I think some of the bare metal hypervisors come close to this  
> implementation, but they still have emulation layers instead of  
> granting direct cpu access, so they don't really fit the bill.

What makes you assume that hypervisors emulate your CPU?
With modern CPU, the hypervisor can tell the CPU to trap
and emulate certain hardware access while keeping native
fast CPU use for ordinary (non I/O etc.) computation :-)

In a totally different approach, you could wonder if it
is possible in DOS to use the extra cores for computation
if you do NOT give them any additional services such as
connection to IRQ events or anything. If you do it only
in your one program in single tasked DOS, you can decide
that those extra cores must not touch I/O hardware etc.
You may still have to make the rest of DOS itself happy.

Regards, Eric

PS: I see Bret just replied, too, Thanks for the input :-)



------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to