|
xixixiao
初级用户
积分 28
发帖 9
注册 2005-9-29
状态 离线
|
『楼 主』:
内存问题,急问
我按照新dos时代斑竹的config.sys设置以后,发现我的Upper Memory Block只几k,而他的就有102k,这是为什么啊。
|
|
2005-9-29 10:33 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
2 楼』:
Re xixixiao:
请贴出你的 config.sys 和 autoexec.bat 文件以及你所查看到的内存使用报告,以便查明问题所在;以后有此类问题,也请贴出相关文件内容以及作用结果。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2005-9-29 16:19 |
|
|
xixixiao
初级用户
积分 28
发帖 9
注册 2005-9-29
状态 离线
|
『第
3 楼』:
是这样的配置
这是我在新dos时代copy下来的。我用的是MS-DOS7.10。其中,hiram.exe由于在dos软件下载中没有链接,所以我从其他地方拿到的。下面的config.sys就是那位斑竹的。然后这是他的mem /c/p后的结果。我做了同样的设置但是不行。upper memory总是出不来。
device=d:\dos\echo.sys L/o/a/d/i/n/g CONFIG.SYS...
device=d:\dos\echo.sys
device=d:\dos\umbpci.sys
device=d:\dos\hiram.exe
devicehigh=d:\dos\himem.sys
devicehigh=d:\dos\setver.exe
devicehigh=d:\dos\ifshlp.sys
devicehigh=d:\dos\vide-cdd.sys /d:IDE-CD
shell=d:\dos\command.com /p /e:640
set temp=e:\temp
set tmp=e:\temp
accdate=c+ d+ e+
dos=high,umb,auto
country=086
numlock=off
fileshigh=30
buffershigh=30,0
stackshigh=9,256
lastdrivehigh=n
Modules using memory below 1 MB:
Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 32,736 (32K) 9,664 (9K) 23,072 (23K)
HIMEM 1,168 (1K) 0 (0K) 1,168 (1K)
SETVER 864 (1K) 0 (0K) 864 (1K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
CLOAKING 1,168 (1K) 0 (0K) 1,168 (1K)
IFSHLP 2,864 (3K) 0 (0K) 2,864 (3K)
COMMAND 7,424 (7K) 0 (0K) 7,424 (7K)
KILLER 400 (0K) 0 (0K) 400 (0K)
WATCH 3,392 (3K) 0 (0K) 3,392 (3K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
DOSKEY 5,744 (6K) 0 (0K) 5,744 (6K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
ZENO 1,376 (1K) 0 (0K) 1,376 (1K)
ESCAPE 496 (0K) 0 (0K) 496 (0K)
Free 750,080 (732K) 645,328 (630K) 104,752 (102K)
Memory Summary:
Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 10,032 645,328
Upper 163,904 59,152 104,752
Reserved 393,216 393,216 0
Extended (XMS) 49,119,168 82,880 49,036,288
---------------- ----------- ----------- -----------
Total memory 50,331,648 545,280 49,786,368
Total under 1 MB 819,264 69,184 750,080
Largest executable program size 645,312 (630K)
Largest free upper memory block 103,952 (102K)
Available space in High Memory Area 5,360 (5K)
MS-DOS is resident in the high memory area.
|
|
2005-9-29 17:04 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
4 楼』:
Re xixixiao:
那你的 memeory map 呢?这才是最关键的!
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2005-9-29 17:29 |
|
|
xixixiao
初级用户
积分 28
发帖 9
注册 2005-9-29
状态 离线
|
『第
5 楼』:
这是我的memory map
我不知道可不可以上传图片,我只能用这种方式了。
附件
1: 1.JPG (2005-9-29 17:42, 50.54 K, 下载附件所需积分 1 点
,下载次数: 1)
附件
2: 2.JPG (2005-9-29 17:42, 45.58 K, 下载附件所需积分 1 点
,下载次数: 1)
|
|
2005-9-29 17:37 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
6 楼』:
Re xixixiao:
从你的 map 来看,应该是使用了 emm386 的缘故,它会占用大量的 UMB 作为页面帧,因此你的 config.sys 应该是不同于你贴出的原文的。详细的信息,你可以搜索查阅本站关于 “DOS内存管理” 的文章。
Quote: | EMM386.EXE实际上是一个扩充内存(Expanded Memroy, 其协议为EMS)管理程序,他的主要作用是在保留内存(Reserved Memory,384KB)中创建上端内存块(Upper Memory Block,UMB,大小不定且不一定连续)后利用它将扩展内存(Extended Memory, 其协议为XMS)模拟为扩充内存。
开关 "/RAM" 指示EMM386在上端内存块中创建一个64KB的扩充内存所需要的页面帧(page frame),页面帧相当于一个窗口,可以允许程序通过这个它访问任意位置的扩充内存,但是同一时刻只能访问64K,另外EMM386还需要44KB的UMB表格管理扩充内存中将要与页面帧进行的内存块,所以总共会消耗114KB的UMB空间。
开关 "/NOEMS" 则可以禁止模拟扩充内存, 从而回收UMB中64KB的页面帧空 间,那可以使更多的程序通过DEVICEHIGH(CONFIG.SYS)和LH(AUTOEXEC.BAT)加载入UMB中(需要DOS=UMB支持),从而节约有限的基本内存(Conventional Memory,640KB)。 |
|
[ Last edited by willsort on 2005-9-29 at 17:56 ]
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2005-9-29 17:43 |
|
|
xixixiao
初级用户
积分 28
发帖 9
注册 2005-9-29
状态 离线
|
『第
7 楼』:
对5楼的补充
那个free中的upper memory 7k本来是没有的,是我在hiram后加了一句himem.exe noems novcpi i=b600-b7ff才有的,
|
|
2005-9-29 17:45 |
|
|
xixixiao
初级用户
积分 28
发帖 9
注册 2005-9-29
状态 离线
|
『第
8 楼』:
继续请教config.sys是在c:\还是在c:\dos71我的安装目录下?
|
|
2005-9-29 17:46 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
9 楼』:
Re xixixiao:
一般情况下,config.sys 在根目录下才会被 IO.SYS 所读取。安装目录下可能会保留它的备份。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2005-9-29 17:52 |
|
|
xixixiao
初级用户
积分 28
发帖 9
注册 2005-9-29
状态 离线
|
『第
10 楼』:
天啊。那我完了。彻底服输了。
是不是我用VmWare做虚拟会引起不同?
|
|
2005-9-29 17:58 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
11 楼』:
Re xixixiao:
VMWare 应该不会有什么不同,还应该是你的启动环境的问题。请查看根目录下是否有 config.old/config.w40/config.dos/cofig.000 之类的文件,以及 msdos.sys 中是否有异常。emm386似乎在某些情况下会自动加载,如同ifshlp一样,但我不清楚其中的细节。
另外,VM下应该可以拷贝文字吧,贴图是有些奢侈了。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2005-9-29 18:10 |
|
|
xixixiao
初级用户
积分 28
发帖 9
注册 2005-9-29
状态 离线
|
『第
12 楼』:
我继续观察
用F8我发现在调用HIRAM以后,EMS是 not found。而游戏里面应该会要这个东西。EMM386可以加载,那个HIRAM行吗,还是我参数不对?
[ Last edited by xixixiao on 2005-9-29 at 18:18 ]
|
|
2005-9-29 18:15 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
13 楼』:
Re xixixiao:
EMS 并不是所有的游戏都必需的,这个你可以查看一下游戏的对应说明,或不加载 emm386 启动游戏测试一下。如果确需 ems ,hiram 应该无法提供,必须使用emm386 时,可以适当使用一些参数来扩充 UMB ;实在不行,就将 config.sys 做成多启动环境,专为游戏做一个。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2005-9-29 18:48 |
|
|
fdsiuha
高级用户
闷
积分 587
发帖 302
注册 2005-7-25
状态 离线
|
|
2005-9-30 12:21 |
|