PC Hardware

386 Enhanced Mode

The 386 protected mode can address up to 4 GB of memory, supports virtual memory, and allows multiple MS-DOS programs to run simultaneously. Beginning with Windows for Workgroups 3.11, only 386 enhanced mode is allowed in Windows for full operation. Real mode is still used in a limited way for advanced diagnostics and development.

As mentioned, Windows is a resource manager. It treats everything in the computer as a resource. Resources include memory, video, serial ports, and sound. All resources are presented to Windows through device drivers. Device drivers are simply files that know how to talk to Windows. When loaded, they allow Windows and a device to communicate. Almost all device drivers are stored in the \Windows\System directory. These drivers can be easily identified by their file extensions, which are .DRV or .386. Drivers with the extension .DRV are designed to work in standard and enhanced mode. Drivers with the extension .386 work only in enhanced mode.

Just like MS-DOS, Windows consists of three core files: KRNL386.EXE, USER.EXE, and GDI.EXE. These programs allocate and keep track of all system resources requested by the applications. They use a number of 64-KB storage areas of extended memory (called heaps) to keep track of which application is using which resource. They also have some ability to take away or reallocate resources (mainly RAM) from one application to another.

Applications are resource consumers. They must request access to any resource using very standardized subroutines called the application programming interface (API). Another file called a dynamic-link library (DLL) can speak to the Windows core directly. These small files store subroutines that either come with the compiler that created the application, or are made by the programmer. DLL files always end with the extension .DLL. Loss or corruption of DLL files will cause an application to lock up or prevent it from loading.

Some programs come with custom versions of DLLs that overwrite the standard DLL of the same name. If a problem occurs after loading a new application, installing a repair update of Windows might correct the problem, but can also render the new program useless. In such cases, you will need to consult with the program vendor or check the Microsoft Knowledge Base for more information on a fix.

When a program starts, it loads a small piece called a "stub" in conventional memory. This stub asks for RAM from KRNL386.EXE, which then allocates the amount of RAM as long as it is available. This area of RAM is known as a segment and its location is stored in a heap. Once loaded, a program can ask for resources as required. As long as there are resources to give, Windows will give them.

RAM is the most important resource that Windows must manage. As most users know, there never seems to be enough memory. Windows provides a way to gain memory when there is none. It uses virtual memory. Virtual memory means the ability to make something other than RAM chips hold data. Windows can create a special file (called a swap file) on the hard disk drive to act as a RAM chip. While running, Windows prioritizes programs and caches the lesser-used ones to the hard drive, thus allowing the most active program to use actual RAM.

To get around the problem of resetting the CPU in order to run an MS-DOS program, these later versions of Windows have the ability to run what is known as virtual 8086 mode. Virtual 8086 mode is an extension of 386 protected mode that allows for the creation of virtual 8086 machines. A virtual 8086 machine is a segment of RAM that operates as if it's an 8086 computer. Windows will run itself in one virtual machine (VM) and allocate another virtual machine to an MS-DOS program. Using several virtual machines, Windows can overcome the limitations of running only one MS-DOS program at a time.

Windows NT

In the summer of 1993, Microsoft released another operating system primarily for the professional market. When it was first introduced, it was used in relatively simple network installations. Over several revisions, it has been enhanced to support the needs of corporations ranging in size from small to large and, now, the needs of the Internet and intranets. As an operating system, Windows NT provides a high degree of networkability as well as high security levels not available in other operating systems. Windows NT uses the same GUI as Windows 3.x; therefore, making it an easy upgrade for anyone proficient in using the Windows operating system.

There are several versions of Windows NT, ranging from 3.0 through 4. In addition, there are Service Packs; inline fixes that do not change the version number. Windows NT provides three levels of operating system in each of the later versions:

  • Workstation: A powerful, robust operating system with limited networking to allow sharing of printers and files for the professional user.

  • Server: A complete LAN host with a variety of sophisticated features for managing users and access to printers, files, RAID installations, and other shared resources.

  • Advanced Server: The enterprise edition that adds tools for complex network environments.