cl91 / NeptuneOS

Neptune OS: A Windows NT personality for the seL4 microkernel
GNU General Public License v3.0
374 stars 11 forks source link

(Question) Influences #15

Closed hardBSDk closed 6 months ago

hardBSDk commented 11 months ago

AFAIK Wine already implements the Windows kernel on user-space (wineserver), thus I think Neptune is seL4-specific.

cl91 commented 11 months ago

Wine already implements the Windows kernel on user-space (wineserver)

Yes, in fact wine has a very similar architecture to us. However, wine's implementation depends on the POSIX API which is not available on seL4. POSIX is a very fat layer of API so implementing it first on seL4 will be more work than starting from scratch. Additionally, wine does not implement any of the device driver interfaces provided by the NT kernel (this is in fact the bigger part of the project).

How much it's different from ReactOS?

For userland (by 'userland' I mean the components running in userspace of a traditional, non-microkernel OS), I'm hoping to achieve binary compatibility with ReactOS, although it's a long shot. For device drivers, due to the architectural differences there won't be any binary compatibility, but I'm hoping that once the system matures the porting effort to port a ReactOS driver to NeptuneOS will be low.

The fatfs driver from ReactOS is now ported to Neptune OS under drivers/filesystem/fatfs.

cl91 commented 6 months ago

I think the questions are answered now so I'm closing the issue.