Memory computer capable of running a multi-tasking system may have to deal with widely varying demands for memory. At some times, no users may be logged on and the only tasks running are the kernel and possibly a backup process. At other times, ten or more users may all be carrying out complex operations that demand lots of memory. Microsoft Windows versions 3. x provided a protected mode graphical operating environment that ran existing MS-DOS applications and allowed Windows applications to break the 640 K barrier. There are three types of memory that Windows 3.
x can use or provide (conventional, extended, and expanded). Conventional memory is the first 640 K of memory in your machine. MS- DOS has a limit of 1024 K of addressable memory (conventional memory plus the UMA), and all MS-DOS applications must run within this conventional memory. All Windows 3. x-operating modes share this limitation for running MS-DOS applications, but standard and 386 enhanced modes break the 640 K limitations for running Windows applications. Windows 3.
x enhanced mode can create multiple virtual MS- DOS machines (Memory). Between the top of conventional memory at 640 K and the start of extended memory at 1024 K lies the 384 K UMA. This area does not contain physical memory. Mapped into the 384 K UMA are the system BIOS (basic input / output system) ROM chips and the display adapter memory. When you install other accessory cards, such as network adapters, they may also occupy space within the 384 K UMA.
Extended memory is the simplest type of add-on memory to understand. It is also the type of memory used by Windows 3. x running in either standard or 386 enhanced operating mode. Extended memory is a seamless continuation of the original 1 MB address space on 80286 and 80386 computers. Extended memory always starts exactly at 1024 K, where the 384 K UMA ends. There are no exceptions (Memory).
Windows 3. 1 used swapping as part of its memory management scheme. The system supported concurrent execution of processes in memory. If a new process is loaded and there is insufficient main memory an old process is swapped to disk. This swapping process is called virtual memory. Windows 3.
1 used virtual memory, but since is a 16 bit system is didn't use is as effectively as Windows 95. Users of Windows 95 didn't have to worry about conventional, extended, or expanded memory... memory was installed and just used by the system. This made life easier for the user. Windows 95 uses a 32-bit code, which can move data at higher speed than the 16-bit code used by previous versions of Windows (Windows 3. 1, 3.
11, etc. ). As a result, Windows 95 memory management is more efficient, and printing and other tasks finish faster. At least in theory, the system is more stable. It's a fact that Windows 3. 1 x has nowhere near the memory management capabilities of Windows 95.
All Windows 3. 1 x users have experienced this lack of efficiency when your computers would 'hang' or 'crash'. Although these disasters seemed to happen for no apparent reason, they were often the result of opening and closing programs without periodically exiting Windows 3. 1 x and restarting your computer. Even if only one program is open at any given time, the mere opening and closing of a program can wreak havoc on memory in Windows 3. 1 x.
Because their is a finite amount of real memory (RAM) in your computer Windows 95 also used a virtual memory scheme to enable all active programs to share this limited resource. Each program is given 4 GB of virtual address space. This virtual memory is mapped to the Page Table. The Page Table maps the virtual memory to real RAM memory and that area on your hard disk called the swap file. The swap file will not be used until all of RAM is in use. The major difference between Windows 3.
x and Windows 95 was that 95 did this much faster and much more efficiently then 3. x. The Page Table is used to keep track of what is in RAM and what has gone to the swap file. If a program needs a certain block of data and it is not found in RAM memory then a page Fault occurs and the needed information is retrieved from the swap file. Windows 95 had to be backward compatible to run MSDOS programs. To do this the system had to run 16 bit as well as 32 bit programs.
The problem with this was that the system had to handle the 16-bit memory management different then the 32-bit memory management. It did this through the following (Windows 95): o Each MS-DOS program runs on separate virtual machine called a MS-DOS virtual machine. o A 16-bit application can send the processor only one thread of code at a time for execution. o A 32-bit application can send the processor multiple threads of code at a time for execution. o When one 16-bit application stops responding, all 16-bit applications stop responding. The 32-bit applications are not affected.
Ending the hung up application will cause other 16-bit applications to respond once again. o When a 32-bit application stops responding, no other applications are affected. Memory management will always be an issue with any operating system. Good management means the system will operate faster and more efficiently and bad management means the system will be slow and crash.