|
|
|
By Martin Heller
WITH CHANGE COMES uncertainty. Windows NT 4.0 is no exception.
Here's the basic change in NT 4.0: the User, GDI (graphics device interface) and graphic device driver components have moved from the Win32 subsystem to the Windows NT Executive. The Win32 subsystem is a user-mode component of Windows NT, and the Executive is a kernel-mode component.
GDI is the part of Windows that implements graphical operations. User is the part of Windows that implements menus and windowing using the primitive graphical operations in GDI. Don't confuse User, the Windows system component, with user-mode, the state of CPU used to run applications and system components that aren't in the system kernel. Graphic device drivers translate between GDI's device-independent primitives and the actual operations needed to display graphics.
The benefits of this change are improved graphics performance and reduced memory requirements. However, existing display and print drivers won't run on NT 4.0, and new drivers won't run on previous versions of the operating system. Also, device driver writers can no longer use normal Windows API functions, but have to restrict themselves to services available in the Executive.
Security is another story. Formerly, the Windows NT Executive gave the graphics subsystem special privileges, so they could communicate directly with hardware. All kernel mode processes already have those privileges and more. In this regard, nothing has changed.
But the graphics subsystem ran in its own address space, which kept other processes from overwriting internal graphics structures, and kept the graphics code from affecting other processes. Now the graphics system components run in the same privileged kernel-mode address space as the Windows NT Executive, which means a badly behaved graphics device driver could overwrite data structures related to the file system, disk drivers or memory manager.
The defense in NT 4.0 is the same as in Windows 95 and 3.1x. Graphics device drivers have to be thoroughly tested and debugged before they're released. Device drivers are, and have always been, system components. An unreliable device driver in any system can make the device it drives unusable, which will eventually cause a system to crash.
The bottom line is, it'll be business as usual. From a user's viewpoint, you'll need new drivers before you can install NT 4.0 if you have an unusual video adapter. The drivers for most popular video cards will come with the system, so it won't matter. The potential downside caused by exposing kernel structures to the vagaries of the video drivers doesn't matter to users, although quite a few driver developers are burning the midnight oil getting things absolutely right. The advantage is the video system runs faster-and no one will complain about that.
|
|
|