Hacker News new | past | comments | ask | show | jobs | submit login

No, ReactOS is an implementation of the Win32 API, not the WinNT kernel.

There's a layer of separation between WinNT and Win32 that's basically an API. In theory if you implemented this API, then you could run Microsoft's Win32 subsystem on your API without Microsoft's underlying WinNT kernel. That Win32 layer would be Microsoft code and they'd sue the heck out of you for running it.

The WinNT kernel was originally designed so that Subsystems would run on top of it and those Subsystems would provide the interfaces for applications. Originally WinNT had Win32, OS/2 and POSIX subsystems that ran on top of it. Over time the distinction between WinNT and Win32 erroded while the OS/2 subsystem was canned and the POSIX one neglected.

Starting after Server 2003 they began to redefine the boundary between WinNT and Win32. The primary reason was to allow for headless Servers that didn't have the overhead of the GUI (Win32) or other unnecessary functionality like the Printer systems.




That's entirely wrong. ReactOS implements the subsystems that allow drivers to run and a whole bunch more besides.

If you don't believe me, then I refer you to the following:

https://github.com/mirror/reactos/tree/master/reactos/dll/nt...

The Wiki itself states that:

"The ReactOS project reimplements a state-of-the-art and open NT-like operating system based on the NT architecture. It comes with a WIN32 subsystem, NT driver compatibility and a handful of useful applications and tools."

https://www.reactos.org/wiki/ReactOS

You might also want to review:

https://www.reactos.org/wiki/Ntoskrnl.exe

And also:

https://www.reactos.org/wiki/ReactOS_Core

And here is the header for the kernel functions used in ntdll.h:

https://github.com/mirror/reactos/blob/master/reactos/includ...




Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: