中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 内存问题,急问 上一主题 | 下一主题
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
状态 离线
『第 14 楼』:  

另外楼主的MSCDEX这个光驱驱动占了不少空间啊



欢迎造访DOS的小屋!
http://risky.ik8.com
2005-9-30 12:21
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: