支持himem和emm386的内存管理,可以突破dos的640K常规内存的限制

来源:百度知道 编辑:UC知道 时间:2024/06/06 16:13:51
不理解啊 各位大大 详细说明哈 谢谢啦``

DOS的640KB内存限制是一个非常古老的问题,在此我来讲一下:
1.最初电脑只有20根地址线(20bit),所以能访问的最大内存容量为2^20=1024KB=1M,即只能访问1MB的内存,这1MB的内存有384KB是留给视频ROM或其他的系统资源,所以用户只能使用640KB的内存资源。这就是所谓的640KB内存限制。

2.虽然现在的电脑内存都是1G、2G或更大,但是若工作在MS-DOS实模式(不加载任何驱动的DOS模式。并不是WINDOWS中的CMD)时,电脑仍旧只能使用1MB内存,所以也存在所谓的640KB内存限制。

3.EMM386和HIMEM.SYS是MS-DOS提供的内存管理程序,能够使你访问到1MB以上的内存。
//==EMM386==//
上面所说的在1MB的内存中,系统占384KB,实际上这384KB中还有一些碎片没有被占用,而EMM386的作用就是把这些内存碎片组合起来,供应用程序使用(只能被一个程序使用),所以EMM386能帮你突破640KB内存限制。
与EMM386相类似的一个设备驱动程序是UMBPCI.SYS(从网上下载),它能够更有效地收集内存碎片。

//==HIMEM.SYS==//
HIMEM.SYS驱动程序直接就可以让你访问到你的1G或2G的内存空间。更能突破640KB内存限制。

所以现在的内存限制并不是真正的内存限制(物理方面),而是软件管理方面的问题。
你只要在CONFIG.SYS文件中加入下述命令即可
device=himem.sys /MEMTEST:OFF
DEVICE=EMM386.EXE /NOEMS
DOS=HIGH,UMB