Da hab ich wohl nicht genau nachgeschaut.
Habe auf dem MS Technet nachgeschaut:
http://www.microsoft.com/technet/archive/ntwrkstn/evaluate/featfunc/kernelwp.mspx?mfr=true
pagefault hat richtigerweise auf die aenderung des gdi in NT4 hingewiesen. es ist allerdings so, dass auch vorher teile der graphik-treiber im kernel mode und andere teile im user mode liefen. ms hatte da eine architekturbereinigung vorgenommen, und sagt, dass das crash-potential auch vorher vorhanden war.
"By making the Window Manager and GDI subsystems into Executive services, both operations decrease in size and improve in performance. This is largely due to the elimination of the shared memory buffers, as well as a substantial reduction in the code size and thread/process switching from the more complex client/server design. Consider, for example, the client/server transition time on a Pentium 100 which is in the order of 60-70 m seconds, whereas a kernel-mode transition is on the order of 4 to 5 m seconds. For screen graphics calls, this difference can become significant enough to be visible to the end user."
Stichwort ist da shared memory - eine haeufige ursache fuer instabilitaeten.
theoretisch soll also die aenderung das system stabiler machen - und sicherer. soll...
Beim naechsten Zitat bitte nicht lachen: "Note that in this respect of total isolation of critical operating system data from user-mode application code, Windows NT Workstation 4.0 remains unchanged in being architecturally more robust than other PC-based operating systems, such as Microsoft Windows 95, IBM OS/2 Warp, and Apple Macintosh operating systems. All of those systems make a trade-off for greater performance and smaller memory footprint that involves putting critical system data structures in memory locations that are directly accessible to application code, without transitioning through operating system code to the privileged mode of the processor. That tradeoff is entirely appropriate for today's low- and medium-range platforms, but not in a high-end platform such as Windows NT. With Windows NT 4.0, it remains true that if application code can crash the system, Windows NT has a bug, period. In other typical PC-based operating systems, because of architectural choices inherent in their designs, application code can crash the operating system even when the system code is flawless."
Mein punkt war, dass es seit den achtziger jahren technologien zur isolation kritischer prozesse gibt. und technologie-unabhaengige maschinen-interfaces. immer wieder seit den letzten 25 Jahren wird in der treiber-ecke gewurstelt und dann ms zum boelimann gemacht, obwohl die architektonischen guidelines bekannt sind. aber eben, wenn ms im technet das obige sagt (
With Windows NT 4.0, it remains true that if application code can crash the system, Windows NT has a bug, period), steckt man den kopf ganz weit zum fenster raus. und der groesste flaw in windows ist die implementation des window-managers und die damit zusammenhaengende event-steuerung. eines der ursachen fuer die schadcode-probleme.
zu nt4 zeiten wurde ja gehofft, dass das naechste windows auf einer gemeinsamen code-basis beruhe. dann kam windows me/2000. me war ja ein ganz holpriger flop. bei xp gibt es home/professional, die nicht auf identischer code basis beruhen.
vista-editionen scheinen mehr gemeinsamen code zu haben, aber ein uniformes windows ist es immer noch nicht.
bei vista wird das eigentlich richtige gemacht, naemlich fremd-geschriebene software (treiber) wieder aus dem privilegierten zu verbannen. der preis ist klar: geschwindigkeit