The Virtual Memory Manager (VMM) supports memory usage both at the MS-DOS 7 level and the GUI. At the MS-DOS 7 level, VMM does little more than load a simple MS-DOS. When the GUI is loaded, VMM takes advantage of the power of 386 (and better) protected mode to create virtual machines (VMs)-one for Windows 95 and one for any MS-DOS program running in Windows 95. Along with the VMM is the Installable File System (IFS), which provides support for hard drives, CD-ROMs, and network drives. The IFS also provides the support for long filenames. The IFS runs both for MS-DOS 7 and the GUI.
While the GUI is running, the main functions of Windows 95 are handled by three core operating components:
The kernel: loads applications, handles all aspects of I/O, and allocates virtual memory.
The user component: handles all input from the user-mouse, keyboard and so forth.
The graphical device interface (GDI) modules: provide routines that draw the images on the display.
Windows 95 applications use the operating system as a pool of resources (memory, modem, video, and printer). Programs or dynamic-link libraries (DLLs) make "calls" to these three modules whenever they need to place something on the screen, check the status of the mouse, use memory, or gain access to anything else they might need. This operates similarly to Windows 3.x. However, there are also major improvements:
Most functions run in full 32-bit protected mode. Win 3.x functions run in 16-bit real mode.
Windows 95 runs as a preemptive multitasker, allocating time to each program. Win 3.x offered a cooperative multitasking feature that made it possible for programs to take turns using processor time.
In Windows 95, GDI and the user component use fixed memory areas called heaps to keep track of all resources. Heaps for Windows 3.x are 64 KB in size. Improvements with hardware and applications have proven that 64 KB is often too little and frequently causes problems. Windows 95 heaps are variable in size and no longer subject to this restriction.
The user interface is at the top of the Windows 95 architecture. Windows 95 can use either its default interface, the Windows 3.x interface, or another interface. Old Windows and MS-DOS applications run within the GUI.