Page 1 of 1

EMUOS

Posted: Fri Nov 30, 2007 5:18 am
by Zacariaz
I didnt know if i should put this in OS Design & Theory or OS Development, so i put it in General Rambling...

I have read some stuff about a certain virtual machine called QEMU which, among other things, can run as a virtual machine emulating the ARM architecture on a x86 system. This is... interesting at best, that is endless you choose to believe those who say that the ARM emulator parforms better, running fx. linux on top of, fx. windows, than the x86 architecture that run the ARM emulator would do on its own, just runing linux.

(did that make sence?)

So i was thinking, imagining for a moment that this is true, if it would be possible redesigning the processor architecture on a software level, not as an emulator running under linux, windows or whatever, but as an OS of it own, and if it would be worth working on, and if anyone have ever tryed anything simular before.

No matter what i think it could be very cool have a boot menu listing various processor architectures instead of operating systems.

"I think today i will run MIPS Debian..." or maybe im just crazy...

Posted: Fri Nov 30, 2007 5:31 am
by JamesM
Are you saying that you have heard that:

An ARM emulator (hosted on x86) running an OS performs better than the OS running native (on x86)?

It is actually impossible that a dynamic binary translator (because that's what qEmu is) can translate and optimise code faster than it can be run native (on the same machine). Sorry but that's rubbish! Unless I misunderstood your question!

Now the question would be valid if you changed the last part: that an ARM emulator (hosted on x86) can run an OS faster than the OS can run native (on ARM). That is possible, as the x86 chip can be much faster than the ARM chip (This is exactly the business the company I work for is in).
So i was thinking, imagining for a moment that this is true, if it would be possible redesigning the processor architecture on a software level, not as an emulator running under linux, windows or whatever, but as an OS of it own, and if it would be worth working on, and if anyone have ever tryed anything simular before.
What you're describing is a sub-OS dynamic binary translator (as opposed to the more common above-OS DBTs like qEmu, valgrind etc). We have produced a couple of these as a company, but it's all very hush hush ;)

To answer you, it has been done before.

Posted: Fri Nov 30, 2007 5:36 am
by Zacariaz
ok then, thanks for the quick reply. I just think it cold be very cool, especially as a developer writing for multiple architectures.

Posted: Fri Nov 30, 2007 5:41 am
by JamesM
It is, when it works! I have at my disposal

PPC-x86,
x86-PPC,
sparc/solaris-ia64/linux,
sparc/solaris-x86_64/linux,
sparc/solaris-x86_64/solaris

translators. :). And now I've got to fix the bugs on them... :S

PS: Those are the ones we have made public. there are others which are top-secret!!