Memory conflicts can be caused by two
memory managers running at the same time. For instance, a third party
memory manager should never be used with one that is supplied with
MS-DOS. There are many diagnostic tools that can be used to diagnose
such problems including Microsoft Diagnostics (MSD) utility.
Memory conflict can lead to a condition called General Protection Fault (GPF). A GPF is a carryover from the 16-bit Windows 3.X era,
where Win 16 applications are run. A GPF will typically occur when an
application attempts to violate the system integrity by one of the
following ways:
- Tries to use a memory address or space owned by another
application
- Tries to interact with a failing hardware driver
- Tries to have direct access to the system hardware
Other conflicting situations arise when at any moment more than one
memory-resident routine (such as TSRs) is attempting to access the
same upper memory space (address). A GPF is usually manifested by a
stalling (not responding) of the system or the specific application(s)
that was running. The use of diagnostic utilities, mentioned earlier,
is necessary to allow a diagnosis of these conflicts. If the
conflicting applications are found, one way of resolving the problem
is to reassign different memory areas by using the various memory
management and optimization tools described earlier in this chapter.