处理内存冲突故障的方法
Pc机的内存有许多的选择、大旦的干扰,不同的运行环境也有不同的需求,比如系统中只运行WINDOWS应用程序和小型的DOS程序,就不必使用EMM386。WIND0wS自己可以 很好地管理各种内存。而如果要运行需常规ABC电子内存多的大型D〔)s应用程序(如FoxPro forDos),就应使用EMM386管理uMB,以便将一些设备驱动程序相T5R装入高端内存。但还要保留一部分自由空间,因为wINDows至少需要4Ks连续内存块来进行一股的内存管理 工作。
当发生内存冲突时,我们首先应该检查KMM386的工作情况。做一个启动盘,在盘上的CoNFIG.SYS文件中仅安装HIMEM.SYS和EMM386.ExE,然后用此软盘启动机器。安装EMM386命令时应带NoEMS参数排除对扩展内存的使用如:
DEVICE=C:\DOS\EMM386.Ex辽NoEM5x=A000一配FFF
这张启动盘上的AuTOExEc BAT文件中应包含路径命令:
PATH=C:\DOS
如果用该盘不能启动系统,就说明HIMEM或硬件有故障。如能启动,说明冲突在Aooo 一[FFF地址空间。我们可以用下面介绍的方法来检测故障所在。
(1)常驻程序增减法。一般IC现货商EMM386出现故障,很可能与其它应用程序、设备驱动程序、常驻程序或适配器上的硬件发生丁冲突。
首先检查装在高内存区的基于D()S的设备驱动程序相TSR程序。苦认为某些TsR程序 或驱动程序可能导致冲突,那么就得将它们装入常规内存。如果此时故障消失,再将它们逐个地装入高端内存,以查明是哪—个程序导致不兼容故障。如果此时故障仍然存在,就将所有了5R或设备驱动程序都不装,然后再把它们逐个装入常规内存,以查出哪一个程序导致故障。
如果DOs的TsR或驱动程序都检查过仍无法确定故障所在,那就有可能是程序和 wIN凹ws发生了不兼容的故障。检查方法同DOS。
如果认为冲突是某一适配器上的硬件设备,就废查出该硬件所使用的内存地址,然后用 NO[MS参数禁止EMM386使用该内存区域。如网年地址为D800—DFFF,则在CONFIG sYs中就进行如下设置:
DEVICK=C:\DOS亿MM386.[xE NOEMS x=D800一DFFF
(2)x参数搜索法。为了不和各种RoM/RAM所占空间冲突,我们只能在RoM/RAM 所占空间中去寻找那些没有使用的空间。各种适配卡上的ROM/RAM所占地址一般在
随机文件中可以查到。对于768KB以上的R()M BI()S所占用的空间中包括一些同计算机硬件进行通信的重要程序,这些程序负责启动硬件和启动之后同硬件的通信工作。其中的启动程序只在计算机加电时使用一次,以后只ABC电子要不关机就再也不用。比如系统BIos占据Fooo—FFFF之间的64K地址,如果前32KB是启动程序的话,我们就可把这部分空间挪用作为uMBo。
能挪用的RoM空间到底有多大?怎样才能知道那些空间可以挪用?这要通过测试才知道。一般ROM的设计者常常把可以挪用的程序放在ROM的开始位置。这样我们可以从ROM的低部开始逐步向上搜索,这就是x参数搜索法。
在进行下一步工作之前,先准备一张启动盘。开始时,通过参数x=Fooo—FoFF来包括RoM的前4KB,然后重新启动系贴片钽电容统,进行相应的测试,持别要进行软盘和硬盘数据的读写测试。只要能够对软盘和硬盘的数据进行正确的读写,哲认为没有问题,继续进行下一步搜索。通过I=Fooo—nFF可以增加4KB纳RoM空间。这样一直做下去,直到引起死机的现象。这时我们便找到了可以挪用的RoM最大空间。hymsm%ddz
处理内存冲突故障的方法
Pc机的内存有许多的选择、大旦的干扰,不同的运行环境也有不同的需求,比如系统中只运行WINDOWS应用程序和小型的DOS程序,就不必使用EMM386。WIND0wS自己可以 很好地管理各种内存。而如果要运行需常规ABC电子内存多的大型D〔)s应用程序(如FoxPro forDos),就应使用EMM386管理uMB,以便将一些设备驱动程序相T5R装入高端内存。但还要保留一部分自由空间,因为wINDows至少需要4Ks连续内存块来进行一股的内存管理 工作。
当发生内存冲突时,我们首先应该检查KMM386的工作情况。做一个启动盘,在盘上的CoNFIG.SYS文件中仅安装HIMEM.SYS和EMM386.ExE,然后用此软盘启动机器。安装EMM386命令时应带NoEMS参数排除对扩展内存的使用如:
DEVICE=C:\DOS\EMM386.Ex辽NoEM5x=A000一配FFF
这张启动盘上的AuTOExEc BAT文件中应包含路径命令:
PATH=C:\DOS
如果用该盘不能启动系统,就说明HIMEM或硬件有故障。如能启动,说明冲突在Aooo 一[FFF地址空间。我们可以用下面介绍的方法来检测故障所在。
(1)常驻程序增减法。一般IC现货商EMM386出现故障,很可能与其它应用程序、设备驱动程序、常驻程序或适配器上的硬件发生丁冲突。
首先检查装在高内存区的基于D()S的设备驱动程序相TSR程序。苦认为某些TsR程序 或驱动程序可能导致冲突,那么就得将它们装入常规内存。如果此时故障消失,再将它们逐个地装入高端内存,以查明是哪—个程序导致不兼容故障。如果此时故障仍然存在,就将所有了5R或设备驱动程序都不装,然后再把它们逐个装入常规内存,以查出哪一个程序导致故障。
如果DOs的TsR或驱动程序都检查过仍无法确定故障所在,那就有可能是程序和 wIN凹ws发生了不兼容的故障。检查方法同DOS。
如果认为冲突是某一适配器上的硬件设备,就废查出该硬件所使用的内存地址,然后用 NO[MS参数禁止EMM386使用该内存区域。如网年地址为D800—DFFF,则在CONFIG sYs中就进行如下设置:
DEVICK=C:\DOS亿MM386.[xE NOEMS x=D800一DFFF
(2)x参数搜索法。为了不和各种RoM/RAM所占空间冲突,我们只能在RoM/RAM 所占空间中去寻找那些没有使用的空间。各种适配卡上的ROM/RAM所占地址一般在
随机文件中可以查到。对于768KB以上的R()M BI()S所占用的空间中包括一些同计算机硬件进行通信的重要程序,这些程序负责启动硬件和启动之后同硬件的通信工作。其中的启动程序只在计算机加电时使用一次,以后只ABC电子要不关机就再也不用。比如系统BIos占据Fooo—FFFF之间的64K地址,如果前32KB是启动程序的话,我们就可把这部分空间挪用作为uMBo。
能挪用的RoM空间到底有多大?怎样才能知道那些空间可以挪用?这要通过测试才知道。一般ROM的设计者常常把可以挪用的程序放在ROM的开始位置。这样我们可以从ROM的低部开始逐步向上搜索,这就是x参数搜索法。
在进行下一步工作之前,先准备一张启动盘。开始时,通过参数x=Fooo—FoFF来包括RoM的前4KB,然后重新启动系贴片钽电容统,进行相应的测试,持别要进行软盘和硬盘数据的读写测试。只要能够对软盘和硬盘的数据进行正确的读写,哲认为没有问题,继续进行下一步搜索。通过I=Fooo—nFF可以增加4KB纳RoM空间。这样一直做下去,直到引起死机的现象。这时我们便找到了可以挪用的RoM最大空间。hymsm%ddz