Win32 independence
Moderator: Moderator Team
Win32 independence
Having read around a bit, i read that NT uses the win32 subsystem for handling input from devices.
What else is win32 used for? And would it be theoretically possible to make that independent of the win32 subsystem, so you don't need to have a win32 subsystem at all?
What else is win32 used for? And would it be theoretically possible to make that independent of the win32 subsystem, so you don't need to have a win32 subsystem at all?
Hmmm, the MS documentation seems to suggest that win32 handles keyboard and mouse input for all other subsystems.w3seek wrote:NT doesn't need win32, win32 is just a subsystem. However, pretty much 99.99% of all software is written for win32 and therefore won't run without the win32 subsystem...
Also we are getting a lot of software that is based on abstraction layers, like java and CLR, both of which would be interesting to implement at the sunsystem layer, as well as the not inconsiderable (even if relatively small) number of apps for the linux desktop, although that's besides the point...
Point is, I assume it's technichally possible to divorce NT from win32, of course it is. Just, would it be hard or involve ugly hacks? Or is it just MS being difficult?
Suppose there's an API that subsystems would use for those inputs. Wouldn't it be theoretically possible to build a stripped down version of win32 that just did that? Or replace that API completely with a subsystem neutral method?
linuxgx wrote:Whats the point when it would only break compatibility with windows applications. In my mind it is better to leave it as a redundancy for the sake of compatibility.
- 1. to (more or less) remove the possibility of having windows viruses
2. to reduce the potential system size (think, embedded)
3. to reduce the system overhead (think Dataroom or virtual machine host)
4. to remove the dependence of a seemingly fundamental part of the OS from one of it's largest and ugliest codebases
0.o Noone's asking anyone to do anything, or at least i'm not...
It was merely a hypothetical enquiry, no-one has replied with any interesting revelations, but just glib knee jerk dismissals, that i've felt compelled to respond to...
Edit: actually that's not entirely true, noone's come up with a reason which implies that there's no obvious reason why they couldn't be, -hypothetically- independent, even if it did break compatibility.
It was merely a hypothetical enquiry, no-one has replied with any interesting revelations, but just glib knee jerk dismissals, that i've felt compelled to respond to...
Edit: actually that's not entirely true, noone's come up with a reason which implies that there's no obvious reason why they couldn't be, -hypothetically- independent, even if it did break compatibility.
There are a lot of things that are theoretically possible, but aren't practical. We would need to first reroute all the I/O to a different module/component and basically strip the win32k subsystem of a lot of that stuff. Time consuming and would require us to do some redesigns in the process. As a practical issue, I don't see much point in trying to do it. It's not as if we're trying to create a revolutionary, universal operating system.
-
- Developer
- Posts: 58
- Joined: Sat Dec 18, 2004 9:41 pm
- Location: Newbury, UK
- Contact:
I disagree with all of the above points. ReactOS is an open-source implementation of the NT architecture, and this includes the major subsystems.cppm wrote:linuxgx wrote:Whats the point when it would only break compatibility with windows applications. In my mind it is better to leave it as a redundancy for the sake of compatibility.But all of these are just ancilliary and byproducts of the main reason:it would give you more freedom with your OS.
- 1. to (more or less) remove the possibility of having windows viruses
2. to reduce the potential system size (think, embedded)
3. to reduce the system overhead (think Dataroom or virtual machine host)
4. to remove the dependence of a seemingly fundamental part of the OS from one of it's largest and ugliest codebases
1 - You'd not only stop Windows viruses, but almost every Windows application from running on the system. And regardless of your platform, there will always be the potential for exploits, hacks, viruses, etc. Even Linux has virus scanners, and mobile devices such as PDAs and mobile/cell phones can get viruses.
2 - Of course you will reduce the system size, you'd be removing one of the main components of Windows, and rendering it mostly useless except for anything entirely designed not to use the Win32 API.
3 - You'd reduce the system overhead by removing essential parts of the OS, sure... See point 2.
4 - It is a fundamental part of the NT architecture, hence it is required. Without it, ReactOS is virtually useless to everybody. It may have a large and ugly codebase, but what projects don't? Code is written to do a job, not to look "beautiful". Provided it has some logical structure, I have no problem with it.
Haos Linux lock to embeded and supercomputers is something different.
Biggest cause of Linux desktop problem is and has always been infighting. Distributions being incompdable with each other. Linux Standard Base is reducing this problem.
Next cause in network integration with business networks.
Sorry to say win32 is not exactly that high up there.
Compatibility is a major issue.
There is a reason for a cut to hell ros. Took me a while to think of it a core OS for like the MS hypervisor. Reduced auditing and really tight memory foot print and does not really require any graphical interface.
Silverblade Linux yes has virus scanners sorry to say they are mostly used agaist windows viruses not linux ones. Rootkit scanning in more critical. Most PDA mobile/cell phones use the same virus protection system as Linux. Update the firmware/software no longer to have the flaw for the virus to operate.
Biggest cause of Linux desktop problem is and has always been infighting. Distributions being incompdable with each other. Linux Standard Base is reducing this problem.
Next cause in network integration with business networks.
Sorry to say win32 is not exactly that high up there.
Compatibility is a major issue.
There is a reason for a cut to hell ros. Took me a while to think of it a core OS for like the MS hypervisor. Reduced auditing and really tight memory foot print and does not really require any graphical interface.
Silverblade Linux yes has virus scanners sorry to say they are mostly used agaist windows viruses not linux ones. Rootkit scanning in more critical. Most PDA mobile/cell phones use the same virus protection system as Linux. Update the firmware/software no longer to have the flaw for the virus to operate.
Silverblade - I was merely offering some reasons why it might make sense given the right situation. Needless to say applications don't begin and end with win32 ones, so in that spirit i was simply pitting some positive thinking against the potentially misguided idea going something along the lines of "Why on earth would you not want win32 compatibility?!" *shock*
If you entertain the possibility of living without windows apps, then my original reasons become salient.
The fact that in general it might not be a good idea, which is your point, doesn't make this, a potential situation based on a hypothetical question, any less valid.
Again, the fact that this isn't the spirit of the reactos project, doesn't make this, just another possible use of the same open source code, any less valid.
Once again, the 'it's a fundamental part of the NT architecture' doesn't make what i say any less valid, since in my question that was the flexible variable: the question being, is it a fundamental part of the NT architecture? And why? I didn't expect to be told of for the seemingly heretical sugestion without any explanation or justification.
And a reminder, this isn't a suggestion, or a complaint, it was a hypothetical question. I'm not talking reactos strategy, neither am i trying to pick a fight, i was just trying to get some interesting mindshare after reading an interesting article. o_0
If you entertain the possibility of living without windows apps, then my original reasons become salient.
The fact that in general it might not be a good idea, which is your point, doesn't make this, a potential situation based on a hypothetical question, any less valid.
Again, the fact that this isn't the spirit of the reactos project, doesn't make this, just another possible use of the same open source code, any less valid.
Once again, the 'it's a fundamental part of the NT architecture' doesn't make what i say any less valid, since in my question that was the flexible variable: the question being, is it a fundamental part of the NT architecture? And why? I didn't expect to be told of for the seemingly heretical sugestion without any explanation or justification.
And a reminder, this isn't a suggestion, or a complaint, it was a hypothetical question. I'm not talking reactos strategy, neither am i trying to pick a fight, i was just trying to get some interesting mindshare after reading an interesting article. o_0
Ok first lets start off with a few points. Lots of drivers need win32 programs to install or operate correctly. So removing it does harm.
ntdll.dll was ment to be the common point between subsystems. Note ntdll.dll should not be classed as part of win32.
There are reasons for direct syscalls from subsystems. Disconnecting from win32 is more than complex over the years more and more has been build depending on it.
ntdll.dll was ment to be the common point between subsystems. Note ntdll.dll should not be classed as part of win32.
There are reasons for direct syscalls from subsystems. Disconnecting from win32 is more than complex over the years more and more has been build depending on it.
Who is online
Users browsing this forum: Bing [Bot] and 34 guests