Linked by Thom Holwerda on Mon 18th Jan 2010 16:06 UTC, submitted by fireball
ReactOS The ReactOS project aims to be an open source Windows NT-compatible operating system which can run Windows applications and utilise Windows drivers. Obviously, this is quite a daunting task, and as such, progress has been relatively slow. As a result, project coordinator and kernel developer Aleksey Bragin has proposed a rather drastic solution.
Thread beginning with comment 404631
To read all comments associated with this story, please click here.
So does this run on top of Linux?
by joshv on Mon 18th Jan 2010 16:47 UTC
joshv
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.

Reply Score: -13

Thom_Holwerda Member since:
2005-06-29

Linux? Where did you get that idea from? Did you read the article?

Reply Parent Score: 2

n.l.o Member since:
2009-09-14

Thanks for bringing this interesting development to our attention Thom. I have to admit that in my ignorance I assumed that ReactOS was already using the WINE code in this manner.

Hopefully this will kick start a new era of ReactOS usability.

Reply Parent Score: 5

Laurence Member since:
2007-03-26


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).



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.

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.

Reply Parent Score: 4

joshv Member since:
2006-03-18

Ok, so this is a port of the Wine Win32 user land to run on top of the ReactOS kernel? Correct? If so, I have to admit I pretty much thought that's what ReactOS was already.

Reply Parent Score: 4

phoenix Member since:
2005-07-11

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.

Reply Parent Score: 3

joshv Member since:
2006-03-18

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.

Reply Parent Score: 2