Originally Posted by
major_small
the big answer to your big question:
yes, windows could build that in, but microsoft is in the business of building windows. They do not want to build windows+linux+mac+whatever supergod operating system. it's too much work and really not worth it. plus, I can't imagine that really be good for anything anyway... besides, that would take ALOT of money, and processing power, and if you wanted to add mac in the mix you'd need an insanely huge amount of hardware knowhow. it'd be near impossible in fact.
Hmmm...ok you're probably right on that, that Microsoft would have no motive to natively run Linux applications on its Windows operating system.
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:
Code:
$: ./flashmx
... the kernel recognizes that this is a windows application
... initiates the windows library filled with window calls wrappers
... the app calls those wrapper functions
The wrapper functions would be like this:
Code:
void showWindow(Win32Window& _w)
{
// This would go to a linux library GUI function
Gtk::window *w = get_gtk_window_from_win32_window(_w);
gtk_show_window(w);
}
And the kernel knows to call those because the disassembler code looks like this:
Code:
push eax
push ebx
call win32_call_showWindow
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)
The plans?
- To make it a module for the kernel, that way when you're not running a windows app, you can simply unload the module:
Code:
modprobe -r WinRunner
Now...is this vision realistic?