Hmmm...ok you're probably right on that, that Microsoft would have no motive to natively run Linux applications on its Windows operating system.
Originally Posted by major_small
BUT, I do believe Linux would want to run Windows apps natively.
Now, if I was a super genius, could I convert WINE to allow the kernel to be able to read the Windows executable file format?
The super big question lol
The kernel would become much bigger, but that's a given...
So what would happen, is something like this:
The wrapper functions would be like this:
... the kernel recognizes that this is a windows application
... initiates the windows library filled with window calls wrappers
... the app calls those wrapper functions
And the kernel knows to call those because the disassembler code looks like this:
void showWindow(Win32Window& _w)
// This would go to a linux library GUI function
Gtk::window *w = get_gtk_window_from_win32_window(_w);
Except the kernel probably wouldn't use the disassembler code for the win32 app, because it's super smart! (because it can read the Windows executable file format somehow).
Why do this instead of WINE?
- Because the Windows apps are faster in the kernel
- The vision of playing Doom 3 as fast as it runs on Windows
Why NOT to do this?
- Kernel crashes (because WINE crashes a lot)
- To make it a module for the kernel, that way when you're not running a windows app, you can simply unload the module:
Now...is this vision realistic?
modprobe -r WinRunner