Reply to post: Re: Win32 applications, only Win32s

What is dead may never die: a new version of OS/2 just arrived

Anonymous Coward
Anonymous Coward

Re: Win32 applications, only Win32s

No. The full Win32 API has several features that cannot be backported to Win 3.x - just think the difference between preemptive and cooperative multitasking. Win32 applications that actually don't use any of the calls not supported on Win32s *may* work on Win32s. NT 3.51 added the new controls made available in Windows 95, and which 3.1 lacked. You needed them to run the newer applications.

Graphics *drivers* have always been in the kernel (otherwise how could they talk to the hardware?), the change made in NT4 was to move most of the GDI routines code itself (which run atop the driver) to the kernel to minimize the number of CPU ring level transitions, which on the CPUs of the time, especially before the syscall/sysenter opcodes were added (Windows didn't use them until XP for backward compatibility), could require a lot of time, hampering graphic performance, in a time when GUI application were becoming much more demanding, including games, and GPUs with more memory and specific 3D features became available (hence the need for DirectX).

Other OS of the time, like the Apple's system/MacOS, had fairly simpler architectures (Apple took a long time to add protected memory support and preemptive multitasking to its OS....).

The biggest risk isn't really code instability, although a bug in a routine can bring down the system, but usually bugs are more probable in low quality graphic drivers, which needs to run in the kernel anyway. The biggest risk are vulnerabilities, because the code runs with kernel privileges. All the font-related vulnerabilities are an effect of this choice. But face it, with graphics cards requiring now a lot of low-level interactions to exploit their advanced features, most of the controlling code needs to be at a level where direct access to the hardware is available, unless you can accept a large number of rings transitions. Linux went the same way for this reason.

I run many NT4 servers on IBM hardware back then, and really, the graphic subsystem was never an issue, especially since you didn't run complex GUI applications on them. Bad drivers were often an issue in those days, especially on cheaper hardware, and no internet to get updates quickly.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon