To read all comments associated with this story, please click here.
RE[2]: So does this run on top of Linux?
Wine basically converts Win32 into Linux system calls, but I didn't see Linux in the architectural diagram. I am guessing though there has to be a Linux kernel underneath it all.
So what this amounts to is that emulating the internals of the modern Win32 OS is a lost cause. Whereas emulating the Win 32 API on top of another OS (Linux) is a proven approach that supports something like 13k windows apps.
I think you're getting a little confused there.
ReactOS is a complete OS from the ground up. The problem Aleksey Bragin mentioned was specifically with ReactOS's implementation of it's Win32 calls.
So what Aleksey Bragin is suggesting is by using WINEs Win32 code (baring in mind that WINE has a larger and more complete development) in place of the existing ReactOS Win32 so you have WINEs app compatibility.
So it doesn't really matter what kernel is running as this is purely user space tools.
(case in point being the numerous non-Linux kernel systems that WINEs been ported to: from *BSD and Solaris ports to 'Crossover' for the Mac).
AFAIK drivers wouldn't use Win32. Win32 isn't generally used that low-level. It's more a graphical toolkit with knobs on.
That said - it's been a while since I've used Win32 so I maybe forgetting some details.
However Aleksey Bragin seems to hint that drivers were a non-issue:
ARWINSS has many advantages, not in the least the fact that it would bring Wine's level of application support to ReactOS: 13495 applications from the Win database, as well as a theoretical number of applications Wine can't run due to hardware issues.
A simplification that should make things more understandable:
ReactOS is a re-implementation of the Windows NT kernel, and the Windows NT userland, with the hopes of having a Windows-compatible OS, without any Windows code being used.
WINE is a re-implementation of the Windows userland (the win32 APIs) that allows Windows applications to run on non-Windows OSes.
The ReactOS project has decided to use WINE as their userland leading to: Windows applications running on top of WINE running on top of the ReactOS kernel.
I guess my confusion was that I thought ReactOS was basically already doing what this announcement proposes to implement. But I guess they'd started out with their own Win32 user land and hacked in Wine code on an ad hoc basis.
But this brings up the question - why not go further? What's the benefit of having your own custom NT-like kernel if the Wine Win32 API runs just fine on top of the Linux kernel? I guess you couldn't run Windows drivers for your hardware - but if, as the announcement states, all anybody cares about is apps - who cares? And doesn't their windows driver model implementation pretty much suck anyways?
Perhaps this will just allow them to focus on hardware driver support and kernel tweaking, and leave the userland stuff mostly to Wine.




Member since:
2006-03-18
Wine basically converts Win32 into Linux system calls, but I didn't see Linux in the architectural diagram. I am guessing though there has to be a Linux kernel underneath it all.
So what this amounts to is that emulating the internals of the modern Win32 OS is a lost cause. Whereas emulating the Win 32 API on top of another OS (Linux) is a proven approach that supports something like 13k windows apps.
The only problem I can see is that you lose driver support. You can't just install your win32 drivers for your hardware in ReactOS and expect it to work.