[ros-kernel] Different Hardware Architectures
Jakob Eriksson
jakov at vmlinux.org
Tue Apr 27 02:19:28 CEST 2004
KJK::Hyperion wrote:
> At 23.00 26/04/2004, you wrote:
>
>> Actually, they really did this with when porting VMS to another
>> hardware platform. You don't really need to decompile, just to
>> recompile, by translating instructions for one arch to another.
>
>
> There was a famous program called FX!32 that did this on Windows
> NT/Alpha for x86 binaries. After recompiling them, it wrote them back
> to the disk, as native executables, and it worked in the background,
> with no need for direct user intervention. It won't work for
> architectures with different endianness, though - how will you convert
> the data sections?
FX!32 is also an emulator, first program pass is emulated, then
optimized with native sections.
More details at
http://research.compaq.com/wrl/DECarchives/DTJ/DTJP01/DTJP01PF.PDF
It essentially works like IBMs optimizing Java machine - in at least two
ways:
first, it runs "bytecode", only it is x86 code, not Java bytecode.
Second, it optimizes sections on second pass with "compiled" or
translated native code.
And this back in 1997 or before.
Quoting from the report
"Some x86 applications run faster on the Alpha platform than on the x86
platform, even
without being translated, because of the large amount of time the
applications spend in
native DLLs."
So yes, there is potential for greatness here. Lots of very hard work
required, but we
could one day have a ReactOS capable of running Windows x86 - binaries
on another
CPU architecture.
Break free from both Intel and Microsoft...
Add to this that Microsoft is moving fast away from x86 towards .NET and
its bytecode.
When it comes to running .NETs bytecode, it doesn't matter which CPU we
run it on.
(And I'm counting on Wine and ReactOS will incorporate Monos work on .NET.)
This mail ends with a little idea -
maybe the fastest way to port ReactOS to PPC would be to port qemu to
raw hardware?
Then we could run x86 ReactOS directly on PPC...
regards,
Jakob
More information about the Ros-kernel
mailing list